一、概念介紹
1、libvirt是linux上的虛擬化庫,是長期穩定的c語言api,支援kvm/qemu、xen、lxc等主流虛擬化方案。virsh是libvirt對應的shell命令。
2、kvm,即kernel-basedvirtual machine的簡稱,是乙個開源的系統虛擬化模組,自linux 2.6.20之後整合在linux的各個主要發行版本中。它使用linux自身的排程器進行管理,所以相對於xen,其核心原始碼很少。kvm目前已成為學術界的主流vmm之一。kvm的虛擬化需要硬體支援(如intel vt技術或者amd v技術)。是基於硬體的完全虛擬化。而xen早期則是基於軟體模擬的para-virtualization。
3、vnc既遠端訪問軟體,用於訪問建立好的虛擬機器。
二、配置環境
1、linux debian8.8
2、安裝kvm/qemu
$ apt-get install kvm qemu
3、安裝libvirt
$ apt-get install libvirt-bin libvirt-dev
4、網橋管理工具
$ apt-get install bridge-utils
5、安裝vnc viewer
安裝vnc viewer(有win/linux/android)版本,本人是安裝在windows下的。
6、檢視是否支援虛擬化
$egrep 'vmx|svm' --color /proc/cpuinfo
kvm 是基於 x86 虛擬化擴充套件(intel vt 或者 amd-v) 技術的虛擬機器軟體,所以檢視 cpu 是否支援 vt 技術,就可以判斷是否支援kvm。有返回結果,如果結果中有vmx(intel)或svm(amd)字樣,就說明cpu的支援的。
7、載入kvm 核心
$modprobe kvm
$modprobe kvm-intel
$lsmod | grep kvm#檢視核心
三、建立虛擬機器
1、找1個合適的winxp安裝映象(iso)
為何這一步單獨拿出講, 是有原因的。
kvm 的虛擬硬碟的模式是virtio,virtio的效能和穩定性上佳, 但是windows安裝盤是找不到virtio模式的虛擬硬碟的, 必須要在安裝前先載入virtio的磁碟驅動。
2、準備虛擬硬碟檔案。
$qemu-img create -f raw /data/my_kvm.raw10g
3、配置虛擬網絡卡
這裡本人的br_eth0資訊如下:
hwaddr 20:25:64:80:61:94
inet addr:10.12.13.20
bcast:10.12.255.255
mask:255.255.0.0
4、準備和編寫1個虛擬機器配置檔案。(備份,以後可以重用/遷移)
1) 虛擬機器cpu數量(非必要,預設是2)
2) 虛擬機器記憶體大小(非必要,預設是2g)
3) 虛擬硬碟檔案位置。
4) winxp安裝映象的位置。
5) 虛擬網路例項的名字( 非必要, /etc/network/inte***ces 裡新加的br0 如果你用了別的名字的話)
6) vnc 埠(預設5900,除非你這個埠被占用否則不要改
下面定義乙個my_kvm.xml用於配置虛擬機器:
//如果是xen,則type=『xen』
my_kvm //虛擬機器名稱,同一物理機唯一
fd3535db-2558-43e9-b067-314f48211343 //同一物理機唯一,可用uuidgen生成
2048000
2048000 //memory這兩個值最好設成一樣
2 //虛擬機器可使用的cpu個數,檢視物理機可用cpu個數:cat /proc/cpuinfo |grep processor | wc-l
hvm//arch指出系統架構型別,machine 則是機器型別,檢視機器型別:qemu-system-x86_64 -m ?
//啟動介質,第一次需要裝系統可以選擇cdrom光碟啟動
//表示啟動按f12進入啟動選單
//advanced configuration and power inte***ce,高階配置與電源介面
//advanced programmable interrupt controller,高階可程式設計中斷控制器
//physical address extension,實體地址擴充套件
//虛擬機器時鐘設定,這裡表示本地本機時間
destroy //突發事件動作
restart
restart
//裝置配置/
/usr/bin/kvm //如果是xen則是/usr/lib/xen/binqemu-dm
//硬碟
// if windows must ide else virtio
/* 利用linux網橋連線網路 */
//配置的網橋網絡卡名稱
//配置vnc,windows下可以使用vncviewer登入,獲取vnc埠號:virsh dumpxml my_kvm | grep 「vnc」
5、基於這個配置檔案建立1個虛擬機器
1)建立虛擬機器
$virsh create my_kvm.xml
2)檢視是否執行
$virsh list
6、安裝winxp到虛擬機器
在vnc viewer輸入**+埠開啟,這時你已經見到winxp的安裝介面了。之後安裝也就是幾個下一步的事情,安裝完成後,設定ip,這裡要與宿主機設定在同乙個網段,這樣就可以通過橋接訪問外網,
7、維護這個虛擬機器.(start/shutdown/update..)
馬上檢查ip是否同一網段, 如果是, 則開啟遠端桌面服務。以後就可以通過遠端桌面訪問了, 丟下不好用的vnc viewer。
四、製作模板
模板虛擬機器安裝好之後,停止該虛擬機器,複製製作過程如下:(以本人second.xml為例)
下面的目錄都是根據個人習慣,使用者也可以根據自己的習慣設計目錄結構。
1、新建/data/xml目錄下second.xml:
second
fd3535db-2558-43e9-b067-314f48311345//uuid要做相應的修改 2048000
2048000
2hvm
destroy
restart
restart
/usr/bin/kvm
2、複製映象檔案,再存放做好的映象的目錄下,本人的是data,轉殖映象,轉殖出來的檔案非常小只有幾mb,這裡為了管理方便,將映象和xml配置檔案分開存放。在這裡已經製作出了新的模板my_kvm.raw,拷貝到/data/modules下:
cp my_kvm.raw moudles/my_kvm.img
進入/data/moudles目錄下,製作模板快照(注意:這裡製作映象需要qcow2格式):
qemu-img create -f qcow2 my_kvm.qcow2-o backing_file=my_kvm.img
3、建立虛擬機器
進入到/data/xml目錄下
virsh create second.xml
五、總結
通過此次kvm虛擬機器的建立工作,我了解到如何在linux安裝windows虛擬機器,而不是之前在windows vmware中安裝linux虛擬機器的按鍵式操作。利用xml配置檔案簡化了kvm虛擬機器的建立,但是需要了解網路的配置、埠、mac位址等概念的實際運用。利用virsh操作虛擬機器更加方便快捷。
理論和實踐相結合,首先了解虛擬機器的原理,然後了解虛擬軟體,然後了解虛擬機器管理軟體,然後就更上層的虛擬機器排程;總的來說kvm和qemu就是虛擬軟體,負責建立和執行虛擬機器,但是卻不能很方便的管理多個虛擬機器的例項,為了更加方便的管理虛擬機器,所有出現了libvirt和virsh等函式庫和相應的命令列工具。
KVM虛擬機器安裝
1 kvm即kernel based virtual machine,目前支援intel vt及amd v的原生虛擬技術。作為核心模組整合在核心 2.6.20 中,因此,在enable kvm之前需要確保主機cpu是否支援前面兩種硬體輔助虛擬化hvm技術。grep e vmx svm proc cp...
安裝KVM虛擬機器
kvm是linux核心的一種技術,有著很高的相容性,效能也非常好,相對物理機而言它就是乙個程序 1 安裝的環境準備 在真實伺服器上安裝要開啟虛擬化功能,在虛擬機上安裝也要開啟 檢視cpu 是否支援虛擬化 2 安裝 yum install qemu kvm qemu kvm tools virt ma...
KVM複製虛擬機器,KVM轉殖虛擬機器
1.關閉要轉殖的虛擬機器 2.語法 virt clone o 原虛擬機器 n 新虛擬機器 f 新虛擬機器存放的路徑 virt clone o centos7.0 n xuegod110 f var lib libvirt images xuegod110.img qcow2格式 virt clone...