在虛擬機器上採用 Spice 及 LibVirt(CentOS-6.2 或以上)
<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[1]"] (see also the log)>>
1. Spice 是甚麼
CentOS-6.2 引入一個新版的 LibVirt(0.9.4-23 版),它內置了對 Spice 的支援。
Spice 計劃務求提供一個完全開源的方案來與虛擬桌面裝置進行互動。Spice 現時專注為 QEMU 虛擬機器提供高質素的遠端存取。它寄望通過克服傳統桌面虛擬化的挑戰及強調用戶體驗,能突破虛擬化被採納的障礙。有見及此,Red Hat 引入了 Spice 主從系統間通訊用的 SPICE 遠端運算協定。其它被開發的元件包括 QXL 顯示裝置及驅動程式等。
因此,Spice 是個強化、有助保持桌面體驗的方法來連線到一台 QEMU 虛擬機器。它提供 VM 的音效、而且能以極少的頻寬為 VM 帶來高端圖像。有關 Spice 的更多資訊,請見 spice-space.org 網站。
2. 如何轉換一台現有的 KVM 虛擬機器來應用 Spice
註:現時為止(截至 CentOS-6.2),只有 X86_64 架構可作為 KVM 虛擬機器的主機。這篇指引的對像是一台擁有 vmx(Intel 處理器)或 smx(AMD 處理器)處理器旗標的 CentOS-6.2 x86_64 機器,而且已採用 VirtManager(或 virsh 指令行介面)的 VM 主機。 |
註:Spice 只供 KVM(而不是 Xen)虛擬機器應用。 |
2.1. 安裝 Spice
1. 假若你有一台 KVM 虛擬機器現正採用 VNC 作為主控台(舊預設值),把 libvirt 升級至 0.9.4-23(或更高)版本後,請在主機上安裝以下 RPM:
yum install spice-server spice-client spice-protocol
在 CentOS 6.3 及以上版本,你可考慮安裝 virt-viewer。
2. 如果主機安裝了完整的圖像介面,你也許會想選擇安裝以下的 RPM:
yum install cairo-spice ffmpeg-spice-libs ngspice pixman-spice spice-glib spice-gtk spice-gtk-python spice-gtk-tools spice-xpi
2.2. 在一台現有的 KVM 虛擬機器上安裝 Spice 顯示器
1. 開啟 VirtManager 並雙重點擊該 VM。改動只會在 VM 關閉時發生,因此請先關掉 VM 才作出改動。
2. 關掉機器後,採用 View 選單項目並選取 Details。在左欄,找出 Display VNC 硬件項目,選擇它並點擊畫面右下方的 Remove 按鈕。
3. 點擊畫面右下角的 Add Hardware 選項,然後選取 Graphics,並在預設為 VNC Server 的 Type 下拉框選擇 Spice Server,然後點擊 Finish 按鈕。
你亦可選用 Listen on all Public Interfaces 的選項。這個選項能讓你在公眾的 IP 位址上聆聽,而不只在 127.0.0.1。如此你的 VM 便可供其它已安裝 spice-client 的機器作為連線對像(如以下所示)。另一個選項可讓你分派普通及安全連線的連接埠。常你從一個不安全的網線連線時,切記要設定密碼及採用安全連接埠。
註:你必須移除 VNC Display然後再新增 Spice Display……你不能把 VNC Display 改為 Spice Display,因為這樣並不會加入 spice 所需的額外裝置。 |
4. 選取 Video 硬件裝置,並在 Model 下拉框內選擇 qxl 裝置。按視窗右下方的 Apply 按鈕。
5. 現在你應該可以啟用讓機器,而它會採用 spice 作為預設的主控台連線。
6. 在某些(位於你的 VM 客端)操作系統上,你亦可安裝一些圖像驅動程式來獲得更佳的圖像效能。見 spice 的下戴頁關於 qxl 的 Windows 驅動程式。
3. 透過客端連線到 Spice
1. 假如你在 VM 的主機上,你可透過 VirtManager 利用主控台,但你亦可利用一個遠端客戶端來連線到該台機器。
你可這樣應用包含於 spice-client 內的 spicec:
spicec -h <host> -p <port_number> -w <password> (要是你採用安全連接埠,請以 -s <連接埠> 替代 -p …… -w <密碼> 是選擇性的)
在 CentOS 6.3 及以上版本,你可利用以下指令來連線(須要 virt-viewer 套件):
remote-viewer spice://<host>:<port_number>
spice-gtk-tools 套件內含有 spicy。如果你執行 spicy,你可以輸入主機名稱、密碼、及連接埠來連線到一台 spice 機器。
註:切記當你應用 spicec 或 spicy(或其它 spice 客戶端)時,你在連線至 KVM 主機的連接埠及名稱(或 IP 位址),而不是虛擬機器的名稱/位址。 |
Translation of revision 6