温馨提示×

centos分区扩展方法

小樊
46
2025-11-16 02:31:56
栏目: 智能运维

CentOS 分区扩展方法

一、前置检查与准备

  • 备份重要数据,准备回滚方案(快照、备份到外部存储等)。
  • 确认文件系统类型:ext4 使用 resize2fsXFS 使用 xfs_growfs(XFS 扩容需对挂载点操作)。
  • 查看磁盘与分区布局:fdisk -llsblkdf -hTvgslvspvs
  • 在虚拟机或云平台先扩容虚拟磁盘容量,再进入系统操作分区与文件系统。
  • 扩展分区表后,使用 partprobe 或重启让内核识别新分区表。

二、场景一 LVM 在线扩容(最常见)

  • 场景A 卷组有剩余空间
    1. 扩展逻辑卷:lvextend -l +100%FREE /dev/mapper/<VG>-<LV>(例:lvextend -l +100%FREE /dev/mapper/cl-root)。
    2. 扩展文件系统:
      • XFS:xfs_growfs <挂载点>(例:xfs_growfs /
      • ext4:resize2fs /dev/mapper/<VG>-<LV>
    3. 验证:df -h
  • 场景B 新增一块磁盘扩容到卷组
    1. 分区:fdisk /dev/sdbn 新建分区 → t 设为 8e(Linux LVM)→ w 写入。
    2. 通知内核:partprobe
    3. 创建物理卷:pvcreate /dev/sdb1
    4. 扩展卷组:vgextend <VG> /dev/sdb1(例:vgextend cl /dev/sdb1)。
    5. 扩展逻辑卷:lvextend -l +100%FREE /dev/mapper/<VG>-<LV>
    6. 扩展文件系统(XFS 对挂载点,ext4 对设备):xfs_growfs <挂载点>resize2fs <设备>
    7. 验证:df -h
  • 场景C 调整分区大小后再扩文件系统(适用于已有分区末尾有未分配空间)
    1. 使用 growpart /dev/sdX <PARTNUM> 扩展分区(需安装 cloud-utils-growpart)。
    2. 扩展 PV:pvresize /dev/sdX<PARTNUM>
    3. 扩展 LV:lvextend -l +100%FREE /dev/mapper/<VG>-<LV>
    4. 扩展文件系统:xfs_growfs <挂载点>resize2fs <设备>
    5. 验证:df -h

三、场景二 非 LVM 扩容(传统分区,风险更高)

  • 基本思路:扩展分区边界后,再扩展文件系统;通常需要卸载分区,且起始扇区必须保持不变。
  • 步骤
    1. 卸载分区:umount /mount_point;如忙,用 fuser -m -v -k /mount_point 结束占用进程。
    2. fdisk /dev/sdX 删除旧分区并重建,起始扇区必须与原分区一致,结束扇区扩大到期望位置;保存退出。
    3. 检查并调整文件系统:
      • ext4:e2fsck -f /dev/sdX<PART>resize2fs /dev/sdX<PART>
      • XFS:非 LVM 场景通常不支持在线扩容,需从 LiveCD/救援模式操作或迁移到 LVM。
    4. 重新挂载:mount /mount_point;验证:df -h
  • 注意:误操作可能导致数据丢失,务必先备份,并严格保持起始扇区一致。

四、场景三 调整分区用途(如释放 /home 扩容 /)

  • 适用:系统为 LVM,且希望把 /home 的空间迁移到 /
  • 步骤
    1. 卸载 /home:umount /home(必要时用 fuser -m -v -k /home 结束进程)。
    2. 删除 /home 的 LV:lvremove /dev/mapper/<VG>-home
    3. 扩展根 LV:lvextend -l +100%FREE /dev/mapper/<VG>-root(或按需指定大小)。
    4. 扩展根文件系统:XFS 执行 xfs_growfs /;ext4 执行 resize2fs /dev/mapper/<VG>-root
    5. 可选:重建 /home LV 并挂载(例:lvcreate -L 150G -n home <VG>mkfs.xfs /dev/mapper/<VG>-homemount /home)。
    6. 验证:df -hlvsvgs

五、常用命令速查表

目的 命令示例
查看磁盘/分区 fdisk -llsblkparted /dev/sdX print
扩展分区(整盘/末尾空间) growpart /dev/sdX <N>
扩展分区表通知内核 partprobe
创建物理卷 pvcreate /dev/sdX1
扩展卷组 vgextend <VG> /dev/sdX1
扩展逻辑卷 lvextend -l +100%FREE /dev/mapper/<VG>-<LV>
扩展 ext4 文件系统 resize2fs /dev/sdX<PART>
扩展 XFS 文件系统 xfs_growfs <挂载点>
验证结果 df -hdf -Thlvsvgspvs

0