将新磁盘加入 LVM
方法
-
查看块设备(磁盘)列表,找到新磁盘名称:
$ lsblk -e 7 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 2T 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 2T 0 part └─ubuntu--vg-ubuntu--lv 252:0 0 2T 0 lvm / sdb 8:16 0 2T 0 disk可以看到新磁盘的名称是
sdb。 -
初始化磁盘为物理卷(PV):
sudo pvcreate /dev/sdb -
查看现有的卷组(VG):
$ sudo vgdisplay --- Volume group --- VG Name ubuntu-vg System ID Format lvm2 Metadata Areas 1 ...可以看到这里的卷组名(
VG Name)为ubuntu-vg。 -
将物理卷加入卷组:
sudo vgextend ubuntu-vg /dev/sdb -
验证卷组已被扩展:
$ sudo vgdisplay --- Volume group --- VG Name ubuntu-vg ... Free PE / Size 511999 / 1.95 TiB ...可以看到出现了未分配的卷组大小(
Free PE / Size)为 1.95 TiB。 -
查看现有的逻辑卷(LV):
$ sudo lvdisplay --- Logical volume --- LV Path /dev/ubuntu-vg/ubuntu-lv ...可以看到逻辑卷路径为
/dev/ubuntu-vg/ubuntu-lv。 -
将未分配空间分配给逻辑卷:
$ sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv -
调整文件系统大小:
$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv -
检查逻辑卷是否被扩展:
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/ubuntu--vg-ubuntu--lv 3.9T 1.9T 1.9T 50% / ...可以看到
ubuntu--vg-ubuntu--lv已经被成功扩展。
Troubleshooting
Devices have inconsistent logical block sizes
无法将物理卷加入卷组:
$ sudo vgextend ubuntu-vg /dev/nvme1n1
Devices have inconsistent logical block sizes (512 and 4096).
解决方法:
-
获取 NVMe 设备命名空间的标识信息:
$ sudo nvme id-ns /dev/nvme1n1 -H ... LBA Format 0 : Metadata Size: 0 bytes - Data Size: 4096 bytes - Relative Performance: 0 Best LBA Format 1 : Metadata Size: 0 bytes - Data Size: 512 bytes - Relative Performance: 0 Best (in use)这块 NVMe 硬盘支持两种块大小,一种是 4KB ,另一种是 512B。一般建议使用 4KB 块大小(格式 0)。
-
格式化硬盘:
sudo nvme format /dev/nvme1n1 -l 0 # 使用 LBA 0 格式化 -
重新加入卷组:
sudo pvcreate /dev/nvme1n1 sudo vgextend ubuntu-vg /dev/nvme1n1

浙公网安备 33010602011771号