接上篇,<<熱添加磁盤,重啓文件不丟失>>
一.理論掃盲:
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
重啓仍然生效