kvm作為linux核心的一部分,有着無法比拟的優勢,相信kvm的大範圍企業應用指日可待。
一、kvm宿主伺服器環境配置
1. 檢視cpu是否支援vt技術
cat /proc/cpuinfo | egrep 'vmx|svm'
flags : fpu vme de pse tsc msr pae mce cx8 apic
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 aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16
xtpr pdcm dca sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority
如果執行指令後有類似傳回,則證明cpu支援vt
2. 安裝kvm元件
yum groupinstall virtualization
yum groupinstall "virtualization platform"
3. 檢查kvm子產品加載
lsmod | grep kvm
kvm_amd 37434 4
kvm 292815 1 kvm_amd
如果執行指令後有類似傳回,則證明kvm子產品加載正常,否則檢查bios中是否開啟了cpu vt支援
4. 安裝virtsh virt-install 管理工具
yum install libvirt-client python-virtinst
二、虛拟機安裝
1. 建立虛拟機磁盤鏡像檔案
qcow2格式是kvm支援的标準格式,raw格式為虛拟磁盤檔案通用格式。有測試資料表明raw格式的i/o性能略高于qcow2格式,但是在加密,容量,快照方面qcow2格式有優勢
qemu-img create -f qcow2 test.qcow2 20g //建立qcow2格式磁盤檔案
qemu-img create -f raw test.raw 20g //建立raw格式磁盤檔案
qemu-img info test.qcow2 //檢視已經建立的虛拟磁盤檔案
2. 建立虛拟機示例
建立1g記憶體、2核cpu、單網卡,磁盤和網絡驅動使用virtio的linux虛拟機
virt-install --name rhel6.4 \
--boot network,cdrom,menu=on \
--ram 1024 --vcpus=2 \
--os-variant=rhel6.4 \
--accelerate \
--cdrom=/troodon/iso/centos-6.4-x86_64-bin-dvd1.iso \
--disk path=/troodon/kvm/test01/test01.img,size=30,format=qcow2,bus=virtio \
--bridge=br0,model=virtio --mac=54:52:00:01:79:e9 \
--vnc --vncport=5991 --vnclisten=0.0.0.0.
建立8g記憶體、4核cpu、雙網卡,磁盤和網絡驅動使用virtio的linux虛拟機
--ram 8192 --vcpus=4 \
--disk path=/troodon/kvm/test01/test01.img,format=qcow2,bus=virtio \
--bridge=br0,model=virtio --mac=54:52:00:0b:8b:79 \
--bridge=br1,model=virtio --mac=54:52:00:7e:8e:cd \
--vnc --vncport=5991 --vnclisten=0.0.0.0
建立1g記憶體、1核cpu、單網卡,磁盤和網絡驅動使用virtio的windows虛拟機
virt-install --name win2k3 \
--ram 1024 --vcpus=1 \
--os-variant=win2k3 \
--cdrom=/troodon/iso/windows/2003/win2k3sp1.iso \
--disk path=/troodon/kvm/win2k3/win2k3.img,size=5,format=qcow2,bus=virtio \
--bridge=br0,model=virtio \
一些解釋:
virtio驅動對于磁盤和網絡i/o性能有很大提升(預設qemu驅動),linux虛拟機安裝完成後自動加載virtio驅動,windows虛拟機需要下載下傳virtio驅動後安裝
--mac參數指定網卡mac位址,如果不指定系統會自動配置設定
虛拟機配置檔案存儲在 /etc/libvirt/qemu 目錄,配置檔案為xml格式
開機自啟動的虛拟機配置可以通過連結放到 /etc/libvirt/qemu/autostart 目錄,配置檔案為xml格式
3. 虛拟機安裝指令 virt-install 簡介
--name 指定虛拟機名稱,virsh操作指定虛拟機時所需要的參數,不可以重複。
--ram 配置設定記憶體大小,安裝完成後可以用 virsh 調整。
--vcpus 配置設定cpu核心數,最大與實體機cpu核心數相同,安裝完成後也可以用 virsh 調整。
--disk 指定虛拟機鏡像, size 指定配置設定大小機關為g。
--network 網絡類型,此處用的是預設,一般用的應該是 bridge 橋接。
--os-variant 指定作業系統類型,此處使用的是标準linux 2.18,其他的可以通過 man virt-install 詳細檢視。
--accelerate 加速,具體什麼原理還不太清楚。
--cdrom 指定安裝鏡像所在。
--vnc 啟用vnc遠端管理,一般安裝系統都要啟用。
--vncport 指定 vnc 監控端口,預設端口為 5900,端口不能重複。
--vnclisten 指定 vnc 綁定ip,預設綁定127.0.0.1,這裡将其改為 0.0.0.0 以便可以通過外部連接配接。
4. 虛拟機管理指令 virsh 簡介
virsh list 列出目前虛拟機清單,不包括未啟動的
virsh list --all 列出所有虛拟機,包括所有已經定義的虛拟機
virsh start domain-name 啟動指定虛拟機
virsh shutdown domain-name 停止指定虛拟機
virsh reboot domain-name 重新啟動指定虛拟機
virsh autostart domain-name 指定虛拟機開機自動啟動