该文章亲测有效,主要应用场景为:虚拟机增加了磁盘空间,但是实际上系统并没有显示出来,这种情况下采用本文处理步骤可以扩容lvm。

在日常使用过程当中,我们偶尔会遇到系统磁盘容量不够用的情况,这时候我们需要对虚拟机进行磁盘扩容操作。

但是进行了常规的关闭虚拟机,增加磁盘操作后,Linux操作系统并不认为你已经将系统磁盘空间扩大。此时我们需要进行对新增容量的分区及合并操作。本文以CentOS7为例,具体的操作方法如下:

1.查看是否扩容成功

对系统磁盘扩容后,我们需要查看当前磁盘的容量,当前磁盘默认会在/dev/sda路径下。此时可以使用命令进行查看:

[root@localhost ~]# fdisk /dev/sda

提示输入命令时,输入p,查看当前分区信息。

确认磁盘已经成功扩容之后,我们需要对磁盘进行分区。

2. 新增分区

在fdisk中继续输入新建分区命令:n

直接回车,默认为主分区(primary);

分区号,起始扇区,结束扇区都用默认,一路回车,直到提示继续输入Fdisk命令的位置。

接下来,我们需要为分区设置分区格式,在fdisk命令处输入:t

分区号用默认,直接回车,Hex代码输入:8e。代表适用Linux LVM分区类型。

最后写入分区表,在fdisk命令位置输入:w

可能会有磁盘正在被使用的错误提示,先不理会就好。到此,磁盘分区已完成。

此时输入如下命令,就可以看到我们新创建的dev/sda3分区了,分区格式为Linux LVM类型。

[root@localhost ~]# fdisk -l

3. 格式化后合并分区

输入如下命令,在不重启的情况下重读分区表(或者干脆重启机器):

[root@localhost ~]# partprobe

重读分区表后,直接格式化分区:

[root@localhost ~]# mkfs.ext3 /dev/sda3

 这里会根据你所分配的磁盘大小进行格式化,所以请耐心等待到最后一刻,期间不用输入任何字符;

全部完成之后,合并操作我们需要在LVM中进行操作。 直接输入如下命令,进入LVM:

[root@localhost ~]# lvm

 对dev/sda3进行初始化:

lvm> pvcreate /dev/sda3

 接下来需要将新分区添加进系统默认的Volume group,centOS的默认Volume group为centos,所以输入如下命令:

lvm> vgextend centos /dev/sda3

期间会让你输入'y'来确认;

然后查看一下当前的Volume卷详情,输入:

lvm> vgdisplay -v

 就可以看到新分区sda3的详情了,记住他的容量,我们这次的扩容大小为38399;

将系统盘/dev/mapper/centos-root与sda3的38399空余容量合并,输入如下命令:

lvm> lvextend -l+38399 /dev/mapper/centos-root

卷扩容成功后,输入如下命令退出:

lvm> quit

然后我们需要将文件系统进行扩容,以让系统识别,输入如下命令(只适用于CentOS7):

> 特别注意的是:resize2fs 命令针对的是ext2、ext3、ext4文件系统的增加,xfs_growfs 命令针对的是xfs文件系统,因为这里我们上面格式化的方式为 ext3,所以采用 resize2fs

[root@localhost ~]# resize2fs /dev/mapper/centos-root

恭喜,操作完成,最后可以用fdisk -l,df -h查看分区是否扩容。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐