接上篇,<<热添加磁盘,重启文件不丢失>>

一.理论扫盲: centos7的磁盘默认使用lvm,所以是可以直接扩展根分区的,但是无法缩小,在物理机中会默认将磁盘分为两个分区,分别为sda1和sda2,其中分区sda1作为系统盘/boot挂载,少量空间;sda2作为一个物理卷并且完全作为逻辑卷组VG(Volume Group)centos,在这个逻辑卷组centos中建立三个逻辑卷LV(Logical Volume)root和home还有swap,分别挂载到根目录/和/home以及swap。而在kvm虚拟机中则不是sda了,而是vda,其他都和物理机差不多。

二.下面我们看看磁盘分区的情况 这里我们看到文件系统是/dev/mapper/centos-root,然后挂载到根目录上。下面来看下这个文件系统到底是个啥? 好吧,对应根目录的这个文件系统,其实是个软链接,真正指向的是dm-0这个块设备。 那么再看看另外一张图(这里只是普及啊),还有个指向这个设备的软链接呢?

为啥还要个软链接,待解决。。。。。先不管这个问题

三.正题来了,接上篇,我们可以热添加磁盘到kvm虚拟机中去,由于centos 7又支持磁盘扩展(lvm机制),那么我们新增一块磁盘到kvm虚拟机中,然后加到root所在的vggroup里去不就行了 宿主机下操作: #新增一块磁盘 qemu-img create -f qcow2 test3_add03.qcow2 5G #将磁盘热添加到kvm虚拟机中去 virsh attach-disk centos7.0 /var/lib/libvirt/images/test3_add03.qcow2 vdc --cache=none --subdriver=qcow2 #读取内存中关于kvm虚拟机的添加的磁盘信息 virsh dumpxml centos7.0 #将获取到的磁盘信息加入到现有的kvm配置中去 virsh edit centos7.0

以下在kvm虚拟机中操作: #新增物理卷vdc pvcreate /dev/vdc #将物理卷vdc添加至/root所在的卷组,centos可以通过lvdisplay查询到 vgextend centos /dev/vdc #扩充root所在的逻辑卷组,大小就是新增加的vdc大小 lvextend -L +5G /dev/mapper/centos-root #重新读取硬盘信息 xfs_growfs /dev/mapper/centos-root #再次查看是否成功 df -hT 添加成功,之前是12g

重启仍然生效