LVM(Logical Volume Manager)是 Linux 服务器常用磁盘管理方式,优点是灵活、可跨盘、可随意扩容。很多人安装Ubuntu系统时勾选了 “使用 LVM”,其实这个做法在服务器上我觉得挻不错的。如果是个人PC机也可以使用,但我觉得没必要;真到硬盘不够用时也就再添加一块硬盘,以一个目录分区形式挂载到系统更好,既不然重装系统数据丢失,又方便移植到其它机器。
本文讲述标准 LVM 扩容流程。
一、判断你是不是 LVM
执行:
df -h
如果根目录类似:
/dev/mapper/ubuntu--vg-ubuntu--lv/dev/ubuntu-vg/root
就是 LVM,我是使用了,但我并不建议,因为没什么优势。只是数据已经存在,没有再重装而已。

二、LVM 扩容整体流程
- 物理磁盘扩容
- 刷新物理卷 PV(pvresize)
- 扩展逻辑卷 LV(lvextend)
- 刷新文件系统(resize2fs)
三、第一步:刷新物理卷
先确认物理卷位置:
pvdisplay
常见:/dev/sda3
刷新大小:
sudo pvresize /dev/sda3
四、第二步:查看卷组剩余空间
vgdisplay
看到 Free PE / Size 有空间即可继续。
五、第三步:扩展逻辑卷
要想扩容,前提是你的硬盘还有多余空间。
方式 1:使用全部空闲空间(推荐)
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
方式 2:只增加指定大小(如 10G)
sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv
六、第四步:刷新文件系统
ext4 用:
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
xfs 用:
sudo xfs_growfs /
七、验证
df -h
lsblk
lvdisplay
八、新增一块硬盘到 LVM(进阶)
如果没有多余空间时就要通过新增的硬盘来实现扩容了。
- 分区并格式化
sudo parted /dev/sdb mklabel gpt
sudo parted /dev/sdb mkpart primary 0% 100%
- 创建物理卷
sudo pvcreate /dev/sdb1
- 加入卷组
sudo vgextend ubuntu-vg /dev/sdb1
- 扩容逻辑卷
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
为何我不推荐个人PC使用LVM呢?因为上次我优化系统时,LVM在启动时就需要对硬盘再进扫描,如果LVM分区大,整合多块硬盘的那肯定就会更慢了,也因为如此没有优化到磁盘的问题。下次重新时我一定不再使用LVM。除非在服务器上使用,那还是很方便的,毕竟容量使用需要可能要扩容。