KVM是指基於Linux核心的虛擬機器(Kernel-base Virtual Machine),增加到Linux核心是Linux發展的一個重要裡程碑,這也是第一個整合到Linux主線核心的虛擬化技術。在KVM模型中,每一個虛擬機器都是一個由Linux發送器管理的標準進程,你可以在使用者空間啟動客戶機作業系統,一個普通的Linux進程有兩種運行模式:核心和使用者,KVM增加了第三種模式:客戶模式(有自己的核心和使用者模式)。
1 KVM虛擬機器的管理工具
準確的來說,KVM僅僅是Linux核心的一個模組,管理和建立完整的KVM虛擬機器,需要更多的協助工具輔助。
QEMU-KVM:在Linux系統中,首先我們可以用modprobe命令載入KVM模組,如果用RPM安裝KVM軟體包,系統會在啟動時自動載入模組,QEMU是一個強大的虛擬軟體,它可以虛擬不同的構架。
Virt-manager:儘管QEMU-KVM工具可以建立和管理KVM虛擬機器,RedHat為KVM開發了更多的協助工具輔助,比如 libvirt libguestfs等,原因是QEMU工具效率不高,不便於使用。
1、首先檢查系統是否支援kvm,有兩個先決條件
a、系統是x86的,通過命令
uname -a
b、CPU 支援虛擬化技術
egrep 'vmx|svm' /proc/cpuinfo
如果看到有輸出結果,即證明cpu 支援虛擬化。同時特別注意需要檢查 BIOS 中是否開啟VT,如果沒有啟用,虛擬機器將會十分慢。
2、使用yum安裝kvm
安裝kvm核心yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64安裝virt管理工具yum install libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64
載入kvm 核心
modprobe kvmmodprobe kvm-intel
查看核心是否開啟
3、配置網路橋接,
進入目錄 /etc/sysconfig/network-scripts,複製一份原有的ifcfg-eth0 為 ifcfg-br0
cp ifcfg-eth0 ifcfg-br0
修改ifcfg-br0,內容如下:
DEVICE="br0"BOOTPROTO=staticONBOOT="yes"TYPE="Bridge"IPADDR=192.168.31.60GATEWAY=192.168.31.1NETMASK=255.255.255.0DEFROUTE=yes
IPADDR、GATEWAY、NETMASK根據自己的實際情況修改。
修改 ifcfg-eth0, 內容如下:
DEVICE="eth0"BOOTPROTO=noneNM_CONTROLLED="no"ONBOOT="yes"TYPE="Ethernet"BRIDGE="br0"HWADDR=F8:DB:88:FF:99:E3DEFROUTE=yesIPV4_FAILURE_FATAL=yesNAME="System eth0"
重啟網路服務即可。
/etc/init.d/network restart
如果出現問題,關閉 NetworkManager 後重試。
chkconfig NetworkManager offservice NetworkManager stop
4、使用virt-install 工具安裝 guest 系統。
a、建立硬碟映像檔案
使用 qemu-img 命令建立
qemu-img create -f raw /var/lib/libvirt/images/test.img 8G
或使用 dd 命令建立
dd bs=1M count=8096 if=/dev/zero of=/var/lib/libvirt/images/test.img
qemu-img 是建立是檔案格式是疏鬆檔案,優點是速度超快,由於是疏鬆檔案,效能可能會比第二種略差,通過如下命令查看詳情
qemu-img info /var/lib/libvirt/images/test.img
輸出為:注意其中 disk size 為 0
image: test.img
file format: raw
virtual size: 8.0G (8589934592 bytes)
disk size: 0
更多關於疏鬆檔案的資訊,請自行搜尋。
b、通過iso檔案安裝系統
virt-install --name=test --ram 1024 --vcpus=2 --disk path=/var/lib/libvirt/images/test.img,size=3 --accelerate --cdrom /home/CentOS-6.6-x86_64-minimal.iso --graphics vnc,listen=0.0.0.0 --network bridge=br0 --force --autostart --connect qemu:///system
使用 vnc 用戶端串連,IP 用host的ip,如果是第一個虛擬機器,連接埠為 5900, 如果出現連不上,確認host的iptables的狀態,最好是先關閉iptables。連上後就像安裝系統一樣一步步來安裝即可。