Linux分区怎样进行磁盘缩容
导读:Linux 磁盘缩容实操指南 一、先判断场景与限制 确认是否使用 LVM:执行 pvs / vgs / lvs 查看是否存在 PV/VG/LV;LVM 场景可在不影响业务的前提下在线调整容量边界(仍需按文件系统规则执行)。 确认文件系统类...
Linux 磁盘缩容实操指南
一、先判断场景与限制
- 确认是否使用 LVM:执行 pvs / vgs / lvs 查看是否存在 PV/VG/LV;LVM 场景可在不影响业务的前提下在线调整容量边界(仍需按文件系统规则执行)。
- 确认文件系统类型:df -hT。若为 XFS,仅支持在线扩容,不支持在线缩容;要缩小容量通常需迁移数据后重建文件系统。若为 ext2/ext3/ext4,支持先缩小文件系统再缩小逻辑卷/分区。
- 缩容前务必:备份重要数据、在业务低峰期操作、在测试环境演练;缩容的核心原则是“先文件系统、后卷/分区”,且目标大小必须大于已用空间。
二、LVM 场景缩容步骤
- 适用于:ext4 可直接缩容;XFS 不支持缩容(见文末替代方案)。
- 准备与检查
- 查看状态:df -hT、lvs、vgs、pvs;确认目标 LV 已用空间小于计划缩小后的大小。
- 如该 LV 为根分区或无法卸载,准备 LiveCD/救援模式或迁移业务后再操作。
- ext4 文件系统缩容流程(先文件系统,后 LV)
- 卸载:umount /mount-point
- 强制检查:e2fsck -f /dev/vgname/lvname
- 缩小文件系统到目标值(示例:缩至 35G):resize2fs /dev/vgname/lvname 35G
- 缩小逻辑卷到同一目标值:lvreduce -L 35G /dev/vgname/lvname
- 重新挂载:mount -a 或 mount /mount-point
- 验证:df -hT、lvs 检查容量是否生效。
- 从卷组中移除物理卷(可选,释放磁盘)
- 若需把某块盘从 VG 中下线,先迁移数据:pvmove /dev/sdb
- 从卷组移除:vgreduce vgname /dev/sdb
- 清理物理卷元数据:pvremove /dev/sdb
三、非 LVM 分区缩容步骤
- 适用于直连在磁盘分区上的 ext4 等文件系统(XFS 同理由迁移替代)。
- 基本思路:先缩小文件系统,再用分区工具调整分区大小,最后检查并挂载。
- 缩小文件系统(离线)
- 卸载:umount /mount-point
- 强制检查:e2fsck -f /dev/sdXn
- 缩小到目标值(示例:35G):resize2fs /dev/sdXn 35G
- 调整分区大小(两种常用工具)
- parted(推荐,支持在线调整某些类型分区):
- 启动:parted /dev/sdX
- 调整分区终点:resize 1 0% 35G(示例将分区 1 调整到 35GB)
- 退出:quit
- fdisk(删除后重建,注意起始扇区保持一致):
- fdisk /dev/sdX → 记录原分区的起始扇区 → d 删除 → n 新建同起始扇区、缩小后的终点 → 保存 w
- 检查并挂载
- 检查:e2fsck -f /dev/sdXn
- 挂载:mount /mount-point
- 验证:df -hT
四、XFS 缩容的可行替代方案
- 由于 XFS 不支持缩小,常用做法是通过数据迁移实现“等效缩容”:
- 方案 A(同卷组内部腾挪):
- 在 VG 中先创建新 LV(如 lvnew 35G),格式化为 XFS 并挂载;
- 停止业务,拷贝数据:rsync -aAX /old-mount/ /new-mount/;
- 校验一致性后,卸载旧 LV,按需 lvremove 旧 LV,释放空间给其它 LV 使用。
- 方案 B(新盘/新 VG 迁移):
- 新增磁盘/创建新 VG 与 LV,格式化为 XFS,迁移数据后切换挂载点,再回收旧盘/旧 PV。
- 方案 C(必须缩小且保留原盘符):
- 备份数据后,使用 mkfs.xfs -f /dev/vgname/lvname 重建文件系统(会清空数据),再恢复数据。
- 提示:若只是“把空闲空间归还给存储/宿主机”,在虚拟化/云环境中更安全的做法是扩容新盘、迁移数据、再释放旧盘。
五、常用命令速查
- 状态查看:df -hT、lsblk、pvs、vgs、lvs
- LVM 调整:lvreduce -L SIZE /dev/vg/lv、lvextend -L SIZE /dev/vg/lv
- 文件系统:
- ext2/3/4:e2fsck -f、resize2fs
- XFS:xfs_growfs(仅增大)
- 分区调整:parted /dev/sdX resize、fdisk /dev/sdX
- 风险提示:任何缩容前请先完整备份,并在测试环境验证;操作失误可能导致数据不可恢复。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux分区怎样进行磁盘缩容
本文地址: https://pptw.com/jishu/757020.html
