一、安裝部署kvm
1.準備工作
對于真實的實體機來說需要先進入bios開啟intel-vt(intel的cpu)或amd-v(amd的cpu)功能。
對于vmware workstation的虛拟機來說,進入虛拟機設定,針對處理器勾選此服務即可。
2.安裝方式
在已有的系統基礎上,安裝kvm所需軟體
kvm子產品
kvm調試工具,可不安裝
python元件,記錄建立vm時的xml檔案
qemu元件,建立磁盤、啟動虛拟機等
網絡支援工具
虛拟機管理工具
圖形界面管理虛拟機
驗證
重新開機系統後,輸入以上指令,如果有輸出資訊說明cpu支援虛拟化;
注意:
amd伺服器可用cat /proc/cpuinfo | grep smv 指令檢視。
檢查kvm子產品
3.設定kvm網絡
兩種模式:
nat(使用者模式):資料包由nat方式通過主機的接口進行傳送,可以通路外網,但是無法從外部通路虛拟機網絡。
bridge(橋接模式):允許虛拟機像一台獨立的主機一樣擁有網絡。
這裡介紹bridge方式
[root@centos1 ~]# vim /etc/sysconfig/network-script/ifcfg-br0
重新開機系統或network服務後,可以檢視ip位址的配置情況。
注意:你可能發現eth0的網絡資訊裡面沒有ipv4的位址了.或者你的gui界面的網絡顯示你是斷網的. 這不用擔心.因為eth0的網絡能力已經通過br0進行工作.你的host網絡還是能正常工作的。
4.kvm管理
virt-manager是基于libvirt的圖像化虛拟機管理軟體。
(1)建立存儲池
輕按兩下localhost(qemu)
選擇第三個頁籤(存儲),點選”+”,彈出新的對話框,輸入存儲池的名稱。
選擇存儲目錄
(2)以同樣的方法建立鏡像存儲池,這裡的名稱是benet_iso。
(3)建立存儲卷,選中建立的存儲池,點選右下角的“建立卷”,會彈出一下對話框。
根據需求設定存儲卷的名稱和大小
注意:磁盤檔案格式預設為raw
(4)右擊localhost(qemu),選擇建立,可以建立虛拟機了。
(5)鏡像的選擇有兩種方式:使用光驅中的CD光牒;使用鏡像存儲池中的鏡像檔案。
(6)選擇安裝方法,這裡選擇使用本地安裝媒體。
(7)自定義記憶體、cpu
(8)為虛拟機配置設定磁盤存儲大小
(9)勾選在安裝前自定義配置
(10)這裡可以設定虛拟機的一些功能
(11)點選左上角的”begin installtion”,進入安裝界面。
(12)安裝完成後,在主界面可以顯示所安裝的虛拟機。
二、使用kvm指令集管理虛拟機
1.基本功能管理
檢視虛拟機狀态
虛拟機關機
虛拟機開機
強制執行個體系統關閉電源
可以使用虛拟機的配置檔案啟動執行個體
[root@centos1 ~]# virsh suspend 虛拟機名稱 //挂起虛拟機
[root@centos1 ~]# virsh resume 虛拟機名稱 //恢複虛拟機
[root@centos1 ~]# virsh autostart 虛拟機名稱 //配置虛拟機執行個體主控端自動啟動
[root@centos1 ~]# virsh dumpxml 虛拟機名稱 > /etc/libvirt/qemu/bak.xml
//到處虛拟機配置
[root@centos1 ~]# virsh shutdown 虛拟機名稱
[root@centos1 ~]# virsh undefine 虛拟機名稱 //删除虛拟機(先關閉)
注意:這種方法删除的是虛拟機的配置檔案,但是磁盤檔案不會删除。
[root@centos1 ~]# cd /etc/libvirt/qemu
[root@centos1 ~]# mv bak.xml 虛拟機名稱.xml
[root@centos1 ~]# virsh define 虛拟機名稱.xml //重新定義虛拟機
[root@centos1 ~]# vim /etc/libvirt/qemu/虛拟機名稱.xml
[root@centos1 ~]# virsh edit 虛拟機名稱
//兩種方法都可以修改虛拟機配置檔案
2.kvm檔案管理
虛拟機磁盤檔案有raw與qcow2格式,kvm虛拟機預設使用raw格式。
raw格式性能最好、速度最快,其缺點是不支援一些新的功能。
安裝libguestfs-tools後産生的指令行工具有virt-cat、virt-df、virt-ls、virt-copy-in、virt-copy-out、virt-edit、guestfs、guestmount、virt-list-filesystems、virt-list-partitions等工具。該工具可以在不啟動kvm guest主機的情況下,直接檢視guest主機内的文内容,也可以直接向img鏡像中寫入檔案和複制檔案到外面的實體機,當然其也可以像mount一樣,支援挂載操作。(這個工具可以直接讀取qcow2格式的磁盤檔案,是以需要将raw格式的磁盤檔案轉換成qcow2格式)
(1)轉換raw格式磁盤為qcow2格式
[root@centos1 ~]# qemu0img info /data_kvm/store/benet_kvm.img
//檢視目前磁盤格式(benet_kvm.img為guest的存儲檔案)
[root@centos1 ~]# qemu-img convert -f raw -o qcow2 /data_kvm/store/benet_kvm.img
//轉換磁盤檔案格式
(2)修改centos6.5的xml配置檔案
[root@centos1 ~]# virsh edit centos6.5
……
<disk type=’file’ device=’disk’>
<dirver name=’qemu’ type=’qcow2’ cache=’none’/>//第23行
<source file=’/data_kvm/store/centos6.5.qcow2’/>
<target dev=’vda’ bus=’virtio’/>
kvm虛拟機的克隆和生成快照,都需要磁盤格式為qcow2。
克隆指令格式:
[root@centos1 ~]# virt-clone -o 虛拟機名稱 -n 克隆後的名稱 -f
/data_kvm/store/克隆後的名稱.qcow2
建立快照指令格式:
[root@centos1 ~]# virsh snapshot-create 虛拟機名稱
檢視快照資訊:
[root@centos1 ~]# virsh snapshot-current 虛拟機名稱
注意:生成的快照都會對應一個名稱即一串數字,在恢複、删除快照時要指定虛拟機的名稱和這一串數字
例如:
恢複虛拟機狀态至1382572463
[root@centos1 ~]# virsh snapshot-revert 虛拟機名稱 1382572463
删除快照
[root@centos1 ~]# virsh snapshot-delete 虛拟機名稱 1382572463