Kvm-Virtualization
如何使用 LVM VG 作為儲存池來增加 KVM 來賓磁碟大小?
KVM 主機伺服器執行 CentOS 6.5,並使用 LVM 卷組“storage_pool”作為 KVM 的主記憶體儲池。
使用 ext4 文件系統安裝 Ubuntu 客戶機,並將整個 /dev/vda1 掛載為 /。這是來賓磁碟配置:
<disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none' io='native'/> <source dev='/dev/storage_pool/kvmguest.img'/> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk>
增加來賓磁碟大小的最佳方法是什麼?VG 有很多可用空間。
我找到了一些範例,但大多數範例也在來賓內部使用 LVM,或者並不完全適用。據我了解,常用的方法是在同一個VG中創建一個更大的LV,關閉guest,傳輸數據,編輯配置以使用新的LV?
提前感謝您的任何建議或指示
這是我使用的程序:
- 擴展 kvm 來賓的邏輯卷
# lvextend -L+50G /dev/storage_pool/guest.img
- 關閉 kvm 來賓並停用邏輯卷
# virsh shutdown guest # lvchange -a n /dev/storage_pool/guest.img
- 列出並記下 kvm 來賓的分區資訊,最重要的是第一個扇區。如果它不顯示扇區,您可能需要添加“-u”或“-u 扇區”開關
# fdisk -l /dev/storage_pool/guest.img
- 刪除並重新創建分區以填充整個擴展空間,確保您使用扇區作為單位並選擇相同的第一個扇區(如果分區對齊,通常為 2048),您可以使用 ‘u’ fdisk 命令在單位之間切換
# fdisk /dev/storage_pool/guest.img Command (m for help): d Partition number (1-4): 1 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First sector (...): 2048 Last sector...: hit enter and use the default last sector Command (m for help): a Partition number (1-4): 1 Command (m for help): w
- 公開 ext3/4 文件系統並調整其大小
# kpartx -a -v /dev/storage_pool/guest.img # e2fsck -p -f /dev/mapper/storage_pool-guest.img1 # resize2fs /dev/mapper/storage_pool-guest.img1 # e2fsck -p -f /dev/mapper/storage_pool-guest.img1 # kpartx -d -v /dev/storage_pool/guest.img
- 啟動邏輯卷並啟動 kvm 來賓
# lvchange -a y /dev/storage_pool/guest.img # virsh start guest
無需關閉來賓(至少在 2019 年不再)。
簡單地
lvextend -L+<size>G /dev/<group>/<volume>
然後
virsh blockresize <domain> /dev/<group>/<volume> --size <newsize>
最後進入你的客人,並在你的客人身上做任何必要的事情來利用額外的空間。
在 Windows 來賓中,您可以執行
diskpart
list volume
select volume <n>
extend
這些是我在使用 qemu 3.1.0 的 Ubuntu 19.04 下擴展作為 KVM 域執行的 Windows 10 來賓的 C: 驅動器的確切步驟