Linux 调整根目录大小

Reading time ~1 minute

要将整个 1073.7 GB 磁盘空间分配给 /dev/mapper/centos-root(根目录),需结合 LVM 的物理卷(PV)、卷组(VG)和逻辑卷(LV)操作。以下是详细步骤:


关键问题分析

  1. 当前根目录大小:328.6 GB(由 LVM 逻辑卷 /dev/mapper/centos-root 分配)。
  2. 磁盘空间分布
    • /dev/sda2 分区已占满磁盘的绝大部分空间(约 1TB)。
    • 但当前分配给根目录的只有 328.6 GB,剩余空间可能未被卷组(VG)识别或已被其他逻辑卷(如 swap)占用。

解决方案

步骤 1:确认物理卷(PV)和卷组(VG)状态

  1. 查看物理卷信息
    pvs
    
    • 确保 /dev/sda2 是物理卷,且属于卷组 centos
  2. 查看卷组剩余空间
    vgdisplay centos
    
    • 检查 Free PE / Size 字段。若为 0,需释放空间或扩展物理卷。

步骤 2:扩展物理卷(若需要)

如果 /dev/sda2 分区已占满整个磁盘,但物理卷未使用全部空间:

pvresize /dev/sda2
  • 此命令将物理卷扩展到分区的最大容量。

步骤 3:释放逻辑卷空间(若卷组无剩余空间)

  1. 删除 swap 逻辑卷(假设可暂时移除 Swap)
    swapoff /dev/mapper/centos-swap   # 关闭 Swap
    lvremove /dev/mapper/centos-swap  # 删除 Swap 逻辑卷
    
  2. 确认卷组新增空闲空间
    vgdisplay centos
    

步骤 4:扩展根逻辑卷

将卷组中所有剩余空间分配给根目录:

lvextend -l +100%FREE /dev/mapper/centos-root

步骤 5:调整文件系统

  1. 确认根目录文件系统类型
    df -T /
    
  2. 扩展文件系统
    • XFS 文件系统(CentOS 7+ 默认):
      xfs_growfs /
      
    • ext4 文件系统
      resize2fs /dev/mapper/centos-root
      

步骤 6:重建 Swap(可选)

若需保留 Swap,可重新创建(例如分配 4GB):

lvcreate -L 4G -n swap centos       # 创建逻辑卷
mkswap /dev/mapper/centos-swap      # 格式化 Swap
swapon /dev/mapper/centos-swap      # 启用 Swap

步骤 7:验证结果

df -h /                  # 检查根目录容量
free -h                  # 检查 Swap 状态

注意事项

  1. 备份数据:操作前备份重要数据。
  2. 分区类型:虽然 /dev/sda2 的 ID 为 83(Linux 原生分区),但 LVM 仍可正常工作。若需规范,可调整为 8e(LVM 类型):
    fdisk /dev/sda
    # 输入 t -> 选择分区 2 -> 输入类型代码 8e -> 保存退出(w)
    
  3. 在线操作:调整文件系统无需卸载根目录。

最终效果

  • /dev/mapper/centos-root 将占用整个 1TB 磁盘空间。
  • Swap 可按需重新分配。

通过以上步骤,所有可用空间将完全扩展至根目录。如有疑问,建议先在测试环境验证。

转载请注明出处:
文章地址: Linux 调整根目录大小
作者: mraxu