往LVM中添加磁盘&扩容
前言
手上有很多2GB、8GB之类的小容量U盘,弃之可惜,所以我用lvm将这些u盘拼成了一个逻辑卷lv,将容量积少成多作为大容量存储空间使用。
比如现在是一个2GB的u盘 + 一个8GB的u盘拼成了一个总容量为9.5GB的lv
查看物理卷pv信息
# 命令
pvs
# 显示信息
PV VG Fmt Attr PSize PFree
/dev/sdc1 music lvm2 a-- <7.45g 0
/dev/sdd1 music lvm2 a-- <1.93g 0
查看物理卷pv详细信息
# 命令
pvdisplay
# 显示结果
--- Physical volume ---
PV Name /dev/sdd1
VG Name music
PV Size <1.93 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 493
Free PE 0
Allocated PE 493
PV UUID Wrn9BJ-ezwM-pGYi-Ohdo-2eT0-Hzq1-wE2R9Y
--- Physical volume ---
PV Name /dev/sdc1
VG Name music
PV Size 7.45 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1907
Free PE 0
Allocated PE 1907
PV UUID WJX8gr-AGx2-jRAf-tvwV-rcFV-r7vV-f2LK3F
现在想往这个lv中再加一个u盘进行扩容,本文记录一下操作步骤。
操作步骤
第一步:准备新磁盘
我准备了一个16GB容量的u盘,先用lsblk
和fdisk
工具确认磁盘可以被系统正确识别。
图中这个/dev/sde
就是新插入的u盘
# 命令
fdisk -l
# 显示信息
Disk /dev/sde: 14.84 GiB, 15931539456 bytes, 31116288 sectors
Disk model: STORAGE DEVICE
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
第二步:分区(可选)
这一步操作不是必须的,可以将物理磁盘分区,也可以不分区。我的lvm为了统一物理卷风格,所以都做了分区。
用fdisk
对/dev/sde
做个简单分区
sde 8:64 1 14.8G 0 disk
└─sde1 8:65 1 14.8G 0 part
第三步:创建物理卷pv
将新磁盘初始化为lvm物理卷。
pvcreate /dev/sde1
注意:如果没有第二步做分区,命令中的/dev/sde1
需要调整为/dev/sde
。
查看pv的信息,确认/dev/sde1
创建成功。
# 命令
pvs
# 显示信息
PV VG Fmt Attr PSize PFree
/dev/sdc1 music lvm2 a-- <7.45g 0
/dev/sdd1 music lvm2 a-- <1.93g 0
/dev/sde1 lvm2 --- <14.84g <14.84g
第四步:将物理卷pv添加到卷组vg
用vgs
命令可以查看卷据信息
# 命令
vgs
## 显示信息
VG #PV #LV #SN Attr VSize VFree
music 2 1 0 wz--n- <9.38g 0
可以看到卷据vg的名字叫做music
,然后将pv添加到这个vg。
# 添加
vgextend music /dev/sde1
# 成功提示
Volume group "music" successfully extended
添加成功后,用vgs
命令确认vg信息,可以看到pv数量从2变成3,容量多出了14.83g的未分配空间。
# 命令
vgs
# 显示信息
VG #PV #LV #SN Attr VSize VFree
music 3 1 0 wz--n- <24.21g 14.83g
第五步:扩容逻辑卷lv
扩容lv需要获取完整的lv路径名称(lv path),这里用到lvdisplay
命令查看
获取到完整的lv path以后就可以操作扩容了
# 命令
lvextend -l +100%FREE /dev/music/0
# 成功提示
Size of logical volume music/0 changed from <9.38 GiB (2400 extents) to <24.21 GiB (6197 extents).
Logical volume music/0 successfully resized.
用vgs
命令确认扩容结果,未分配空间VFree已经为0
# 命令
vgs
# 显示信息
VG #PV #LV #SN Attr VSize VFree
music 3 1 0 wz--n- <24.21g 0
第六步:文件系统扩容
到这一步,就需要根据各自的文件系统用不同的命令进行扩容了。
如果是ext4
,用到的是设备路径,这里是lv path
resize2fs /dev/music/0
如果是btrfs
,用到的是挂载点(mount point)
btrfs filesystem resize max /mnt/music
# 成功提示
Resize device id 1 (/dev/dm-0) from 9.38GiB to max
到此就完成了往lvm中添加新磁盘&扩容的操作。🎉