磁盘为lvm分区类型的linux云主机,如何正确进行系统扩容

发布时间 2023-08-30 12:26:42作者: 晨光陈色
问题现象

lvm分区类型的云主机系统空间不足,如何进行扩容,如下图,根分区为lvm类型,分区大小只有39G,如何正确进行扩容。

image.png

(图1 查看系统分区情况)

原因分析

云主机系统空间不足,需要对根盘进行扩容

解决方案

1.云平台上扩容成功后,进入云主机系统,使用lsblk查看可以发现系统盘vda已经扩容到了100G,但是/分区所在的vda2的大小依然是39G

image.png

(图2平台上扩容后云主机系统内查看扩容情况)

 

 

2. 云主机内进行磁盘扩容操作

下面开始进行磁盘扩容操作,扩容有可能会导致数据丢失,建议扩容前先给云主机打上快照。

 

扩容需要用到growpart命令,如果没有该命令,需要安装cloud-utils-growpart包。如果云主机上有相应的yum源,可以通过以下命令安装相应的包

yum install cloud-utils-growpart -y

 

如果云主机上没有yum源,可以去以下网站下载相应的rpm包,上传至云主机

https://mirrors.aliyun.com/centos-vault/7.6.1810/os/x86_64/Packages/cloud-utils-growpart-0.29-2.el7.noarch.rpm

 

再通过以下命令安装该rpm包

rpm -ivh cloud-utils-growpart-0.29-2.el7.noarch.rpm

 

准备工作做好后,先使用growpart /dev/vda 2命令将物理机分区进行扩容,vda和2之间有一个空格,表示扩容磁盘vda的第二个分区,即我们的根分区,如果文件系统格式为ext2、ext3、ext4,可以使用resize2fs命令来扩容文件系统,使用blkid命令可以查看文件系统格式。

image.png

(图3 vda2扩容至99G)

 

5. 使用pvs命令查看可以发现,vda2的pv大小仍然是39G,使用命令"pvresize /dev/vda2"对vda2进行扩容,扩容后查看可以发现vda2对应的pv已经扩容到了99G

image.png

(图4 扩容根盘所在pv)

6. 扩容lv,先使用命令df -h找到根目录lvm所在路径,本例中根目录lv所在路径为/dev/mapper/centos-root。再使用命令

lvextend -l +100%free /dev/mapper/centos-root

将vda2的剩余可用空间扩容至centos-root中。此时使用lsblk可以看到,根分区所在逻辑卷已扩容至99G。

image.png

(图5 扩容根分区所在lvm)

 

7、使用blkid查看根分区文件系统格式,本例中为xfs。确定好文件系统格式后,使用命令"xfs_growfs /"对根分区进行扩容,扩容完成后用df -h命令可以查看到根分区已成功扩容至97G。如果使用blkid查看发现文件系统格式为ext2、ext3、ext4,可以使用resize2fs命令来扩容文件系统。

image.png

(图6 扩容根分区文件系统)