KVM 支援多種存儲池類型,除目錄型外,LVM 類型利用宿主機 Volume Group (VG) 切分 Logical Volume (LV) 作為客戶機虛擬磁碟,具備較佳 I/O 效能,但缺乏 MBR 引導區,僅能作為數據盤,不可作啟動盤。本文演示從宿主機建立 VG、定義 Storage Pool XML、virsh 啟用、virt-manager 分配 LV 給虛擬機的完整流程。
假設已在宿主機建立 10G VG,名為 HostVG:
vgcreate HostVG /dev/sdb # 以實體磁碟 /dev/sdb 為例 vgs # VG #PV #LV #SN Attr VSize VFree # HostVG 1 0 0 wz--n- 10.00g 10.00g
建立 /etc/libvirt/storage/HostVG.xml:
HostVG /dev/HostVG
virsh pool-define /etc/libvirt/storage/HostVG.xml # Pool HostVG defined virsh pool-start HostVG # Pool HostVG started virsh pool-autostart HostVG # Pool HostVG marked as autostarted virsh pool-list --all # Name State Autostart # HostVG active yes
HostVG。newlv、大小 100MB、格式 raw → Finish。newlv → 「Choose Volume」→ Finish 確認掛載。此時宿主機 lvs 即可看到新增的 newlv LV,虛擬機內部識別為 /dev/vdb(或 vdc...),可正常分區、格式化、掛載使用。
將開始討論 KVM 網絡虛擬化原理:Linux Bridge、Open vSwitch、MacVLAN、SR-IOV、虛擬網卡多隊列等核心技術。