Redhat/CentOS6.2 x86系統KVM虛擬機安裝過程詳解

什麼是 KVM ?

KVM 是指基於 Linux 內核的虛擬機(Kernel-based Virtual Machine)。 2006 年 10 月,由以色列的Qumranet 組織開發的一種新的“虛擬機”實現方案。 2007 年 2 月發佈的 Linux 2.6.20 內核第一次包含了 KVM 。增加 KVM 到 Linux 內核是 Linux 發展的一個重要里程碑,這也是第一個整合到 Linux 主線內核的虛擬化技術。

KVM 在標準的 Linux 內核中增加了虛擬技術,從而我們可以通過優化的內核來使用虛擬技術。在 KVM 模型中,每一個虛擬機都是一個由 Linux 調度程序管理的標準進程,你可以在用戶空間啓動客戶機操作系統。一個普通的 Linux 進程有兩種運行模式:內核和用戶。 KVM 增加了第三種模式:客戶模式(有自己的內核和用戶模式)。

一個典型的 KVM 安裝包括以下部件:

  • 一個管理虛擬硬件的設備驅動,這個驅動通過一個字符設備 /dev/kvm 導出它的功能。通過 /dev/kvm每一個客戶機擁有其自身的地址空間,這個地址空間與內核的地址空間相分離或與任何一個正運行着的客戶機相分離。
  • 一個模擬硬件的用戶空間部件,它是一個稍微改動過的 QEMU 進程。從客戶機操作系統執行 I/O 會擁有QEMU 。 QEMU 是一個平臺虛擬化方案,它允許整個 PC 環境(包括磁盤、顯示卡(圖形卡)、網絡設備)的虛擬化。任何客戶機操作系統所發出的 I/O 請求都被攔截,並被路由到用戶模式用以被 QEMU 過程模擬仿真。


CentOS6.2 x86上安裝KVM功能模塊步驟

以下操作都以root用戶進行。

1、檢查CPU信息

KVM 需要有 CPU 的支持(Intel VT 或 AMD SVM),在安裝 KVM 之前檢查一下 CPU 是否提供了虛擬技術的支持。

基於 Intel 處理器的系統,運行 grep vmx /proc/cpuinfo 查找 CPU flags 是否包括 vmx 關鍵詞

# grep vmx /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce

 cx8 apic sep  mtrr pge mca cmov pat
 pse36 clflush dts acpi mmx
 fxsr sse sse2 ss ht tm pbe syscall nx lm
 constant_tsc arch_perfmon pebs bts
 rep_good pni monitor ds_cpl
 vmx est tm2 ssse3 cx16 xtpr lahf_lm ida
 flags : fpu vme de pse tsc msr pae mce
 cx8 apic sep mtrr pge mca cmov pat
 pse36 clflush dts acpi mmx fxsr sse sse2
 ss ht tm pbe syscall nx lm constant_tsc
 arch_perfmon pebs bts rep_good pni
 monitor  ds_cpl vmx est tm2 ssse3 cx16

  xtpr lahf_lm ida

基於 AMD 處理器的系統,運行 grep svm /proc/cpuinfo 查找 CPU flags 是否包括 svm 關鍵詞

# grep svm /proc/cpuinfo

   注 : 一些廠商禁止了機器 BIOS 中的 VT 選項 , 這種方式下 VT 不能被重新打開。

注意:/proc/cpuinfo 僅從 Linux 2.6.15(Intel) 和 Linux 2.6.16(AMD) 開始顯示虛擬化方面的信息。請使用 uname -r 命令查詢您的內核版本。如有疑問,請聯繫硬件廠商。

2、檢查BIOS,確保BIOS裏開啓VT選項:

Intel(R) Virtualization Tech [Enabled]

如有必要,還需在BIOS中開啓VT並重啓機器。

3、從本地光盤(把dvd光盤配置爲yum本地庫的方法)查詢、安裝軟件包

查詢:

yum --disablerepo=\* --enablerepo=c6-media groupinfo Virtualization

yum --disablerepo=\* --enablerepo=c6-media groupinfo 'Virtualization Client'

安裝:

yum --disablerepo=\* --enablerepo=c6-media groupinstall Virtualization

yum --disablerepo=\* --enablerepo=c6-media groupinstall 'Virtualization Client'

group的名字不分大小寫。

Virtualization各工具包內容如下表所示:



主機能聯互聯網的,直接用指令:

yum groupinstall Virtualization 'Virtualization  Client'

來完成安裝。

較低版本的系統,如Redhat/CentOS5.6的,使用指令:

yum --disablerepo=\* --enablerepo=c5-media groupinstall kvm

3、安裝api支持

yum --disablerepo=\* --enablerepo=c6-media install libvirt
service libvirtd start

4、驗證是否已經載入KVM模塊

# lsmod | grep kvm
kvm_intel              50380  3
kvm                   305081  1 kvm_intel

#ll /dev/kvm
crw-rw-rw-+ 1 root kvm 10, 232 May  4 16:06 /dev/kvm

至此,主機的KVM功能已經具備,微笑可以安裝客戶操作系統了。


安裝客戶機操作系統

安裝客戶機操作系統兩種方式,一種通過母機GUI的虛擬機管理程序virt-manager,一種通過母機命令行virt-install工具。

命令行方式:

#virt-install \
    --name=v1
    --ram=512
    --vcpus=1
    --cdrom=/media/CentOS_6.2_final.iso
    --os-type=rhel6  
    --disk /var/lib/libvirt/imgages/v1.img,size=8,bus=virtio,cache=writeback  
    --network bridge=br0,model=virtio

下面對上面的命令進行解讀

--name    給虛擬機起個名字
--ram     分配給虛擬機的內存,單位MB
--vcpus   分配給虛擬機的cpu個數
--cdrom   指定安裝文件的全路徑
--disk    指定虛擬機img文件路徑,如果虛擬機使用lvm分區,這裏就指向到lvm的分區就行
    size      虛擬機文件大小,單位GB
    bus       虛擬機磁盤使用的總線類型,爲了使虛擬機達到好的性能,這裏使用virtio
    cache     虛擬機磁盤的cache類型
--network bridge    指定橋接網卡
    model  網卡模式,這裏也是使用性能更好的virtio
--graphics         圖形參數

可以用man virt-install 指令查看幫助,最後有很多示例。

GUI方式:

打開菜單Applications->System Tools->Virtual Machine Management



點擊圖標Create a new virtual machine

按照順序設置虛擬機名稱、CPU,內存,磁盤,網絡等。

五個設置步驟完成後,仍然可以修改虛擬機的配置信息。

至此,整個虛擬機安裝過程完成。


基於KVM建立的虛擬機相關文件默認存放位置
kvm虛擬機配置文件位置:/etc/libvirt/qemu/     
kvm虛擬機文件位置:var/lib/libvirt/images/  




發佈了67 篇原創文章 · 獲贊 26 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章