KVM虛擬機

KVM虛擬機

Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模組,自Linux 2.6.20之後集成在Linux的各個主要發行版本中。它使用Linux自身的調度器進行管理,所以相對於Xen,其核心源碼很少。KVM目前已成為學術界的主流VMM之一。

KVM的虛擬化需要硬體支持(如Intel VT技術或者AMD V技術)。是基於硬體的完全虛擬化。而Xen早期則是基於軟體模擬的Para-Virtualization,新版本則是基於硬體支持的完全虛擬化。但Xen本身有自己的進程調度器,存儲管理模組等,所以代碼較為龐大。廣為流傳的商業系統虛擬化軟體VMware ESX系列是基於軟體模擬的Full-Virtualization。

基本介紹

  • 中文名:KVM虛擬機
  • 解釋:一個開源的系統虛擬化模組
  • 套用:Linux自身的調度器進行管理
  • 價值:成為學術界的主流VMM之一
安裝方法,使用,KVM管理工具,

安裝方法

一、安裝準備
1.確定機器有VT
終端輸入命令: grep vmx /proc/cpuinfo (INTEL晶片)
grep svm /proc/cpuinfo (AMD晶片)
不知道晶片的生產廠商則輸入:egrep '(vmx|svm)' /proc/cpuinfo
如果flags: 里有vmx 或者svm就說明支持VT;如果沒有任何的輸出,說明你的cpu不支持,將無法成功安裝KVM虛擬機。
2. 確保BIOS里開啟VT
Intel(R) Virtualization Tech [Enabled]
如有必要,還需在BIOS中開啟VT-d
3. 確保核心版本較新,支持KVM
用uname -r查看核心版本,如果在2.6.20以下的linux版本,需升級核心。
二、安裝KVM
下面就Ubuntu和CentOS下安裝使用KVM虛擬機做介紹:
Ubuntu 中用guest登入,安裝KVM的命令為:
sudo apt-get install kvm qemu qemu-kvm virt-manager kernel-package linux-source kqemu-source build-essential
kvm安裝成功後會有/dev/kvm,如果無需圖形管理器,只需要安裝前三個即可。
再來查看下KVM是否安裝成功,執行:virsh -c qemu:///system list
如果輸入結果像下面這樣的,那么成功了:
Connecting to uri: qemu:///system
Id Name State
----------------------------------
注1:CentOS中安裝時,先要選擇Selinux為enable,使用命令
#system-config-securitylevel-tui
可查看或修改selinux的狀態。
注2: CentOS中用root登入時則安裝命令為:
yum install kvm kmod-kvm qemu
再裝入kvm模組:modprobe kvm-intel (Intel機器) 或者 modprobe kvm-amd (amd機器)
注3:可以用以下命令來檢查是否裝入kvm模組:
/sbin/lsmod | grep kvm
如果輸出關於kvm版本的信息則已裝入kvm模組
注4: 安裝好後,可使用qemu-kvm命令,輸入該命令,如果系統顯示未知的命令,可查看/usr/libexec中是否有qemu-kvm執行檔,如果有,將其拷貝到/bin目錄下即可。如果確實按照上面的步驟進行了,卻在/bin,/usr/libexec,/usr/bin,/usr/sbin里都找不到qemu-kvm執行檔,可執行以下命令:
#yum provides "*/qemu-kvm"
注5:安裝新核心後,可能有部分軟體版本過低,不兼容。比如firefox因版本過低,無法啟動。
CentOS下可使用如下命令更新該軟體(以firefox為例):
#yum update firefox
三、在KVM下安裝虛擬機
1.用QEMU創建磁碟鏡像
sudo qemu-img create –f qcow windows.img 8G
註:在CentOS和新版Qemu中為:qemu-img create –f qcow2 windows.img 8G
2.使用KVM安裝Guest VM
光碟安裝:
sudo kvm –localtime –cdrom /dev/cdrom -m 512 -boot d win2.img
sudo kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –clock –rtc –no-acpi
註:官方推薦使用 -no-acpi 參數,原因是 qemu/kvm不太支持,可能造成 cpu 的占用偏高。
注1:CentOS下硬碟安裝為 qemu-kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –no-acpi 即需要去掉了-clock rtc選項,否則會出現無法初始化時鐘。
注2:CentOS quest mouse: export SDL_VIDEO_X11_DGAMOUSE=0可解決VM中無法識別USB滑鼠的問題。
注3: 安裝win 7時,不能使用-no-acpi選項。

使用

KVM啟動Guest
① sudo kvm –boot c –m 512
–hda windows.img
② sudo kvm -boot c
-m 512
-hda /home/lm/kvm/winxp.img
-localtime
-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no
-clock rtc
-soundhw es1370
-smp 2
注意:在KVM-87下,請去掉df=h
-m 512 分配512MB的記憶體
-hda /home/lm/kvm/winxp.img
-localtime 使用本地時間(一定要加這個參數,不然虛擬機時間會有問題)
-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tapo,script=no
使用網路,並連線到一個存在的網路設備tap0,注意mac地址一定要自己編一個,特別是如果你虛擬了多個系統並且要同時運行的話,不然就MAC衝突了,在KVM-87下去掉df=h
-boot d 從光碟啟動 (從鏡像啟動也是用這個。從硬碟啟動則為 -boot c )
-smp 2 smp處理器個數為2個,如果你是4核處理器,後面的數字就為4
-clock rtc
使用rtc時鐘(如果不開啟此選項,WINXP可能會很慢)

KVM管理工具

KVM虛擬機
能夠管理KVM的工具很多。首先是單個資源的基礎虛擬化管理,有開源的虛擬化工具集libvirt,通過命令行接口提供安全的遠程管理,可管理單個系統。
然後是管理全部運行KVM的多個伺服器,有兩種:用Red Hat Enterprise Virtualization-Management,即RHEV-M(管理多個RHEV-H系統)和IBM Systems Director VMControl(管理多個RHEL系統)。
最後有Tivoli產品。包括Tivoli Provisioning Manager、Tivoli Service Automation Manager與Tivoli Monitoring for Virtual Servers。
IBM Systems Director VMControl
IBM Systems Director VMControl既能實現異構多平台管理,也能實現異構多系統管理。VMControl是IBM平台管理方案Systems Director的一部分,覆蓋了虛擬化管理三個關鍵領域:虛擬化、管理與自動化。VMControl也可作為獨立的產品外掛程式使用。
前不久,IBM發布了新版VMControl 2.4,可管理KVM與其他hypervisor。VMControl即能管理物理資源也能管理虛擬資源,還能管理異構hypervisor。用戶在現有運行VMware的環境中再安裝KVM,管理也無壓力。
VMControl 2.4允許跨平台跨hypervisor的鏡像管理,降低了複雜性、提升了生產效率。該軟體目前支持IBM PowerVM、z/VM VMware、Microsoft Xen 與KVM伺服器虛擬機技術。主要分為三個版本:
  • VMControl Express Edition:輕鬆管理虛擬機。發現虛擬化資源,了解系統運作情況,並能虛擬工作負載。包括查看、創建、修改與刪除虛擬機;開啟、停止與遷移虛擬機,以及管理多hypervisor。
  • VMControl Standard Edition:側重管理虛擬機鏡像。添加對虛擬鏡像庫的完整支持,包括創建、捕捉、輸入和部署鏡像。自動化資源配置並能移動資源。
  • VMControl Enterprise Edition:自動化工作負載配置。創建並啟用系統池管理,自動移動工作負載,完全支持KVM。
Tivoli產品系列
Tivoli是IBM Systems Director與VMControl的有益補充。提供高級別的端到端管理功能。主要的Tivoli產品已經能夠支持KVM。Tivoli重要功能有如下三個:
  • IBM Tivoli Monitoring:通過對候選虛擬化伺服器歷史趨勢的分析,作出整合級別的優先次序。此外,讓用戶對系統事件作出最佳反應。
  • Tivoli Provisioning Manager:為物理與虛擬軟硬體提供端到端的自動功能。包括發現並追蹤虛擬資源、同時創建上百台虛擬機,以及自動為Linux伺服器配置軟體。
  • Tivoli Service Automation Manager:自動請求、部署、監控並管理雲計算服務。通過自動化與對技能需求的降低,減少了服務交付成本,同時交付了高度標準化的IT服務,節省了IT管理員時間去完成高價值任務。
RHEV-M
RHEV-M(Red Hat Enterprise Virtualization-Management)使用圖形用戶界面管理物理與邏輯資源。允許管理員查看並管理虛擬機及其鏡像,還支持熱遷移,配置高可用性集群。隨著RHEV 3.0的發布,RHEV-M 3.0也已可用。
作為紅帽虛擬化平台的核心組件,RHEV-M管理控制台還能運行虛擬機的主機節點。可將RHEV-H hypervisor或帶有虛擬化授權的R紅帽企業Linux伺服器配置為節點。這兩種類型的節點使用KVM作為底層的hypervisor。RHEV-H hypervisor是設定RHEV節點的默認選項,它是裸機hypervisor,只包含了運行虛擬機RHEL代碼的一個子集。正因為如此,RHEV-H主機的維護更加容易。此外,這些主機需要較少的補丁和維護就能確保其安全性。
RHEV-H基礎檔案系統只有100多MB而且運行在記憶體中,這避免了對基礎鏡像的改變。專用的安全增強型Linux策略以及防火牆阻塞了所有流量,保證了RHEV-H節點的安全性。
RHEV管理器同樣還支持運行KVM的RHEL主機。這一特性使在現有RHEL環境中部署RHEV更加容易。
此外,還有很多開源工具可以管理KVM。比如,IBM紅帽等廠商加入到oVirt,這個開源虛擬化項目提供功能豐富的伺服器虛擬化管理系統,為主機和子機提供高級功能,包括高可用性熱遷移存儲管理系統調度等。

相關詞條

熱門詞條

聯絡我們