在Linux系统中调整磁盘大小是一项需要谨慎操作的任务,涉及分区、文件系统及逻辑卷管理,以下是详细操作指南,请务必提前备份重要数据,并在非生产环境测试后再执行。
调整前的关键准备
- 备份数据
使用rsync
或dd
命令备份整个磁盘,rsync -av /mnt/data/ /backup/ # 备份目录 dd if=/dev/sda1 of=/backup/sda1.img bs=4M # 备份整个分区
- 检查磁盘状态
- 确认磁盘挂载点:
df -h
- 查看分区表:
sudo fdisk -l
- 检查文件系统类型:
lsblk -f
- 确认磁盘挂载点:
- 卸载分区(必须步骤)
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
关键注意事项
- 操作顺序
扩容:调整分区 → 调整物理卷(LVM)→ 调整逻辑卷 → 调整文件系统
缩容:备份 → 卸载 → 缩小文件系统 → 缩小逻辑卷/分区 - 风险规避
- 缩容前必须用
e2fsck -f
检查EXT文件系统。 - XFS 不支持缩小,需备份后重建分区。
- 使用
dmesg | grep error
检查操作后错误日志。
- 缩容前必须用
- 工具依赖
- 安装必要工具:
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