当前位置:首页 > Linux > 正文

Linux磁盘空间不足怎么扩容?

在Linux中调整磁盘空间通常使用fdisk或parted工具修改分区表,卸载分区后执行resize2fs(ext文件系统)或xfs_growfs(XFS文件系统)命令调整文件系统大小,最后重新挂载分区即可完成扩容。

调整前的必备准备

  1. 备份数据

    ️ 任何磁盘操作前必须备份重要数据!可使用 rsync 或 dd 命令,或工具如 Clonezilla。

  2. 检查磁盘状态 df -h # 查看磁盘使用情况 lsblk # 显示块设备结构 sudo fdisk -l # 列出分区表
  3. 确保有未分配空间

    若需扩展分区,磁盘末端需有未分配的可用空间(可通过删除相邻分区或扩展虚拟磁盘实现)。


场景1:扩展LVM逻辑卷(推荐安全方式)

LVM(逻辑卷管理)提供灵活的磁盘调整能力,适用于大多数现代Linux系统。

步骤:

  1. 扩展物理卷(PV)

    若磁盘有新增空间(如虚拟机扩展了磁盘容量):

    sudo pvresize /dev/sda2 # 调整物理卷大小(假设sda2是PV)
  2. 扩展卷组(VG)

    sudo vgextend vg_name /dev/sda2 # 将新空间加入卷组 sudo vgs # 验证卷组剩余空间
  3. 扩展逻辑卷(LV)

    sudo lvextend -L +20G /dev/vg_name/lv_name # 增加20GB
  4. 调整文件系统

    根据文件系统类型选择命令:

    # ext4文件系统 sudo resize2fs /dev/vg_name/lv_name # xfs文件系统 sudo xfs_growfs /mount/point


场景2:调整非LVM分区(使用parted)

适用于传统分区表(如MBR/GPT),需卸载分区操作。

步骤:

  1. 删除并重建分区(保留数据)

    ️ 使用 parted 的 resizepart 命令可避免数据丢失(仅限相邻空间扩展):

    Linux磁盘空间不足怎么扩容? 第1张

    Linux磁盘空间不足怎么扩容? 第2张

  2. 扩展文件系统

    sudo e2fsck -f /dev/sda3 # 强制检查文件系统 sudo resize2fs /dev/sda3 # 扩展ext4文件系统 # 若为xfs:先卸载分区 → sudo xfs_growfs /dev/sda3 → 重新挂载
  3. 场景3:缩小分区(高风险操作)

    缩小操作需严格按顺序执行:文件系统 → 分区 → 重新分区

    1. 缩小文件系统(以ext4为例)

      sudo umount /dev/sdb1 sudo e2fsck -f /dev/sdb1 sudo resize2fs /dev/sdb1 50G # 缩小文件系统至50GB
    2. 缩小分区

      使用 parted 调整分区边界至匹配文件系统新大小。

      Linux磁盘空间不足怎么扩容? 第3张


    关键注意事项

    1. 操作限制

      • 无法缩小已挂载的分区(需先卸载)。
      • 主引导记录(MBR)磁盘不支持超过2TB。
      • 调整 /boot 分区需在救援模式下进行。
    2. 工具选择建议

      | 工具 | 用途 | 风险等级 |

      |————-|——————————-|———-|

      | fdisk | MBR分区表操作 | 高 |

      | parted | GPT分区表/动态调整 | 中 |

      | resize2fs | 调整ext2/3/4文件系统 | 低 |

      | xfs_growfs| 扩展XFS文件系统 | 低 |

    3. 数据恢复预案

      若操作失误导致数据丢失:

      • 立即卸载分区:sudo umount /dev/sdX
      • 使用 testdisk 扫描分区表
      • 用 photorec 恢复文件
        • 优先使用LVM:简化空间调整,支持动态扩展。
        • 备份是铁律:尤其涉及分区表修改时。
        • 验证操作:每次调整后执行 df -h 和 lsblk 确认结果。
        • 对云服务器或虚拟机,先在测试环境演练。

        引用说明

        通过遵循上述步骤和警告,可安全调整Linux磁盘空间,复杂操作建议结合官方文档或系统管理员协助完成。

0