KVM虛擬化學習總結之安裝
0.VMware開啓虛擬化:
如果你不是是在windows上使用VMware進行的,可以忽略此步。
配置如下圖:
1.查看CPU是否支持虛擬化:
grep -E -o 'vmx|svm' /proc/cpuinfo |
VMX:它是Intel處理器虛擬機技術標誌;
SVM:它是AMD處理器虛擬機技術的標誌。
注:linux發行版本必須在64bit環境中才能使用KVM。
[root@localhost ~]# grep -E -o 'vmx|svm' /proc/cpuinfo vmx |
2.安裝kvm:
yum源使用的是Centos 6.4的光盤鏡像,無需網絡環境。
yum install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v qemu-kvm acpid -y |
安裝包簡介:
kvm :安裝kvm模塊
python-virtinst :安裝python組件,主要用來記錄創建vm時的xml文件
libvirt :安裝虛擬機管理工具,使用virsh來管理虛擬機
bridge-utils :安裝網絡支持工具
virt-manager :安裝圖形界面管理虛擬機(對於遠程的被管理主機,可以不安裝)
qemu-kvm-tools :安裝kvm調試工具(可以不安裝)
virt-viewer :安裝virt-viewer 圖形查看功能
virt-v2v :自動化將創建在Xen,KVM和ESX上的虛擬機拷貝到virt-v2v的主機
3.修改vnc的監聽端口:
vnc默認的監聽127.0.0.1。
因爲,在創建虛擬機時,需要連接vnc,去手動完成新系統的安裝。
cp /etc/libvirt/qemu.conf /etc/libvirt/qemu.conf.bak sed -i 's/#vnc_listen/vnc_listen/' /etc/libvirt/qemu.conf /etc/init.d/libvirtd start /etc/init.d/acpid start chkconfig libvirtd on chkconfig acpid on |
4.關閉SELinux並重啓:
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config reboot |
5.檢查KVM是否加載成功:
如果沒有輸出信息,則表示沒有加載成功。
lsmod | grep kvm |
[root@localhost ~]# lsmod | grep kvm kvm_intel 53484 0 kvm 316506 1 kvm_intel |
6.檢查KVM是否成功安裝:
--all :關閉的也會顯示,這個參數很重要。
virsh list --all |
[root@localhost ~]# virsh list --all Id Name State ---------------------------------------------------- |
7.各軟件版本的查詢:
可忽略此步。
但是,不同版本的命令,尤其是virt-install這個,參數會不兼容的。
virt-install --version virsh --version |
[root@Localhost ~]# rpm -qa | grep kvm qemu-kvm-0.12.1.2-2.295.el6_3.1.x86_64 qemu-kvm-tools-0.12.1.2-2.295.el6_3.1.x86_64
[root@Localhost ~]# rpm -qa | grep libvirt libvirt-client-0.9.10-21.el6_3.3.x86_64 libvirt-python-0.9.10-21.el6_3.3.x86_64 libvirt-0.9.10-21.el6_3.3.x86_64
[root@Localhost ~]# rpm -qa | grep qemu qemu-img-0.12.1.2-2.295.el6_3.1.x86_64 gpxe-roms-qemu-0.9.7-6.9.el6.noarch
[root@Localhost ~]# rpm -qa | grep virt virt-manager-0.9.0-14.el6.x86_64 virt-v2v-0.8.7-6.el6.x86_64 virt-viewer-0.5.2-9.el6.x86_64
[root@localhost ~]# virt-install --version 0.600.0 [root@localhost ~]# virsh --version 0.10.2 |
8.將網卡配置成橋接模式:
配置橋接網卡br0後,物理網卡eth0不需要獲得ip地址,其功能被br0取代,因此在配置的時候無論是靜態ip還是動態獲取都用br0取代eth0的ip地址,實際上數據發送還是通過本機的物理網卡。
例如橋接前eth0的靜態ip是172.22.2.92那麼配置橋接br0的靜態ip應爲172.22.2.92,而橋接後eth0沒有ip。
yum install -y tunctl cat << EOF > /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPV6INIT=no ONBOOT=yes IPADDR=172.22.2.92 NETMASK=255.255.0.0 GATEWAY=172.22.1.3 DNS1=8.8.8.8 DELAY=0 EOF
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/bak_ifcfg-eth0 cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none BRIDGE=br0 IPV6INIT=no EOF
/etc/init.d/network restart
#查看橋接網絡 brctl show |
9.安裝kvm的第一個guest系統:
Linux系統安裝時,內存最低512M(字符界面安裝Linux),,我在win7的vmw開了1G的內存。
virt-install的參數就先不介紹了,詳見後面。
virt-install --name=centos --ram=512 --vcpus=1 --disk path=/data/kvm/images/centos.img,cache=writeback,size=10,bus=virtio --cdrom /dev/cdrom --accelerate --vnclisten=172.22.2.92 --vncport=6900 --vnc --network bridge=br0 --force --autostart |
root@localhost ~]# virt-install --name=centos --ram=512 --vcpus=1 --disk path=/data/kvm/images/centos.img,cache=writeback,size=10 --cdrom /dev/cdrom --accelerate --vnclisten=172.22.2.92 --vncport=6900 --vnc --network bridge=br0 --force --autostart
Starting install... Creating storage file centos.img | 10 GB 00:00 Creating domain... | 0 B 00:00 Cannot open display: Run 'virt-viewer --help' to see a full list of available command line options Domain installation still in progress. You can reconnect to the console to complete the installation process. |
看到這裏,你需要使用vnc去連接172.22.2.92的6900端口,手動完成剩餘的安裝步驟。
10.查看新建的虛擬機信息:
使用virt-install 工具,工具自動創建磁盤,默認是raw格式,此格式不能使用快照功能。
qemu-img info img文件 |
[root@localhost ~]# qemu-img info /data/kvm/images/centos.img image: /data/kvm/images/centos.img file format: raw virtual size: 10G (10737418240 bytes) disk size: 1.5G [root@localhost ~]# virsh list --all Id Name State ---------------------------------------------------- 2 centos running
[root@localhost ~]# |
11.查看新建虛擬機的配置文件:
可以根據需求,修改虛擬機的配置,但需要重啓虛擬機。
[root@localhost ~]# cat /etc/libvirt/qemu/centos.xml <domain type='kvm'> #虛擬機類型 <name>centos</name> #虛擬機名稱 <currentMemory unit='KiB'>524288</currentMemory> #內存大小 <vcpu placement='static'>1</vcpu> #CPU個數 <type arch='x86_64' machine='rhel6.4.0'>hvm</type> #虛擬系統架構 <boot dev='hd'/> #虛擬機默認啓動爲硬盤 <emulator>/usr/libexec/qemu-kvm</emulator> #kvm驅動 <disk type='file' device='disk'> #磁盤類型 <driver name='qemu' type='raw' cache='writeback'/>#虛擬機硬盤格式 <source file='/data/kvm/images/centos.img'/> #虛擬機文件 <interface type='bridge'> #網絡類型爲橋接 <mac address='52:54:00:fe:d7:22'/> #網卡MAC地址,可以自己修改 <graphics type='vnc' port='6900' autoport='no' listen='172.22.2.92'> #vnc的配置 </domain> |
具體的解釋,可以參考這篇文章:http://my.oschina.net/guol/blog/73300
到此,kvm環境就介紹完了。