Ubuntu Server LVM分区扩容
一、扩容前检查
1. 查看磁盘与 LVM 结构
lsblk
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 26.9G 0 part
└─ubuntu--vg-ubuntu--lv 252:0 0 13.5G 0 lvm /
可以看到,sda3有26.9G空间,但是挂载到 /分区的逻辑卷只有13.5G,接下来开始给 /分区扩容。
2. 检查卷组空闲空间
sudo vgdisplay
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <26.95 GiB
PE Size 4.00 MiB
Total PE 6898
Alloc PE / Size 3449 / 13.47 GiB
Free PE / Size 3449 / 13.47 GiB
VG UUID lUGpnm-O0rs-TZIi-9Dkc-8tLK-DOOv-fX2u2t
重点关注:
Free PE / Size:卷组中未分配的空间(示例中约 13.47G)Alloc PE / Size:已分配给逻辑卷的空间
二、一键扩容操作
1. 扩展逻辑卷
将逻辑卷扩展到卷组的最大可用空间:
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
若只想扩展部分空间,例如增加 10G,可使用:
sudo lvextend -L +10G /dev/mapper/ubuntu--vg-ubuntu--lv
2. 扩展文件系统
Ubuntu 默认文件系统为 ext4,执行:
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
若文件系统为 xfs(如 CentOS/RHEL),需使用:
sudo xfs_growfs /
3. 验证扩容结果
df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 27G 2.6G 23G 11% /
输出应显示 / 目录容量已从 13.5G 扩展到约 26.9G。
三、原理说明
1. LVM 分层结构
- 物理磁盘(sda)→ 物理分区(sda3)→ 物理卷(PV)→ 卷组(VG,ubuntu-vg)→ 逻辑卷(LV,ubuntu--vg-ubuntu--lv)→ 文件系统(ext4)
- 示例中的 30G 磁盘中,约 26.9G 被划分为 LVM 物理卷,其中 13.5G 分配给根分区,剩余 13.47G 处于空闲状态。
2. 扩容本质
lvextend:将空闲的物理扩展(PE)分配给逻辑卷,扩大逻辑卷的逻辑大小。resize2fs:调整文件系统的大小,使其能够使用逻辑卷新增的空间。
四、注意事项
- 备份重要数据:扩容操作风险较低,但仍建议在操作前备份关键数据。
- 避免在高负载时操作:尽量在系统负载较低时执行扩容命令。
- 确认文件系统类型:使用
df -T /命令确认根分区的文件系统类型,选择对应的扩容命令。