分区调整如何不丢失数据?

在Linux系统中调整磁盘大小是一项需要谨慎操作的任务,涉及分区、文件系统及逻辑卷管理,以下是详细操作指南,请务必提前备份重要数据,并在非生产环境测试后再执行。


调整前的关键准备

  1. 备份数据
    使用 rsync 或 dd 命令备份整个磁盘,

    rsync -av /mnt/data/ /backup/  # 备份目录
    dd if=/dev/sda1 of=/backup/sda1.img bs=4M  # 备份整个分区
  2. 检查磁盘状态
    • 确认磁盘挂载点:df -h
    • 查看分区表:sudo fdisk -l
    • 检查文件系统类型:lsblk -f
  3. 卸载分区(必须步骤)
    sudo umount /dev/sda1  # 替换为你的分区

调整分区大小(非LVM场景)

方法1:使用 parted(推荐)

sudo parted /dev/sda  # 进入交互模式
(parted) resizepart 1  # 选择分区号(例如分区1)
End? [旧值] 20GB      # 输入新结束位置(如扩容至20GB)
(parted) quit

方法2:使用 fdisk

sudo fdisk /dev/sda```
> **注意**:  
> - 分区只能向磁盘末尾方向扩展,不能缩小(除非先缩小文件系统)。  
> - 操作后需用 `partprobe` 更新内核分区表。
---
### **三、调整文件系统大小**
#### **EXT2/3/4 文件系统**(使用 `resize2fs`)
```bash
sudo resize2fs /dev/sda1  # 自动扩展到分区最大容量
sudo resize2fs /dev/sda1 15G  # 精确缩小至15GB(需先缩小分区)

XFS 文件系统(仅支持扩容)

sudo xfs_growfs /mnt/data  # 直接对挂载点操作(无需卸载)

Btrfs 文件系统

sudo btrfs filesystem resize +5G /mnt/data  # 增加5GB
sudo btrfs filesystem resize 10G /mnt/data   # 设置为10GB

LVM逻辑卷调整(推荐方案)

LVM(Logical Volume Manager)支持动态调整,更安全灵活。

扩展物理卷(PV)

sudo pvresize /dev/sdb1  # 调整已存在的PV

扩展逻辑卷(LV)

sudo lvextend -L +10G /dev/vg01/lv_data  # 增加10GB
sudo lvresize --size 30G /dev/vg01/lv_data  # 直接设为30GB

扩展文件系统

# EXT4
sudo resize2fs /dev/vg01/lv_data
# XFS
sudo xfs_growfs /mnt/data

缩小逻辑卷(谨慎操作)

sudo umount /mnt/data
sudo e2fsck -f /dev/vg01/lv_data  # 强制检查EXT4文件系统
sudo resize2fs /dev/vg01/lv_data 15G  # 先缩小文件系统
sudo lvreduce -L 15G /dev/vg01/lv_data  # 再缩小LV
sudo mount /dev/vg01/lv_data /mnt/data

关键注意事项

  1. 操作顺序
    扩容:调整分区 → 调整物理卷(LVM)→ 调整逻辑卷 → 调整文件系统
    缩容:备份 → 卸载 → 缩小文件系统 → 缩小逻辑卷/分区
  2. 风险规避
    • 缩容前必须用 e2fsck -f 检查EXT文件系统。
    • XFS 不支持缩小,需备份后重建分区。
    • 使用 dmesg | grep error 检查操作后错误日志。
  3. 工具依赖
    • 安装必要工具:sudo apt-get install e2fsprogs xfsprogs parted(Debian/Ubuntu)
    • 使用 fsck 修复文件系统损坏。

常见问题解决

  • 分区调整后系统未识别:
    执行 partprobe -s 或重启系统。
  • “设备忙”错误:
    确保分区已卸载,终止占用进程:lsof /mnt/data。
  • LVM空间不足:
    添加新物理卷:sudo vgextend vg01 /dev/sdc1。

调整磁盘大小是高风险操作,严格遵循备份→检查→分步执行流程,对于生产环境,建议在专业运维人员指导下进行,LVM提供了更灵活的存储管理方案,推荐优先使用。

引用说明:

  • Linux man pages: man fdisk, man parted, man lvm
  • The Linux Documentation Project (tldp.org)
  • Ubuntu Server Guide: Disk Management
  • Red Hat Enterprise Linux Storage Administration Guide

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5679.html

赞 (0)
酷番叔酷番叔
上一篇 2025年6月27日 04:11
下一篇 2025年6月27日 04:38

相关推荐

  • Linux中mv命令如何实现文件自动替换而不提示覆盖?

    在Linux系统中,使用mv命令移动文件时,默认行为是如果目标位置已存在同名文件,系统会提示用户是否覆盖(mv: overwrite ‘file.txt’?),需要手动输入y确认或n取消,这种交互式操作在批量处理文件时效率较低,因此很多场景下需要让mv命令自动替换目标文件,无需手动确认,实现这一目标的方法主要有……

    2025年9月18日
    20900
  • Linux系统如何进入图形界面(GUI)的具体操作步骤是什么?

    在Linux系统中,图形用户界面(GUI)的进入方式取决于系统的安装配置、桌面环境(Desktop Environment, DE)以及显示管理器(Display Manager, DM)的设置,Linux GUI通常基于X11窗口系统或Wayland显示协议,搭配GNOME、KDE Plasma、XFCE等桌……

    2025年10月1日
    24400
  • Linux如何删除文件?命令方法与安全操作指南

    在Linux操作系统中,删除文件是日常管理和维护中常见的操作,但不同场景下需要使用不同的命令和方法,以确保操作的安全性和准确性,Linux提供了多种删除文件的命令,如rm、rmdir、find、unlink等,每种命令都有其特定的适用场景和功能,本文将详细介绍这些命令的使用方法、选项参数以及注意事项,帮助用户在……

    2025年8月28日
    1.8K00
  • 如何查看U盘名称?

    准备工作获取Linux镜像文件(ISO)从官方发行版网站下载(如Ubuntu、Fedora、Debian官网),验证文件完整性:对比官网提供的SHA256或MD5校验值(Windows用HashCheck,Linux/macOS用终端命令 sha256sum 文件名.iso),选择存储介质U盘:容量≥8GB,U……

    2025年7月6日
    19500
  • Linux系统下如何重启Apache服务?

    在Linux系统中,Apache作为广泛使用的Web服务器软件,其重启操作是管理员日常维护中的常见任务,无论是修改了配置文件、更新了模块,还是解决了服务异常,正确重启Apache都能确保新配置生效或服务恢复正常,不同Linux发行版和Apache安装方式可能导致重启命令略有差异,但核心逻辑一致,本文将详细介绍L……

    2025年9月23日
    19600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信