首页主机资讯Linux分区怎样进行磁盘缩容

Linux分区怎样进行磁盘缩容

时间2025-11-26 19:50:03发布访客分类主机资讯浏览597
导读: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 不支持缩容(见文末替代方案)。
  1. 准备与检查
  • 查看状态:df -hT、lvs、vgs、pvs;确认目标 LV 已用空间小于计划缩小后的大小。
  • 如该 LV 为根分区或无法卸载,准备 LiveCD/救援模式或迁移业务后再操作。
  1. ext4 文件系统缩容流程(先文件系统,后 LV)
  • 卸载:umount /mount-point
  • 强制检查:e2fsck -f /dev/vgname/lvname
  • 缩小文件系统到目标值(示例:缩至 35G):resize2fs /dev/vgname/lvname 35G
  • 缩小逻辑卷到同一目标值:lvreduce -L 35G /dev/vgname/lvname
  • 重新挂载:mount -amount /mount-point
  • 验证:df -hT、lvs 检查容量是否生效。
  1. 从卷组中移除物理卷(可选,释放磁盘)
  • 若需把某块盘从 VG 中下线,先迁移数据:pvmove /dev/sdb
  • 从卷组移除:vgreduce vgname /dev/sdb
  • 清理物理卷元数据:pvremove /dev/sdb

三、非 LVM 分区缩容步骤

  • 适用于直连在磁盘分区上的 ext4 等文件系统(XFS 同理由迁移替代)。
  • 基本思路:先缩小文件系统,再用分区工具调整分区大小,最后检查并挂载。
  1. 缩小文件系统(离线)
  • 卸载:umount /mount-point
  • 强制检查:e2fsck -f /dev/sdXn
  • 缩小到目标值(示例:35G):resize2fs /dev/sdXn 35G
  1. 调整分区大小(两种常用工具)
  • parted(推荐,支持在线调整某些类型分区):
    • 启动:parted /dev/sdX
    • 调整分区终点:resize 1 0% 35G(示例将分区 1 调整到 35GB)
    • 退出:quit
  • fdisk(删除后重建,注意起始扇区保持一致):
    • fdisk /dev/sdX → 记录原分区的起始扇区 → d 删除 → n 新建同起始扇区、缩小后的终点 → 保存 w
  1. 检查并挂载
  • 检查: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
Linux分区怎样进行磁盘格式化 Linux分区怎样进行磁盘克隆

游客 回复需填写必要信息