linux分区扩容方法

在 Linux 系统中,分区扩容通常涉及 LVM(逻辑卷管理)非 LVM 分区。以下是两种场景的详细操作指南,包含实际案例。


一、LVM 分区扩容(推荐方式)

LVM 支持动态调整分区大小,是最灵活的扩容方式。

案例场景

假设你的 /dev/mapper/ubuntu--vg-ubuntu--lv 逻辑卷(挂载到 /)空间不足,需要扩容。

1. 检查当前磁盘和分区

1
2
3
4
5
lsblk                     # 查看磁盘和分区结构
df -h # 查看已挂载分区的使用情况
pvdisplay # 查看物理卷(Physical Volume)
vgdisplay # 查看卷组(Volume Group)
lvdisplay # 查看逻辑卷(Logical Volume)

2. 扩展物理卷(如果磁盘空间不足)

  • 新增一块磁盘(如 /dev/sdb),或 扩展虚拟机磁盘
  • 格式化新磁盘为 LVM 物理卷:
    1
    2
    sudo pvcreate /dev/sdb   # 创建物理卷
    sudo vgextend ubuntu-vg /dev/sdb # 将物理卷加入卷组(替换为你的卷组名)

3. 扩展逻辑卷

1
2
3
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv  # 使用卷组剩余所有空间
# 或指定具体大小(如 +20G):
# sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv

4. 扩展文件系统

  • ext4 文件系统
    1
    sudo resize2fs /dev/ubuntu-vg/ubuntu-lv   # 自动调整文件系统大小
  • xfs 文件系统
    1
    sudo xfs_growfs /   # 直接针对挂载点操作

5. 验证结果

1
df -h  # 检查分区容量是否更新

二、非 LVM 分区扩容(传统分区)

非 LVM 分区扩容需要 相邻的未分配空间,且操作风险较高(建议提前备份数据)。

案例场景

假设 /dev/sda2 分区(挂载到 /home)需要扩容,且磁盘末尾有空闲空间。

1. 使用 parted 调整分区

1
2
3
4
5
sudo parted /dev/sda  # 进入 parted 交互界面
(parted) print # 查看分区表,确认空闲空间位置
(parted) resizepart [分区号] [新结束位置]
# 例如:resizepart 2 100% # 将分区扩展到磁盘末尾
(parted) quit

2. 扩展文件系统

  • ext4 文件系统
    1
    2
    sudo e2fsck -f /dev/sda2   # 强制检查文件系统
    sudo resize2fs /dev/sda2 # 调整文件系统大小
  • xfs 文件系统
    1
    sudo xfs_growfs /home      # 直接针对挂载点操作

3. 验证结果

1
df -h  # 检查分区容量是否更新

三、注意事项

  1. 备份数据:任何分区操作都有风险,操作前务必备份重要数据。
  2. Live CD/USB:如果操作的是根分区,可能需要通过 Live 系统(如 Ubuntu Live USB)进行。
  3. 虚拟机扩展磁盘
    • 如果使用虚拟机(如 VMware/VirtualBox),需先在虚拟机设置中扩展磁盘大小。
    • 之后在系统内使用 partedfdisk 调整分区。

四、图形化工具(推荐新手)

使用 gparted 工具(需安装):

1
2
sudo apt install gparted   # Debian/Ubuntu
sudo gparted # 启动图形界面

通过拖拽分区边界调整大小,操作更直观。


通过以上步骤,你可以安全地扩展 Linux 分区。如果有疑问,建议先在测试环境中演练!