温馨提示×

如何在centos中进行分区扩展

小樊
68
2025-12-21 16:12:01
栏目: 智能运维

CentOS 分区扩展实用指南

一、前置准备与总体思路

  • 备份重要数据,避免操作失误导致数据丢失。
  • 明确当前磁盘布局与文件系统类型:使用命令查看磁盘与分区(如:lsblk、fdisk -l),查看卷组与逻辑卷(如:vgs、lvs),查看挂载与文件系统(如:df -h、df -T)。
  • 区分两类场景:
    • 使用 LVM(常见路径为 /dev/mapper/centos-root/dev/mapper/cl-root):先扩 LV,再扩文件系统。
    • 非 LVM 的“普通分区”(如直接在 /dev/sda1 上的 ext4/xfs):先扩“分区”,再扩文件系统。
  • 文件系统扩容命令对应关系:
    • ext2/ext3/ext4resize2fs
    • xfsxfs_growfs(通常对挂载点执行,如 xfs_growfs /

二、场景一 使用 LVM 扩容(推荐)

  • 典型目标:给 / 扩容,或从 /home 回收空间给 /
  • 步骤
    1. 扩容底层“物理磁盘/云盘”容量(虚拟机或云平台控制台先扩容)。
    2. 识别新增空间:
      • 若是同一块盘上新增未分配空间:用 growpart /dev/sda 分区号 扩展该分区(如:growpart /dev/sda 2)。
      • 若是新增一块盘(如 /dev/sdb):先分区(如 fdisk /dev/sdb,类型选 8e/LVM),再 partprobe 让内核识别。
    3. 将新增分区初始化为 PVpvcreate /dev/sdaX(或 /dev/sdb1)。
    4. 扩容 VGvgextend centos /dev/sdaX(卷组名可能是 centoscl,用 vgs 确认)。
    5. 扩容 LV
      • 全部空闲空间给根:lvextend -l +100%FREE /dev/centos/root
      • 指定大小:lvextend -L +50G /dev/centos/root
    6. 扩容文件系统:
      • xfsxfs_growfs /(或 xfs_growfs /dev/mapper/centos-root
      • ext4resize2fs /dev/centos/root
    7. 验证:df -h 查看容量是否已增加。
  • 示例(从 /home 回收空间给 /)
    • 卸载并移除 home 的 LV:umount /home && lvremove /dev/mapper/centos-home
    • 扩展根 LV:lvextend -L +100G /dev/centos/root
    • 扩展根文件系统:xfs_growfs /
    • 重建 home LV 并挂载:
      • lvcreate -L 150G -n home centos
      • mkfs.xfs /dev/mapper/centos-home
      • mount /dev/mapper/centos-home /home
    • 验证:df -h

三、场景二 非 LVM 的普通分区扩容(直接在 /dev/sda1 等)

  • 步骤
    1. 先在虚拟化/云平台把磁盘扩容(如从 100G 扩到 200G)。
    2. 扩展分区表内该分区大小:
      • 推荐:growpart /dev/sda 1(扩展 /dev/sda1 分区)
      • 或传统方式(fdisk):记录原分区的“起始扇区”,删除后重建分区,起始扇区必须一致,结束扇区用默认或指定更大值,保存退出。
    3. 让内核重读分区表:partprobe
    4. 扩展文件系统:
      • ext4resize2fs /dev/sda1
      • xfsxfs_growfs /mount_point(如 xfs_growfs /
    5. 验证:df -h
  • 注意:MBR 与 GPT 均可使用 growpart;GPT 场景下若提示修复分区表备份,按提示输入 Fix 完成修复后再扩展。

四、常见要点与排错

  • 扩容顺序务必正确:底层“磁盘/分区” →(LVM 则再扩)PV → VG → LV → 最后扩“文件系统”。文件系统扩容是必须步骤,否则 df -h 不会反映新容量。
  • 工具与命令对应关系:
    • 扩分区:growpart(推荐)、fdisk/parted
    • 扩 LVM:pvcreate、vgextend、lvextend
    • 扩文件系统:resize2fs(ext)xfs_growfs(xfs)
  • 在线调整限制:xfs_growfs 通常对“已挂载”的文件系统执行;ext4 的 resize2fs 支持在线扩容。
  • 卸载失败处理:若卸载 /home 提示忙,可用 fuser -m -v -k /home 结束占用进程后再卸载。
  • 云盘与虚拟化:云硬盘先在控制台扩容,再用 growpart 扩分区;虚拟机先在 VMware/KVM 等工具里扩展虚拟磁盘。
  • 风险提示:分区与 LVM 操作有数据风险,务必先完整备份,并在变更窗口内执行。

0