Hyper-v下Centos使用LVM实现动态扩容磁盘

1、 鼠标悬停虚拟机上,右键虚拟机,点击检查点。【备份当前虚拟机配置】

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_扩容


2、 进入hyper-V控制端

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_虚拟机 centos mnt_02


3、 点击需要进行扩容的机器,先关机,右键点击设置。选择需要扩容的硬盘驱动器

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_centos_03


4、 点击编辑之后,进入导向窗口。点击下一步,选择扩展

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_Hyper-v_04


5、 下一步,配置磁盘。填写扩容后的大小

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_Hyper-v_05


6、 点击完成后。退到主窗口,点击应用,完成。启动虚拟机。

7、 使用Xshell 连接工具,连接虚拟机。

输入命令:fdisk –l 查看磁盘状态,发现/dev/sda 已变为扩容后的大小。

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_linux _06

8、 查看改变前状态

输入命令:df –h

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_Hyper-v_07


9、 vgdisplay 查看逻辑卷组名 VG NAME

输入命令:vgdisplay

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_扩容_08

10、 查看当前逻辑卷 lvdisplay –v

输入命令:lvdisplay –v

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_linux _09


虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_虚拟机 centos mnt_10


11、 为磁盘新增逻辑区

输入命令:fdisk /dev/sda

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_扩容_11


虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_扩容_12


虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_虚拟机 centos mnt_13

12、 生成物理卷。

输入命令:pvcreate /dev/sda3

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_linux _14


执行后,发现报错:Device /dev/sda3 not found.

产生原因:内核没有成功同步分区信息,所以需要我们手动进行同步

解决方案:输入命令:partprobe,再次执行pvcreate /dev/sda3即可成功

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_centos_15


13、 使用第9步查看的逻辑组名 VG NAME

14、 向逻辑卷组中添加物理卷

输入命令:vgextend centos /dev/sda

注意:此时有可能出现如下错误:/etc/lvm/archive/.lvm_sdw2_1468_602843751: write error failed: 设备上没有空间

产生原因:centos 没有足够空间支持该命令。

解决办法:删除某些不需要的文件,释放内存即可。

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_Hyper-v_16


15、 成功之后,使用lvextend 对逻辑卷进行扩容

输入命令:lvextend -l +100%FREE /dev/mapper/centos-root

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_虚拟机 centos mnt_17


16、 同步文件系统:

输入命令:xfs_growfs /dev/mapper/centos-root

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_虚拟机 centos mnt_18

17、 此时扩容完成,可以查看扩容后的情况。

输入命令:df -h

虚拟机 centos mnt 虚拟机 centos 硬盘hyperv_扩容_19