天天看點

虛拟化之KVM--RedHat最新虛拟化技術

本節将詳細介紹下KVM的安裝和配置,KVM是紅帽5.4發行版中推出的最新虛拟化技術,嚴格上說它是完全虛拟化的産品,VMware和vpc,virtualbox等也都是完全虛拟化的産品,而xen則是半虛拟化的産品,半虛拟化從性能上說要比完全虛拟化快很多,但xen有個缺點,它是重量級的虛拟機,修改了大量的核心源代碼,它的guest機器必須了解xen化的硬體,也就是說xen上面隻能運作紅帽5以後的系統,後來紅帽修改了發行版4中的一個版本,使其也能支援xen,而且Xen的完全虛拟化需要借助硬體CPU的VT技術,這個在inter cpu上叫vmx,在AMD cpu中叫svm, xen的完全虛拟化可以說是個失敗品,運作效率甚至趕不上VMware,而且操作界面相當不友好,但這不能否認xen在半虛拟化世界的霸主地位,kvm是kernel virtual module的簡寫,其實kvm借鑒了xen在半虛拟化上的很多成就,雖然kvm是完全虛拟化的産品,但在關鍵的硬碟和網卡上支援半虛拟化virtio,在很大程度上提高了性能,kvm是輕量級虛拟化的代表,也需要硬體vt技術的支援,另外從操作界面上看,xen和kvm都是用virt-manager工具,差别不是很大,但不可以在同一台機器上同時安裝且運作Xen和KVM;另外kvm在隻能運作在紅帽企業版5.4 64位系統上,同時需要關閉selinux …

1:使用yum庫來安裝kvm所需的軟體,如果在安裝系統的時候輸入了安裝序列号,可以勾選kvm,虛拟化來安裝這些軟體

[root@jsb-ylw-5052 ~]# yum -y install kvm kvm-* etherboot-roms-kvm.x86_64 virt-*

2:啟動libvirtd服務,并保證下次自動啟動

[root@jsb-ylw-5052 ~]# service libvirtd start    

Starting libvirtd daemon:                                  [ 确定 ]

[root@jsb-ylw-5052 ~]# chkconfig libvirtd on

3:橋接器的生成,這個在安裝xen後,會自動建立橋接網絡xenbr0,kvm在這點上似乎不夠友好

[root@jsb-ylw-5052 ~]# cd /etc/sysconfig/network-scripts/   

[root@jsb-ylw-5052 network-scripts]# cp ifcfg-eth0 ifcfg-br0

[root@jsb-ylw-5052 network-scripts]# cat ifcfg-eth0 

# nVidia Corporation MCP77 Ethernet

DEVICE=eth0

BOOTPROTO=static

HWADDR=90:E6:BA:70:B2:28

IPADDR=192.168.50.24

NETMASK=255.255.255.0

ONBOOT=yes

BRIDGE=br0   //将eth0橋接到br0

[root@jsb-ylw-5052 network-scripts]# cat ifcfg-br0 

DEVICE=br0

TYPE=Bridge //br0為橋接

4:重新開機網絡,測試網絡連通性

[root@jsb-ylw-5052 network-scripts]# service network restart 

[root@jsb-ylw-5052 network-scripts]# ifconfig 

br0       Link encap:Ethernet HWaddr 90:E6:BA:70:B2:28 

inet addr:192.168.50.24 Bcast:192.168.50.255 Mask:255.255.255.0 

eth0      Link encap:Ethernet HWaddr 90:E6:BA:70:B2:28 

inet6 addr: fe80::92e6:baff:fe70:b228/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

virbr0    Link encap:Ethernet HWaddr 00:00:00:00:00:00 

inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0

………………………………………………輸出省略…………………………………………

[root@jsb-ylw-5052 network-scripts]# pingwww.g.cn-c 2 

PINGwww.g.cn(203.208.39.99) 56(84) bytes of data.

64 bytes from bi-in-f99.1e100.net (203.208.39.99): icmp_seq=1 ttl=243 time=42.4 ms

64 bytes from bi-in-f99.1e100.net (203.208.39.99): icmp_seq=2 ttl=243 time=42.8 ms

5:劃lvm,将虛拟機的硬碟存儲設定為lvm,可以提高I/O提高性能, 裝windows7需要15G左右的硬碟空間,可以使用lvextend指令擴充分區大小

[root@jsb-ylw-5052 ~]# fdisk -l /dev/sda |grep LVM 

/dev/sda14          31385       32601     9775521   8e Linux LVM

[root@jsb-ylw-5052 ~]# pvcreate /dev/sda14 

Physical volume "/dev/sda14" successfully created

[root@jsb-ylw-5052 ~]# vgcreate vol0 /dev/sda14 

Volume group "vol0" successfully created   

[root@jsb-ylw-5052 ~]# lvcreate -L 9.32G -n win7 vol0

Rounding up size to full physical extent 9.32 GB

Logical volume "win7" created

6:開始安裝,ID下面标注為qemu,表示kvm

虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術

如果下圖中的完全虛拟化按鈕是灰色的,那就說明你的硬體不支援VT技術,也有可能硬體支援,而BIOS卻禁用了它,我的AMD cpu就是這種情況,通過指令:cat /proc/cpuinfo |grep -E 'vmx|svm' 可以檢視硬體是否支援VT

虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術

前面如果沒有做橋接器,下圖中就不會出現橋接br0

虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術

安裝完成後需要将預設的IDE硬碟和網卡換成virtio,并打上驅動程式,這樣性能就可以提升很多了,驅動檔案已上傳至csdn,位址為:http://ylw6006.download.csdn.net/詳細的安裝步驟這裡就不贅述了…

下面附上我在winxp下的virtio截圖,可以看到硬碟和網卡已經驅動正常了……

虛拟化之KVM--RedHat最新虛拟化技術

4月9日,今天心血來潮,測試了下kvm的性能,下步準備在kvm上部署下ndb實驗環境……

cpu: AMD Phenom(tm) 8750 Triple-Core Processor 3核

記憶體:4G

經測試,可以同時運作7台rhel5.4和一台WinXP,linux每台記憶體配置設定300M,WinXP為1G

虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術
虛拟化之KVM--RedHat最新虛拟化技術