首页主机资讯Linux分区如何扩容与缩容

Linux分区如何扩容与缩容

时间2025-11-24 18:44:04发布访客分类主机资讯浏览1022
导读:Linux 分区扩容与缩容实操指南 一、前置检查与基本原则 确认文件系统类型:ext2/ext3/ext4 支持在线扩容与缩容;XFS 仅支持在线扩容,不支持缩容。缩容前务必确保数据已备份。 确认是否使用 LVM:LVM 能在卷组内灵活调...

Linux 分区扩容与缩容实操指南

一、前置检查与基本原则

  • 确认文件系统类型:ext2/ext3/ext4 支持在线扩容与缩容;XFS 仅支持在线扩容,不支持缩容。缩容前务必确保数据已备份。
  • 确认是否使用 LVM:LVM 能在卷组内灵活调配空间,非 LVM 受限于相邻未分配空间位置,扩容通常要求未分配空间与目标分区相邻且位于其后
  • 基本流程:扩容时先扩展“分区/逻辑卷”,再扩展“文件系统”;缩容时先缩小“文件系统”,再缩小“分区/逻辑卷”。
  • 常用命令:df -hTlsblkgrowpartparted/fdiske2fsckresize2fsxfs_growfslvextend/lvreducevgdisplay

二、非 LVM 场景

  • 扩容步骤(物理盘或云盘已扩容,且新增空间与目标分区相邻)
    1. 查看磁盘与分区:
      • 查看分区表与容量:fdisk -l
      • 查看文件系统与挂载:df -hT
    2. 扩展分区表(适用于 MBR/GPT 的单分区盘):
      • 安装工具:yum install -y cloud-utils-growpart
      • 扩展第 1 分区:growpart /dev/vdb 1
    3. 扩展文件系统:
      • ext2/ext3/ext4:resize2fs /dev/vdb1
      • XFS:xfs_growfs /mount/point(如 xfs_growfs /
    4. 验证:df -hT
  • 缩容步骤(仅 ext2/ext3/ext4 支持,且需先卸载)
    1. 卸载分区:umount /dev/sdXN;若忙,用 fuser -mvki /mount/point 结束占用进程。
    2. 强制检查:e2fsck -f /dev/sdXN
    3. 缩小文件系统到目标大小:resize2fs /dev/sdXN < 目标大小> (必须大于已用空间
    4. 缩小分区:
      • MBR 用 fdisk 删除并重建分区(保持起始扇区不变、调整结束扇区)
      • GPT 用 parted 的 resizepart
    5. 重新挂载并验证:mount /dev/sdXN /mount/point & & df -h
  • 重要限制
    • XFS 不支持缩容;非 LVM 缩容必须卸载;若未分配空间不在目标分区之后,需先移动分区或备份后重建。

三、LVM 场景

  • 扩容步骤
    • 扩展逻辑卷(LV):
      • 指定大小:lvextend -L 120G /dev/mapper/vg0-lv_home
      • 增加容量:lvextend -L +20G /dev/mapper/vg0-lv_home
      • 使用全部空闲:lvextend -l +100%FREE /dev/mapper/vg0-lv_root
    • 扩展文件系统:
      • ext2/ext3/ext4:resize2fs /dev/mapper/vg0-lv_home
      • XFS:xfs_growfs /mount/point
  • 缩容步骤(仅 ext2/ext3/ext4 支持)
    1. 卸载 LV:umount /mount/point;若忙,用 fuser -mvki /mount/point 结束占用进程。
    2. 强制检查:e2fsck -f /dev/mapper/vg0-lv_home
    3. 缩小文件系统:resize2fs /dev/mapper/vg0-lv_home < 目标大小> (必须大于已用空间
    4. 缩小逻辑卷:lvreduce -L < 目标大小> /dev/mapper/vg0-lv_home
    5. 重新挂载并验证:mount /mount/point & & df -h
  • 重要限制与建议
    • XFS 不支持缩容;对根分区缩容通常需要进入救援模式/单用户离线操作;缩容前务必完整备份

四、云盘与系统盘注意事项

  • 云盘在控制台扩容后,实例内可能需要扩展分区表与文件系统:
    • 扩展分区表:growpart /dev/vdb 1(MBR/GPT 通用)
    • 扩展文件系统:
      • ext2/ext3/ext4:resize2fs /dev/vdb1
      • XFS:xfs_growfs /mount/point
  • 部分云平台/内核在系统盘仅有一个分区且实例重启后,内核可能已自动扩展该分区;若未自动扩展,按上述 growpart + resize2fs/xfs_growfs 流程执行。
  • 若需把新增空间做成新分区而非并入旧分区,可在扩容分区表后,用 fdisk/parted 新建分区并格式化挂载。

五、常见排错与建议

  • 无法卸载分区:使用 fuser -mvki < 挂载点> lsof < 挂载点> 定位并结束占用进程后再卸载。
  • 缩容失败提示需检查:先执行 e2fsck -f,且目标大小必须大于已用空间
  • 扩展后容量未变化:确认已执行对应的文件系统扩展命令(resize2fs/xfs_growfs),并重新挂载。
  • 非 LVM 扩容空间不相邻:需移动分区或备份后重建分区表;LVM 可直接在卷组内调配空间,更灵活。
  • 风险提示:分区与文件系统操作存在数据丢失风险,务必完整备份、在维护窗口执行,并优先选择扩容而非缩容的方案。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux分区如何扩容与缩容
本文地址: https://pptw.com/jishu/754715.html
Linux分区命名规则是什么 Linux下如何卸载FileZilla

游客 回复需填写必要信息