標籤: 暫無標籤

  一 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系列也是基於軟體模擬的Para-Virtualization。

  二 KVM虛擬機安裝與使用

  1前期準備

  1.1確定機器有VT

  終端輸入命令: grep VMX /proc/cpuinfo (INTEL晶元)

  grep svm /proc/cpuinfo (AMD晶元)

  不知道晶元的生產廠商則輸入:egrep '(vmx|svm)' /proc/cpuinfo

  如果flags: 里有vmx 或者svm就說明支持VT;如果沒有任何的輸出,說明你的cpu不支持,將無法成功安裝KVM虛擬機。

  1.2 確保BIOS里開啟VT:

  Intel(R) Virtualization Tech [Enabled]

  如有必要,還需在BIOS中開啟VT-d

  1.3確保內核版本較新,支持KVM

  用uname –r查看內核版本,如果在2.6.20以下的linux版本,需升級內核。

  2安裝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為enalble,使用命令

  #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

  3 在KVM下安裝虛擬機

  3.1用QEMU創建磁碟鏡像

  sudo qemu-img create –f qcow windows.img 8G

  註:在CentOS和新版Qemu中為:qemu-img create –f qcow2 windows.img 8G

  3.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選項。

  4 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可能會很慢)
上一篇[Kwrite]    下一篇 [KOHJINSHA]

相關評論

同義詞:暫無同義詞