在终端里按顺序执行以下命令即可。
1️⃣ 确认磁盘状态与分区信息
首先,看下你的磁盘分区布局(LVM 环境会显示类似 ubuntu--vg-ubuntu--lv 的字样):
bash
lsblk
输出大致如下,注意 sda 的总容量已经是 50G 了,但分区和逻辑卷还是 40G:
text
sda 50G
├─sda1 1G /boot
├─sda2 2G [SWAP]
└─sda3 47G
└─ubuntu--vg-ubuntu--lv 40G /
2️⃣ 重建分区表,让分区"吞掉"新增的 10G 空间
这一步需要操作分区表,让 sda3 这个分区把新增的 10G 未分配空间包含进来:
bash
sudo growpart /dev/sda 3
注:这个命令最安全。如果你的系统提示 growpart: command not found,需要先安装 cloud-guest-utils,然后直接运行 sudo apt install cloud-guest-utils 即可。
3️⃣ 扩容物理卷(PV)
告诉 LVM,底层的物理设备变大了:
bash
sudo pvresize /dev/sda3
4️⃣ 扩容逻辑卷(LV)
把卷组里所有的空闲空间都分配给根目录的逻辑卷:
bash
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
5️⃣ 扩容文件系统
最后,让文件系统感知到逻辑卷容量的变化:
bash
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
6️⃣ 验证结果
再次执行 df -h,你就能看到根目录 / 的空间已经成功增加了:
bash
df -h /
注:历史命令清单(没有使用LVM的情况):
在 lsblk 的输出中,如果没有 ubuntu--vg-ubuntu--lv 这样的条目,而是直接显示 / 挂载在 sda3 上,则跳过第 3、4 步,在第 2 步执行 sudo growpart /dev/sda 3 后,直接执行 sudo resize2fs /dev/sda3 即可
1646 lsblk
1647 sudo apt update
1648 sudo apt install cloud-guest-utils
1649 sudo growpart /dev/sda3
1650 sudo growpart /dev/sda 3
1651 lsblk
1652 resize2fs /dev/sda3
1653 sudo resize2fs /dev/sda3
1654 df -h /
1655 df