Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
章 8. 虛擬化
8.1. KVM
virtio-SCSI
KVM 的虛擬化儲存堆疊已經有所改進,新增了 virtio-SCSI 功能(基於 SCSI、給 KVM 使用的儲存架構)。Virtio-SCSI 提供了直接連結 SCSI LUN 的功能,顯著改善了 virtio-blk 的可擴充性。virtio-SCSI 的優勢在於它能處理上百、上千個裝置,而 virtio-blk 只能處理約廿五個裝置,並會耗盡 PCI 插槽。
Virtio-SCSI 現在能繼承目標裝置的的功能組:
- 透過 virtio-scsi 控制器連接虛擬硬碟或光碟、
- 透過 QEMU scsi-block 裝置,將實體 SCSI 裝置從主機端送往客座端、
- 允許每一台客座端使用上百、上千台裝置;不再侷限於先前 virtio-blk 的約廿五台裝置限制。
virtio-scsi 是 Red Hat Enterprise Linux 6.3 的技術預覽功能,並在 Red Hat Enterprise Linux 6.4 中成為完整支援功能。最新的 virtio-win 驅動程式現在也支援 Windows 客座端(不含 Windows XP)。
支援 Intel 的下一代 Core 處理器
Red Hat Enterprise Linux 6.4 在 qemu-kvm 中新增了對 Intel 下一代 Core 處理器的支援,這樣 KVM 客座端可以善用此處理器所提供的功能,其中的重要功能有:Advanced Vector Extensions 2 (AVX2), Bit-Manipulation Instructions 1 (BMI1), Bit-Manipulation Instructions 2 (BMI2), Hardware Lock Elision (HLE), Restricted Transactional Memory (RTM), Process-Context Identifier (PCID), Invalidate Process-Context Identifier (INVPCID), Fused Multiply-Add (FMA), Big-Endian Move instruction (MOVBE), F Segment and G Segment BASE instruction (FSGSBASE), Supervisor Mode Execution Prevention (SMEP), Enhanced REP MOVSB/STOSB (ERMS)。
支援 AMD Opteron 4xxx 系列處理器
現在 qemu-kvm 支援 AMD Opteron 4xxx 處理器。這允許 KVM 客座端使用此處理器系列的新功能,例如 F16C instruction set、Trailing Bit Manipulation、BMI1(Bit-Manupulation Instructions 1)decimate functions、以及 Fused Multiply-Add (FMA) 指令集。
透過 SPICE,使用 USB 轉送功能進行客座端線上遷移
Red Hat Enterprise Linux 6.4 支援透過 SPICE,使用 USB 轉送功能進行客座端線上遷移,同時維護所有現有已配置裝置的 USB 裝置重導向功能。
使用 USB 裝置線上遷移客座端
在 Red Hat Enterprise Linux 6.4 中,KVM 支援使用 USB 線上裝置遷移客座端。RHEL 6.4 支援以下裝置:Enhanced Host Controller Interface (EHCI) 與 Universal Host Controller Interface (UHCI) 本地穿透與模擬裝置,例如儲存裝置、滑鼠、鍵盤、集線器等。
更新 QEMU 客座端代理程式
Red Hat Enterprise Linux 6.4 已完整支援 QEMU 客座端代理程式(由 qemu-guest-agent 套件所提供),目前已更新至上游版本 1.1,同時包括了以下顯著的功能更新,並修正了錯誤:
guest-suspend-disk
與guest-suspend-ram
指令可以用來將 Windows 作業系統休眠至記憶體或硬碟。- 現在
guest-network-get-interfaces
指令可以用來取得 Linux 中的網路介面資訊。 - 這更新提供了凍結檔案系統的支援之改進與修正。
- 這更新包括多個文件修正與小幅改進。
半虛擬化的中斷結束指示(PV-EOI)
對於每個中斷,執行 RHEL 6.3 以前版本的主機與客座端需要兩個 VM 退出程式(從虛擬機器到 Hypervisor 的文本切換):一個是為了投入中斷,另一個是提出訊號,表示中斷結束。當主機與客座端系統更新至 RHEL 6.4 以上,便可以與版虛擬化的中斷結束功能溝通,同時每個中斷只需要一次切換。因此,主機與客座端皆使用 RHEL 6.4 以上時,退出的數量會減半,例如 virtio 網路裝置的連入網路交通。這會顯著降低主機處理器的負載。請注意,只有 edge 中斷才會有所改善:例如 e1000 網路卡使用的是 level 中斷,其效能就不會改善。
可配置的音效通透功能
除了被偵測為
line-in
與 line-out
以外,客座端的音效裝置可以被偵測為 microphone
。音效裝置可以在客座端應用程式中正常運作,即使這些應用程式只接受特定類型的錄音輸入與音效亦然。
8.2. Hyper-V
包括 Microsoft Hyper-V 驅動程式,也支援客座端安裝此驅動程式
在 Microsoft Hyper-V 上整合 RHEL 客座端的安裝,以及支援 RHEL 6.4 上的 Hyper-V 半虛擬裝置,能讓使用者在 Microsoft Hyper-V 上執行 RHEL 6.4 客座端。以下 Hyper-V 驅動程式與時鐘來源已經加入 RHEL 6.4 的 kernel:
- 網路驅動程式(
hv_netvsc
) - 儲存裝置驅動程式(
hv_storvsc
) - HID 相容的滑鼠驅動程式(
hid_hyperv
) - VMbus 驅動程式(
hv_vmbus
) - 工具程式驅動程式(
hv_util
) - IDE 磁碟驅動程式(
ata_piix
) - 時脈來源(i386, AMD64/Intel 64:
hyperv_clocksource
)
RHEL 6.4 也包括了 Hyper-V 作為時脈來源,以及客座 Hyper-V 的 KVP(Key-Value Pair)daemon(
hypervkvpd
)用來把基本資訊,例如客座端 IP、FQDN、作業系統名稱、以及作業系統版本等,透過 VMbus 傳送到主機上。
8.3. VMware ESX
VMware PV 驅動程式
VMware 半虛擬驅動程式已經更新,已提供在 VMware ESX 中使用 RHEL 6.4 時,開機即用的無縫體驗。Anaconda 安裝程式也已經更新,以在安裝過程中列出驅動程式。以下驅動程式已經更新:
- 網路卡驅動程式(
vmxnet3
) - 儲存裝置驅動程式(
vmw_pvscsi
) - 記憶體飄移驅動程式(
vmware_balloon
) - 滑鼠驅動程式(
vmmouse_drv
) - 顯示卡驅動程式(
vmware_drv
)