在日常使用过程当中,我们偶尔会遇到系统磁盘容量不够用的情况,这时候我们需要对虚拟机进行磁盘扩容操作。
但是进行了常规的关闭虚拟机,增加磁盘操作后,Linux操作系统并不认为你已经将系统磁盘空间扩大。此时我们需要进行对新增容量的分区及合并操作。本文以CentOS7为例,具体的操作方法如下:
对系统磁盘扩容后,我们需要查看当前磁盘的容量,当前磁盘默认会在/dev/sda路径下。此时可以使用命令进行查看:
[root@localhost ~]# fdisk /dev/sda
提示输入命令时,输入p,查看当前分区信息:
确认磁盘已经成功扩容之后,我们需要对磁盘进行分区。
在Fdisk中继续输入新建分区命令:n
直接回车,默认为主分区(primary);
分区号,起始扇区,结束扇区都用默认,一路回车,直到提示继续输入Fdisk命令的位置。
接下来,我们需要为分区设置分区格式,在Fdisk命令处输入:t
分区号用默认,直接回车,Hex代码输入:8e。代表适用Linux LVM分区类型。
最后写入分区表,在Fdisk命令位置输入:w
可能会有磁盘正在被使用的错误提示,先不理会就好。到此,磁盘分区已完成。
此时输入如下命令,就可以看到我们新创建的dev/sda3分区了,分区格式为Linux LVM类型。
[root@localhost ~]# fdisk -l
输入如下命令,在不重启的情况下重读分区表(或者干脆重启机器):
[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):
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
恭喜,操作完成,最后我们用fdisk -l来查看下: