Linux逻辑卷(LV)扩容
1、准备物理磁盘(分区和不分区都行),可以使用lsblk
命令查看新增的磁盘,如下图sde
就是我们新增磁盘,容量为600G。
2、将新磁盘变成物理卷(PV)
pvcreate /dev/sde
# 其中 /dev/sde 是新增的磁盘,物理卷转换成功后可以使用 pvdislay 命令查看
# 如果新磁盘分区后就指定分区路径即可
3、加入卷组(VG)
vgextend file /dev/sde
# 其中 file 是卷组名称可以使用 vgdisplay 命令查看
加入成功后,我们也可以看到我们自定义的卷组Free PE / Size
这一项已多出来很多空间。
4、扩展逻辑卷空间
lvextend -L +600g /dev/file/cailiao
# 其中/dev/file/cailiao是逻辑卷路径,可以使用lvdisplay命令查看
执行扩容命令后发现报错:Insufficient free space: 153600 extents needed, but only 153599 available
。这是因为逻辑卷扩容600G,实际上卷组可扩容空间不是600G,是小于600G的,具体计算方式如下
[root@mongodb mongodb]# vgdisplay
--- Volume group ---
VG Name file
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 4
Act PV 4
VG Size <3.59 TiB
PE Size 4.00 MiB
Total PE 940028
Alloc PE / Size 786429 / <3.00 TiB
Free PE / Size 153599 / <600.00 GiB
VG UUID 3maeEa-Zxfe-Mmih-eLud-vkd5-LADo-1Lntf3
实际扩容大小 = (Free PE) * (PE Size) / 1024
# 153599 * 4 / 1024 = 599.99609375
[root@mongodb mongodb]# lvextend -L +599.996g /dev/file/cailiao
Rounding size to boundary between physical extents: <600.00 GiB.
Size of logical volume file/cailiao changed from <3.00 TiB (786429 extents) to <3.59 TiB (940028 extents).
Logical volume file/cailiao successfully resized.
如果不想手动计算Linux
也提供了一种可以100%使用卷组空闲空间的命令,如
lvextend -l 100%free -n cailiao file
# 其中 -n 是指定逻辑卷名称 file 是卷组名称
5、最后调整文件系统
xfs_growfs /dev/file/cailiao
# 或者是
resize2fs /dev/file/cailiao
[root@mongodb mongodb]# resize2fs /dev/file/cailiao
resize2fs 1.46.4 (18-Aug-2021)
/dev/file/cailiao 上的文件系统已被挂载于 /opt;需要进行在线调整大小
old_desc_blocks = 384, new_desc_blocks = 459
/dev/file/cailiao 上的文件系统现在为 962588672 个块(每块 4k)。
6、再次查看逻辑卷大小
df -h
逻辑卷(LV)的创建
以上操作我们都是在现有的逻辑卷操作,如果是新的服务器,我们又该如何创建逻辑卷?
1、也是先创建物理卷(PV),假设有/dev/sda和/dev/sdb
两个新磁盘,使用以下命令创建物理卷
pvcreate /dev/sda
pvcreate /dev/sdb
# 注意磁盘有没有分区都无所谓,如果已经分区就指定分区路径即可
创建成功后可用pvdisplay
命令进行查看。
2、创建卷组(VG)
vgcreate vg_file /dev/sda /dev/sdb
创建成功后可用vgdisplay
命令进行查看
3、创建逻辑卷(LV)
lvcreate -n lv_file -L 100G gv_file
# 其中-n是指定逻辑卷名称 -L是指定逻辑卷容量
4、格式化逻辑卷
mkfs.xfs /dev/mapper/file
# /dev/mapper/file是逻辑卷路径
格式化成功后可用lvdisplay
命令进行查看
5、挂载
mount /dev/mapper/file /opt
# 挂载至/opt路径当然可以挂载至其他路径
6、查看
df -h