1、测试环境说明
本文采用的测试环境如下:
VMware vSphere 6.5虚拟化环境
一个Ubuntu Linux 22.04虚拟机: TestVG
2、在虚拟机系统中创建逻辑卷以提供业务存储空间
创建步骤如下:
第一步:创建物理卷
以root角色,执行命令:lsblk查看当前获得的新磁盘设备名称为:/dev/sdf (25G大小), /dev/sdg(25G大小)
拟将上述两个磁盘以物理卷的形式加入到一个卷组中:
创建物理卷命令如下:
pvcreate /dev/sdf
pvcreate /dev/sdg
第二步:创建卷组
创建名称为vgdata2的卷组,并将物理卷/dev/sdf, /dev/sdg加入其中,命令如下:
vgcreate vgdata2 /dev/sdf /dev/sdg
第三步:创建虚拟卷
使用vgdisplay命令查看可用磁盘空间,
vgdisplay
使用lvcreate命令创建名称为lvdata2的虚拟卷:
lvcreate -L 45G -n lvdata2 vgdata2
第四步:用ext4文件系统格式化虚拟卷
mkfs.ext4 /dev/vgdata2/lvdata2
第五步:挂载虚拟卷
cd /
mkdir data2
mount /dev/vgdata2/lvdata2 /data2
然后向/data2目录中,拷入一个测试文件,用于后面扩容空间后,验证所放置的文件没有被损坏或丢失。
第六步:修改配置文件
查看新创建的逻辑卷是否存在:
ls /dev/mapper/vgdata2-lvdata2
vim /etc/fstab
在fstab的最后添加一行,
/dev/mapper/vgdata2-lvdata2 /data2 ext4 defaults 0 0
或者使用/dev/mapper/vgdata2-lvdata2的uuid标识来加载。可以使用blkid命令,查询到这个设备的uuid值,并添加到上面的fstab文件中(两种方案二选一):
UUID="a68987a6-7060-4f7b-9e27-f6a4397705a6" /data2 ext4 defaults 0 0
重启一下系统。
3、新增一个vmdk磁盘以扩容业务存储空间的场景
在虚拟化的vCenter Server管理环境中,为TestVG虚拟机,新增一个vmdk硬盘,
在TestVG虚拟机中,使用lsblk命令,识别出新增加的磁盘名称为:/dev/sdh
第一步:卸载待扩容卷组
为了将/dev/sdh新增磁盘添加到上面创建的逻辑卷中,需要先卸载待扩容的虚拟卷组
df -h 查看待扩容卷组的情况:
卸载这个卷组:
umount /dev/mapper/vgdata2-lvdata2
第二步:为新增磁盘创建物理卷
pvcreate /dev/sdh
第三步:扩容卷组的容量
vgextend vgdata2 /dev/sdh
查看扩展后的卷组的结果:
vgs
第四步:扩展逻辑卷
lvextend -L 72G /dev/vgdata2/lvdata2 #将lvdata2扩展到72G
第五步:重新定义分区的大小
先运行下列命令,检查逻辑卷的状态
e2fsck –f /dev/mapper/vgdata2-lvdata2
再执行下列命令,对逻辑卷的大小进行重新定义:
resize2fs /dev/mapper/vgdata2-lvdata2
备注:在执行resize2fs命令之前,一定要先卸载逻辑卷,否则执行上述resize2fs命令后,会导致这个逻辑卷的superblock损坏,进而导致逻辑卷的文件系统损坏,丢失之前保存在其上的应用数据。
第六步:重新加载扩展后的逻辑卷
mount /dev/vgdata2/lvdata2 /data2
查看新扩展的目录内容:
df –h –T
重启系统,查看之前保存的应用数据是否存在。
4、直接调大已有虚拟磁盘尺寸以扩容存储空间的场景
仿真一种扩容的场景,直接调大已在虚拟磁盘组的某个虚拟磁盘的尺寸,以达到扩容存储空间的目的。
在虚拟化的vCenter Server管理环境中,将在第3项中增加的虚拟磁盘的尺寸直接调大35G,达到60G大小。
新增的这个35G的磁盘空间,如果不经设置,是不能被虚拟机业务系统使用的。
那么,在虚拟机的Linux环境中,如何配置,才能有效地利用这个新增的磁盘空间?
首先要重启一下,以让Linux虚拟机系统识别出新增的磁盘空间。如果不重启,则系统无法识别这个新增的空间。重启后,有可能系统新识别的磁盘名称发生变化,如在我的系统中,本文第3项识别的磁盘/dev/sdh就变成了/dev/sdc名称。因此在做扩容调整时,不要搞错。
第一步:卸载上面创建的逻辑卷(很重要!)
umount /dev/mapper/vgdata2-lvdata2
第二步:调整物理卷的大小
pvresize /dev/sdh (仍以/dev/sdh为例,加以说明)
第三步:调整逻辑卷的大小
lvresize -L +20G /dev/vgdata2/lvdata2
第四步:对逻辑卷的大小重新定义
检查逻辑卷的状态
e2fsck –f /dev/mapper/vgdata2-lvdata2
再执行下列命令,对逻辑卷的大小重新定义:
resize2fs /dev/mapper/vgdata2-lvdata2
第五步:重新加载扩容后的逻辑卷
mount /dev/mapper/vgdata2-lvdata2 /data2
第六步: 检查之前存放在/dev/mapper/vgdata2-lvdata2逻辑卷中的文件是否仍可正常访问。
5、操作总结
无论哪种扩容方式,在调整逻辑卷的空间大小时,即执行resize2fs命令之前,一定要先卸载已安装的逻辑卷,否则会召致已有的逻辑卷文件系统损坏,导致数据丢失,这一点在生产环境中尤其要加以注意,避免不必要的损失。