一、环境

虚拟机软件:VMware 14
系统版本:CentOS 7

二、扩容步骤

1、VM上修改磁盘信息

将虚拟机关机,然后点击VM顶部菜单栏中的显示或隐藏控制台视图按钮来显示已建立的虚拟机的配置信息

虚拟化 设备 虚拟化设备怎么扩容_初始化

然后左边菜单栏点击硬盘,在弹出的对话框选中硬盘,并点击扩展按钮,然后在弹出框中的最大磁盘大小修改未所需要的磁盘大小,比如我现在需要扩容30G,原本的磁盘大小是20G,所以我这里将原本的20G修改成50G,然后点击扩展

虚拟化 设备 虚拟化设备怎么扩容_初始化_02

之后会收到提示:

虚拟化 设备 虚拟化设备怎么扩容_centos_03

然后开启虚拟机,对磁盘进行进一步的配置

2、在系统中挂载磁盘

开启虚拟机并登录后,使用命令查看当磁盘状态

# df -h

虚拟化 设备 虚拟化设备怎么扩容_虚拟化 设备_04

可看到当前还是原本的20G,并未扩容
首先先通过命令查看到新磁盘的分区

# ls /dev/

虚拟化 设备 虚拟化设备怎么扩容_虚拟化 设备_05

或者使用

# fdisk -l

虚拟化 设备 虚拟化设备怎么扩容_初始化_06

然后对新加的磁盘进行分区操作:

# fdisk /dev/sda

虚拟化 设备 虚拟化设备怎么扩容_初始化_07

虚拟化 设备 虚拟化设备怎么扩容_虚拟化 设备_08

期间,如果需要将分区类型的Linux修改为Linux LVM的话需要在新增了分区之后,选择t,然后选择8e,之后可以将新的分区修改为linux LVM
之后我们可以再次用以下命令查看到磁盘当前情况

# fdisk -l

虚拟化 设备 虚拟化设备怎么扩容_虚拟化 设备_09

重启虚拟机格式化新建分区

# reboot

然后将新添加的分区添加到已有的组实现扩容
首先查看卷组名

# vgdisplay

虚拟化 设备 虚拟化设备怎么扩容_虚拟化 设备_10

初始化刚刚的分区

# pvcreate /dev/sda3

虚拟化 设备 虚拟化设备怎么扩容_centos_11

将初始化过的分区加入到虚拟卷组名

# vgextend 虚拟卷组名 新增的分区
# vgextend centos /dev/sda3

虚拟化 设备 虚拟化设备怎么扩容_初始化_12

再次查看卷组情况

# vgdisplay

虚拟化 设备 虚拟化设备怎么扩容_centos_13

这里可以看到,有30G的空间是空闲的
查看当前磁盘情况并记下需要扩展的文件系统名,我这里因为要扩展根目录,所以我记下的是 /dev/mapper/centos-root

# df -h

虚拟化 设备 虚拟化设备怎么扩容_centos_14

扩容已有的卷组容量(这里有个细节,就是不能全扩展满,比如空闲空间是30G,然后这里的话30G不能全扩展上,这里我扩展的是29G)

# lvextend -L +需要扩展的容量 需要扩展的文件系统名 
# lvextend -L +29G /dev/mapper/centos-root

虚拟化 设备 虚拟化设备怎么扩容_centos_15

然后我们用命令查看当前卷组

# pvdisplay

虚拟化 设备 虚拟化设备怎么扩容_文件系统_16

这里可以看到,卷组已经扩容了
以上只是卷的扩容,然后我们需要将文件系统扩容

# resize2fs 文件系统名
# resize2fs /dev/mapper/centos-root

这个是网上很多参考资料的用法,但是在这里报错了

虚拟化 设备 虚拟化设备怎么扩容_初始化_17

解决办法是,首先查看文件系统的格式

# cat /etc/fstab | grep centos-root

虚拟化 设备 虚拟化设备怎么扩容_文件系统_18

这里可以看到,文件系统是xfs,所以需要xfs的命令来扩展磁盘空间

# xfs_growfs 文件系统名
# xfs_growfs /dev/mapper/centos-root

虚拟化 设备 虚拟化设备怎么扩容_文件系统_19

之后我们再次用命令查看磁盘状态

# df -h

虚拟化 设备 虚拟化设备怎么扩容_centos_20

可以看到,现在已经扩容成功了!