Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
章 7. 虛擬化
7.1. KVM
Red Hat Enterprise Linux 6.3 的 KVM 可擴充性加強功能包括了:
- 虛擬客座端的大小從 64 變為 160 個處理器(vCPU,虛擬處理器)。
- KVM 客座端的最大支援記憶體已經從 512 GB 增加至 2 TB。 BZ#748946
Red Hat Enterprise Linux 6.3 的 KVM 支援以下處理器:
- 之前代號為 “Sandy Bridge” 的 Intel Core i3、i5、i7 及其他處理器;
- 以及 AMD 第十五代處理器(代號 “Bulldozer”)。\n\n
Steal time 是虛擬處理器在 hypervisor 服務另一個虛擬處理器時,等待實體處理器的時間。KVM 虛擬機器現在可以計算、回報此 steal time,並透過 top 與 vmstat 工具顯示,這提供了客座端正確的 CPU 使用率。
Red Hat Enterprise Linux 6.3 中的 KVM 存取 qcow2
磁碟映像檔(qcow2
是預設格式)功能更為精進,原因是新的存取更非同步避免 vCPU 卡住、並加強磁碟 I/O 時的整體效能。BZ#783950
qemu-kvm 已有新的子套件,名為 qemu-guest-agent。執行 Red Hat Enterprise Linux 6.3 客座端並加上此套件時,適當配置 Red Hat Enterprise Linux 6.3 主機能發送新的指令到客座端上,例如:guest-sync
、guest-ping
、guest-info
、guest-shutdown
、以及 guest-suspend-*
。
KVM 現在可以虛擬化效能監控單元(vPMU,performance monitoring unit),允許虛擬機器進行效能監控。除此之外,這也支援 Intel 的 “architectural PMU”,使用 -cpu
主機旗標,在不同的主機 CPU 版本間進行線上轉移。
Red Hat Enterprise Linux 6.3 的 KVM 現在支援動態分配虛擬 CPU 功能(又稱 vCPU 熱插拔),以動態管理負載,並在非尖峰時間回應非預期的負載量。
KVM 的虛擬化儲存堆疊已經有所改進,新增了 virtio-SCSI 功能(基於 SCSI、給 KVM 使用的儲存架構)。Virtio-SCSI 提供了直接連結 SCSI LUN 的功能,顯著改善了 virtio-blk 的可擴充性。virtio-SCSI 的優勢在於它能處理上百、上千個裝置,而 virtio-blk 只能處理廿八個裝置,並會耗盡 PCI 插槽。
- 透過 virtio-scsi 控制器連接虛擬硬碟或光碟、
- 透過 QEMU scsi-block 裝置,將實體 SCSI 裝置從主機端送往客座端、
- 允許每一台客座端使用上百、上千台裝置;不再侷限於先前 virtio-blk 的廿八台裝置限制。
KVM 的電源管理功能已經延伸,納入在虛擬機器裡以原生性方式支援 S4(暫停至磁碟)與 S3(暫停至記憶體)狀態,,加速客座端從以上兩種低電源狀態回復的速度。在早期的作法中,客座端會儲存至外部的硬碟或記憶體,並自外部硬碟或記憶體回復,這會導致延遲。
/usr/share/seabios/bios-pm.bin
檔案,而非預設的 /usr/share/seabios/bios.bin
檔案。
Red Hat Enterprise Linux 6.3 引介了網路卡的 SR-IOV 支援功能。這能讓 KVM 主機上的網路卡與 KVM 客座端共享。欲知 SR-IOV 的詳情,請參閱《虛擬主機配置與客座端安裝指南‧第 13 章 SR-IOV》。欲知 SR-IOV 與 be2net
驅動程式的相關資訊,請參閱〈章 2, 裝置驅動程式〉。
Red Hat Enterprise Linux 6.3 新增了時間戳記計數器(TSC,Time Stamp Counter)scaling 功能至 KVM,給 AMD-V(AMD 的虛擬技術)使用。這功能能在 KVM 客座端上,模擬給定的 TSC 頻率。BZ#634293
已加入 perf-kvm 工具,提供從主機端監控客座端效能的功能。欲知更多資訊,請參閱 perf-kvm 的 man page。BZ#632768
7.2. SPICE
SPICE 擁有 KVM USB 2.0 主機介面模擬的支援功能,啟用遠端 USB 重新導向功能,讓伺服器上執行的虛擬機器使用遠端用戶端上插入的 USB 裝置。BZ#758104
7.3. libvirt
libvirt 現在能控制客座端虛擬網路介面的連線狀態(上傳、下載皆然)。這能讓使用者進行測試與模擬,一如插上 / 移除網路線。這功能也能讓使用者隔離出錯的用戶端。BZ#643373