场景:博主之前虚拟机扩容满4个分区后,再次扩容问题,且之前扩容时采用的是LVM系统。
在分区没满(少于4个),可以参考博主的另一篇虚拟机扩容的文章
centos7虚拟机扩容
操作:
第一步:查看现有虚拟机磁盘情况
使用命令:
fdisk -lu
可以看出,经过宿主机扩容操作后,现在虚拟机总共有100多G,实际才使用50G左右。
宿主机上的扩容相关操作参考前面的文章链接。
第二步:查看目前虚拟机物理卷信息
使用命令:
pvdisplay
注意:最后一个物理卷信息为10G
第三步:查看卷组信息
使用命令:
vgdisplay
获取卷名称为centos
第四步:查看虚拟机分区信息
使用命令:
fdisk -lu
可以看出已经有了4个主分区,无法继续创建分区来扩容。
第五步:分区进行扩容
输入命令:
fdisk /dev/vda
先删除最后一个分区,然后才可以进行扩容,注意最后分区此时块大小为10485760
重新新建第四个分区,新的磁盘大小已经加入分区中
修改分区格式为 LVM系统 ,此时最后分区块大小已经变了,输入w保存退出。
但是此时物理卷还未识别分区已经发生改变
第六步:修改物理卷信息
为保证虚拟机识别分区大小已经改变,在修改物理卷信息之前要重启虚拟机
输入命令:
pvresize --setphysicalvolumesize 62G /dev/vda4
此时查看物理卷信息:
此时,大小已经改变。
第七步:扩展到根分区下
查看当前状态:
由于之前的文章已经处理过逻辑卷扩容的相关操作,此处直接扩容并统一文件格式
输入命令:
lvextend -l +100%FREE /dev/mapper/centos-root
统一格式,输入命令:
xfs_growfs /dev/mapper/centos-root
查看最后结果:
df -h
发现扩容成功。
概念
LVM术语
Physical Volume (PV) 物理卷,一个PV对应一个磁盘或一个磁盘分区
Volume Group (VG) 卷组,一个或多个PV的集合,可动态增减PV,LVM系统中可含有多个VG
Logical Volume(LV) 逻辑卷,建立在VG之上的虚拟block设备, 容量可动态增减
Physical Extent(PE) PV的最小存储单元,最小为128KB,默认为4MB,在创建VG时设定,一旦设定很难更改,只能重建VG
如图:
PV命令:
pvchange 修改PV属性
pvck 检查PV metadata
pvcreate 从磁盘或分区创建PV
pvdisplay 显示PV属性
pvmove 移动PV内容(Physical Extents)
pvremove 擦除PV标签,LVM不再将其识别为PV。活动LV使用的PV不能删除
pvresize 调整PV容量
#pvresize --setphysicalvolumesize 62G /dev/mapper/centos-root
pvs 查询PV信息
#pvs
pvscan 查找PV
pvcreate 创建PV
#pvrcreate /dev/vda4
VG命令:
vgcfgbackup 备份VG配置
vgcfgrestore 恢复VG配置
vgchange 修改VG属性
vgck 检查VG元数据
vgconvert 转换VG元数据格式
vgcreate 创建VG
vgdisplay 显示VG属性
vgexport 从系统中注销VG
vgextend 向VG中增加PV
vgimport 注册已注销的VG
vgimportclone 注册和重命名克隆的VG
#vgimportclone --basevgname vg00_snap /dev/sdc /dev/sdd
vgmerge 将两个VG合并
vgmknodes Create the special files for volume group devices in /dev
vgreduce 删除VG中的一个或多个PV
vgremove 删除VG
vgrename 重命名VG
vgs 查询VG信息
#vgs
vgscan 查找VG
创建VG:
vgcreate centos /dev/vda*
增加VG容量:
可从PV创建VG,也可直接从磁盘和分区创建,这样会自动创建PV,如下将/dev/vda4添加到VG中:
#vgextend centos /dev/vda4
删除VG:
#vgremove centos