本文档主要是介绍如何在KVM主机上扩容安装了Linux系统的虚拟机磁盘容量。
一、操作环境
操作系统版本:CentOS Linux release 7.5.1804 (Core)
虚机系统版本:CentOS Linux release 7.3.1611 (Core)
当前硬盘大小:18 GB
计划硬盘扩容大小:30 GB
二、Linux磁盘管理基础知识
物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。
卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。
逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。
在Linux中规定,每个硬盘设备最多只能由4个主分区(其中包括一个扩展分区)构成任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是4个。(Linux 下面每一个硬盘总共最多有16 个分区)
三、确认分区类型
由于本方法只针对LVM类型的分区,故在扩容之前先通过以下命令检查分区类型是否为Linux LVM类型,使用fdisk -l查看磁盘情况。

如上图所示,/dev/sda2在system一栏中被标记为Linux LVM类型,他们的Id是8e,8e代表Linux LVM, 83代表Linux Native分区。确认为LVM之后,继续我们的扩容工作。
下图使用df -h命令,查看当前系统磁盘容量和使用情况,目前的大小大约有18 GB,计划扩展12GB,总容量达到30GB。我们打算把12GB的新磁盘扩展到/dev/mapper/VolGroup-lv_root这个目录下面。

注:因为LVM是逻辑卷磁盘管理程序,故/dev/mapper/VolGroup-lv_root实际上是在/dev/sda2上,所以在fdisk中显示的设备信息中只有/dev/sda2的分区类型,而看不到/dev/mapper/VolGroup-lv_root分区,因为它只是逻辑上存在。所以需要确认分区类型的是/dev/sda2而不是/dev/mapper/VolGroup-lv_root。
四、增加虚拟磁盘大小
将虚拟机关机,使用命令调整虚拟磁盘大小,如下:
qemu-img resize /data/kvm/14-releaseserver.qcow2 +12G
virsh define 14-releaseserver.xml
五、发现新磁盘
在虚拟机系统中执行如下命令扫描磁盘信息:
echo “- - -“ > /sys/class/scsi_host/hostX/scan

扫描或者重启虚拟机,使用fdisk -l查看是否系统识别到新增的磁盘空间,如图所示,磁盘大小从18GB已经变为到30GB。

六、给新磁盘分区
新的磁盘被识别到了,现在需要给磁盘分区,让系统能使用到这个新的磁盘空间。现在要在磁盘/dev/sda上分区(注意:linux中一块硬盘的主分区个数不能超过4个。目前sda1,sda2已经占用了两个分区名额,新增的分区应该为第三个主分区,即sda3)。
现在开始给磁盘/dev/sda分区。输入以下命令:fdisk /dev/sda

如果需要帮助,你可以输入m获取更多信息。现在我们来创建新分区,输入n

再输入p,代表我们现在要创建一个主分区,注:2 primary,0 extended,2 free表示目前我们这块硬盘上有2个主分区,0个拓展分区,还可以再创建2个主分区。

输入3,代表创建分区sda3

接下来指定起始扇区和Last扇区,只要敲两下回车键,选择默认值就好了。至此,分区工作已完成。

现在要给新建分区指定分区类型,输入t,再输入3,表示选择新建的sda3分区,最后输入8e,代表选择的是LVM类型。

最后输入w保存。

可以用fdisk -l查看你新建的分区sda3。

七、新增逻辑卷LV
分区建好了,为了让之后的LVM可以使用到这个分区,在不重启电脑的前提下,可以使用partprobe命令刷新分区表,在新的分区/dev/sda3上创建物理卷PV,输入命令: pvcreate /dev/sda3
![]()
接下来,我们需要先确认卷组(VG),使用以下命令:vgdisplay

现在开始扩容VG大小,使用以下命令:vgextend VolGroup /dev/sda3

注:VolGroup是本机的VG Name,每个系统名字不同,需用vgdisplay提前查看。如果磁盘容量不足,会有错误提示:”Could’t create temporary archive name. Volume group“centos”metadata archive failed. Internal error:Attemp to unlock unlocked VG #orhans”。原因是因为磁盘空间实在太小了,无法创建临时文件来操作磁盘空间扩展。解决方法是,删除一些系统没用的文件,再进行操作。
这时,可以使用pvscan检查当前系统的pv情况,看看/dev/sda3上的PV是否建成。

再接下来,需要增大逻辑卷了,这一步主要目的是把刚刚创建的新分区和新物理卷PV /dev/sda3扩展到当前的逻辑卷,让系统能识别并且使用这个新空间。
八、 扩展逻辑卷
首先先确认当前的逻辑卷组,使用以下命令:lvdisplay

如图,/dev/VolGroup/lv_root是当前逻辑卷LV的挂载路径。使用以下命令扩展修改逻辑卷:lvextend /dev/VolGroup/lv_root /dev/sda3

逻辑卷扩展成功!然后告诉系统有这块新区域可以使用。输入以下命令:
resize2fs /dev/VolGroup/lv_root

注:如果使用的文件系统是ext,需使用命令resize2fs /dev/VolGroup/lv_root
如果系统是CentOS 7,使用命令xfs_growfs /dev/VolGroup/lv_root
使用df -TH查看文件系统,一般CentOS 7是xfs, unbuntu是ext3

九、验证扩容结果
最后检查根分区是否已经扩容成功。


3961

被折叠的 条评论
为什么被折叠?



