如何无损地扩容一个Linux虚拟机系统的存储空间

编撰者:徐维 日期:2023-4-17

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命令之前,一定要先卸载已安装的逻辑卷,否则会召致已有的逻辑卷文件系统损坏,导致数据丢失,这一点在生产环境中尤其要加以注意,避免不必要的损失。

6、联系信息

以上信息仅供参考,有遗漏之处,在所难免。欢迎有同样兴趣的朋友,一起分享讨论。本人联系信息:无锡爱普尔信息科技有限公司,徐先生,微信和手机同号:18015329198。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值