CentOS 6 下安裝KVM虛擬機器
一、KVM簡介
KVM是開源軟體,全稱是kernel-based virtual machine(基於核心的虛擬機器),是一個開源的系統虛擬化模組,基於硬體的完全虛擬化,不過需要硬體支援(如Intel VT技術或者AMD V技術)。自Linux 2.6.20之後整合在Linux的各個主要發行版本中。它使用Linux自身的調度器進行管理,所以相對於Xen,其核心源碼很少。KVM目前已成為學術界的主流VMM之一。
二、KVM安裝
1. 準備工作
關閉iptables防火牆
BIOS開啟CPU支援虛擬化(一般預設是開啟的)
查看CPU是否支援KVM完全虛擬化
查看方法:
# cat /proc/cpuinfo | egrep--color=always'vmx|svm' #如有資訊輸出則可判斷支援
2. 安裝虛擬化相關軟體包
系統yum升級
#yum update (or #yum upgrade)
安裝虛擬化和圖形案頭軟體包組
#yum -y groupinstall "Virtualization""Desktop""X Window System""Desktop Platform"
安裝KVM相關
#yum -y installkvmlibvirtlibvirt-pythonpython-virtinst virt-manager qemu-kvm-tools virt-viewer virt-v2v
安裝完成後重啟系統
#reboot
3. 查看載入的KVM模組
# lsmod|grep kvm
kvm_intel 55656 6
kvm 345659 1 kvm_intel
# stat /dev/kvm
File: "/dev/kvm"
Size: 0 Blocks: 0 IO Block: 4096 character special file
Device: 5h/5d Inode: 10640 Links: 1 Device type: a,e8
Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 36/ kvm)
Access: 2016-04-21 17:20:39.789558372 +0800
Modify: 2016-04-21 17:20:39.789558372 +0800
Change: 2016-04-21 17:20:39.789558372 +0800
4. 查看libvirtd運行狀態
#/etc/init.d/libvirtd status
libvirtd (pid 2491) is running...
5. 配置網路橋接
備份ifcfg-eth0
#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /root
建立br0
#cd /etc/sysconfig/network-scripts/
#cp ifcfg-eth0 ifcfg-br0
查看配置的內容,這裡選擇了自動擷取IP地址,
[root@node4 network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
[root@node4 network-scripts]# cat ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
6.重啟網路服務
#/etc/init.d/network restart
三、安裝虛擬機器
在/data/vm目錄下建立2個用於安裝虛擬機器的磁碟鏡像:
#qemu-img create -f raw /data/vm/vm01.img 10G #用於圖形化安裝虛擬機器
#qemu-img create -f qcow2 /data/vm/vm02.img 10G #用於命令列安裝虛擬機器
1. 用virt-manager圖形化安裝虛擬機器
開啟應用程式->系統工具->虛擬系統管理器
點擊建立虛擬機器按鈕,輸入虛擬機器名稱,點前進,
選擇掛載的CD光碟片和作業系統選項,點前進,
確定虛擬機器的記憶體和CPU,點前進,
為虛擬機器啟用已經建好的儲存硬碟,點前進,
下一步確認虛擬機器的資訊,點擊完成後就進入到安裝系統的介面,安裝步驟這裡就不介紹了。
2. 命令列安裝虛擬機器的命令如下:
#virt-install --virt-type kvm -n vm02 -r 1024 --disk path=/data/vm/vm02.img,size=10,format=qcow2 -w bridge:br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --location=http://192.168.1.166/centos6
查看 vnc 啟動在哪個連接埠
#virsh vncdisplay vm02
相關參數可以查看協助,
--location 這裡用了http服務做了系統的安裝源,就是把光碟片掛載目錄連結到了網站根目錄下
然後可以用VNC用戶端軟體訪問VNC介面,就是正常安裝系統的介面。
3. virsh 管理虛擬機器的命令
virsh list
virsh list all
virsh start vm01
virsh shutdown vm01
virsh destroy vm01
其他相關命令可查看協助
#virsh -h