在 Red Hat Enterprise Linux 5.4 Release Notes 上面談到關於虛擬化將同時支援兩種平台

Xen + KVM(Kernel-based Virtual Machine),安裝完成的兩個核心將使用不同的 hypervisor

(Xen / KVM) 不過預設還是使用 Xen 的核心來開機,另外只有 x86_64 的版本才有支援 KVM

(Kernel-based Virtual Machine)目前的 KVM 支援 FV(Fully Virtualized) 的 Guest OS.以

下是又目前支援的 Guest OS 32-bit 或是 64-bit .
Red Hat Enterprise Linux 3 
Red Hat Enterprise Linux 4 
Red Hat Enterprise Linux 5 
Windows XP 
Windows Server 2003 
Windows Server 2008 
我們來快速看一下 RHEL5 Update 4 x86_64 KVM(Kernel-based Virtual Machine) 要如何來

使用,在一開始安裝 RHEL5 update4 x86_64 時要注意系統安裝預設是不包含 KVM 的,安裝套件

時要選擇個別選擇套件的方式(Customize now)


wKiom1dmtV_gziedAACH1gkxh9k884.jpg-wh_50



在 Virtualization 中點選 KVM,但是這樣還不夠需要選擇 KVM 所有的套件 KVM -> Select all optional packages.或是點選 Optional packages 勾選所有的套件.

wKiom1dmtXDBT9pIAACeCXmAgow552.jpg-wh_50




RHEL5 update4 x86_64 安裝完成後系統預設使用 Xen kernel 開機,此時要選擇一般的核心來開機, 才會啟動 KVM Hypervisor .不管是 Xen 還是 KVM 
使用的都是同一套的管理工具 libvirt virtualization tools (virt-manager 以及 virsh),通常我們會使用 virt-manager(或是在 Applications / System Tools / Virtual Machine Manager) 來管理 virtual machine.
[root@benjr ~]# virt-manager
在一開始會看到錯誤訊息不用管他,因為系統預設使用 Xen 為預設的 hypervisor ,我需要手動去開啟 KVM 的 Hypervisor.
Unable to open a connection to the Xen hypervisor/daemon
Verify that:
- A Xen host kernel was booted
- The Xen service has been started.

wKioL1dmtYKDztCEAACrmFpvLnk707.jpg-wh_50


在 File / Add Connection 中選擇 QEMU 為 Hypervisor.

將下來的是就跟 Xen 在建立新的 Virtual Machine 步驟一樣,不過只有 full virtualized ,也很清楚的看到 Hypervisor 變成 KVM 了.


wKiom1dmtZODgUc2AACs3bw8tFE634.jpg-wh_50

我們來看看 Xen 和 KVM(Kernel-based Virtual Machine) 是如何的不一樣.Xen 的本身就是一個 VMM(Virtual Machine Monitor) 所有的硬體和 Guest OS 的管控都必須透過他.連 Dom0 都是一個 Para-Virtualized 的 Guest OS.他提供兩種方式的虛擬化 PV(Paravirtualized) 是一種可以讓 Guest OS 直接和硬體溝通的方式用以加速虛擬化效能.
但缺點是需要修改 Guest OS 的核心才可以支援.另外一種則是 FV(Fully Virtualized) Guest OS 的核心不需要做修改但是需要硬體 CPU 的支援才可以,如行現的 Intel VT 或者 AMD-V.
KVM 為 Linux 核心的一部份(2.6.16或更高,),原生的 Linux 還是直接可以跟硬體溝通,所以比 Xen 小更容易使用,它有下列的特點.
? KVM 的 Guest OS 就跟 Processes 一樣可以透過 top , kill ... 去做管理. 
? KVM 需要有 Intel VT 或者 AMD-V 的支援. 
? KVM 使用 QEMU 來做他的 I/O 模擬. 
? 目前支援的 Guest OS 有 Linux(32/64位)和Windows(32位). 
http://www.gridvm.org/xen-vs-kvm.html
目前 RHEL5 update4 x86_64 KVM 已經有些已知的問題可以上 redhat 的 nown_Issues-kvm 來查詢!
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Technical_Notes/Known_Issues-kvm.html
________________________________________
從 "http://www.osslab.org.tw/index.php?title=%E5%AF%A6%E9%A9%97%E5%B0%88%E6%A1%88/Virtualization/KVM/%E4%BB%96%E7%AB%99%E6%96%87%E7%AB%A0/RHEL5_update4_x86_64_Xen_%2B_KVM" 獲取v

2010-04-26