kvm虛擬化安裝配置手冊

文章源於http://www.opsadmin.com/archives/kvm%E8%99%9A%E6%8B%9F%E5%8C%96%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE%E6%89%8B%E5%86%8C.html
html

環境
系統    centos6.2-x86_64
IP地址    192.168.0.99

1、KVM宿主機安裝:
 一、安裝條件:
1)含有KVM的Linux 發行版本必須在64bit環境中才能使用。
2)KVM須要一臺能夠運行最新linux內核的Intel處理器(VT虛擬化技術)或AMD處理器(含SVM安全虛擬機技術的AMD處理器, 也叫AMD-V)。

可使用以下命令檢查:
[root@kvm ~]# grep -Po "(vmx|svm)" --color=always /proc/cpuinfo
vmx
vmx

若是輸出的結果包含 vmx,它是 Intel處理器虛擬機技術標誌;若是包含 svm則說明是 AMD處理器虛擬機技術標誌。若是你甚麼都得不到,那應你的系統並無支持虛擬化的處理,不能使用kvm。

3)打開CPU支持虛擬化(以DELL服務器爲例):
服務器啓動後,按F2鍵進入BIOS設置,按上下鍵找到」PROCESSOR SETTINGS」--〉回車--〉找到「Virtualization Technology」,按空格鍵,選擇ENABLED--〉esc保存退出

二、安裝KVM
1)在現有系統中安裝 KVM 軟件包
這部分論述了要在正常工做的 Centos6.2 系統中安裝 KVM 管理程序的步驟。
要在 Centos6.2 中使用虛擬化,您須要有 kvm 軟件包。kvm 軟件包中含有 KVM 內核模塊,它可在默認Linux 內核中提供 KVM 管理程序。
To install the kvm package, run:
# yum install kvm
安裝其它推薦的虛擬化軟件包:
# yum install virt-manager libvirt libvirt-python python-virtinst

三、安裝後驗證
1)測試KVM加載成功
運行命令 lsmod | grep kvm 檢查 KVM 模塊是否成功安裝。若是結果相似於如下輸出,那麼 KVM 模塊已成功安裝:
[root@kvm ~]# lsmod | grep kvm
kvm_intel              50380  6
kvm                   305113  1 kvm_intel

2)確認KVM安裝成功

關閉SELinux:
修改/etc/selinux/config文件中的SELINUX=disabled,而後重啓。
若是不想重啓系統,使用命令setenforce 0
———————————————————————————————————
修改虛擬化配置文件:vi /etc/libvirt/libvirtd.conf, 否則對應服務不能啓動
listen_tcp = 1
mdns_adv = 0

[root@kvm ~]# virsh -c qemu:///system list
Id Name                 State
———————————-
因本機初始安裝,因此虛擬機列表爲空,若是在這裏顯示的是一個錯誤的信息,說明有些東西出現了問題。

四、宿主機網絡設置

      1)安裝必要的軟件
宿主服務器安裝完後先要設定網絡,通常設置爲bridge模式,即橋接模式,橋接模式須要手動設置。
首先安裝bridge-utils和tunctl
yum install bridge-utils tunctl
而後查看tun模塊是否已經被加載
lsmod | grep tun
若是沒有,則須要手動加載tun模塊
modprobe tun

2)修改宿主服務器網卡文件
方法1:使用命令行配置
[root@kvm ~]#cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]#cp ifcfg-eth0 ifcfg-br0

修改拷貝的文件配置
[root@kvm network-scripts]# sed -i -e ‘s/DEVICE=eth0/DEVICE=br0/’
/etc/sysconfig/network-scripts/ifcfg-br0
echo TYPE=Bridge >>/etc/sysconfig/network-scripts/ifcfg-br0
echo BRIDGE=br0 >> /etc/sysconfig/network-scripts/ifcfg-eth0

方法2:手動配置
配置以後文件爲:
[root@kvm ~]#cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# vi ifcfg-br0
填入:
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.0.99
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

[root@kvm network-scripts]# vi ifcfg-eth0
填入:
DEVICE=eth0
HWADDR=18:03:73:CC:23:2F
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br0

配置好好,重啓宿主網卡:
Service network restart

若是有多個網卡須要使用橋接方式,按此方法,依次增長

五、防火牆設置

Vi /etc/sysconfig/iptables
-I FORWARD -m physdev –physdev-is-bridged -j ACCEPT
Service iptables restart

六、系統參數設置

Vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

Sysctl -p

七、重啓libvirt
Service libvirtd restart
python


2、建立虛擬機
linux

1. 創建虛擬機磁盤鏡像文件windows

qcow2格式是kvm支持的標準格式,raw格式爲虛擬磁盤文件通用格式。有測試數據代表raw格式的I/O性能略高於qcow2格式,可是在加密,容量,快照方面qcow2格式有優點centos

 
 
  1. qemu-img create -f qcow2 test.qcow2 20G  //創建qcow2格式磁盤文件安全

  2. qemu-img create -f raw test.raw 20G      //創建raw格式磁盤文件服務器

  3. qemu-img info test.qcow2                 //查看已經建立的虛擬磁盤文件網絡

2. 創建虛擬機示例dom

建立1G內存、2核CPU、單網卡,磁盤和網絡驅動使用virtio的linux虛擬機tcp

 
 
  1. virt-install --name rhel5.4 \

  2. --boot network,cdrom,menu=on \

  3. --ram 1024 --vcpus=2 \

  4. --os-variant=rhel5.4 \

  5. --accelerate \

  6. --cdrom=/troodon/ISO/CentOS-6.2-x86_64-bin-DVD1.iso \

  7. --disk path=/troodon/KVM/test01/test01.img,size=30,format=qcow2,bus=virtio \

  8. --bridge=br0,model=virtio --mac=54:52:00:01:79:e9 \

  9. --vnc --vncport=5991 --vnclisten=0.0.0.0.

建立8G內存、4核CPU、雙網卡,磁盤和網絡驅動使用virtio的linux虛擬機

 
 
  1. virt-install --name rhel5.2 \

  2. --boot network,cdrom,menu=on \

  3. --ram 8192 --vcpus=4 \

  4. --os-variant=rhel6 \

  5. --cdrom=/troodon/ISO/CentOS-6.2-x86_64-bin-DVD1.iso \

  6. --disk path=/troodon/KVM/test01/test01.img,format=qcow2,bus=virtio \

  7. --bridge=br0,model=virtio  --mac=54:52:00:0b:8b:79 \

  8. --bridge=br1,model=virtio  --mac=54:52:00:7e:8e:cd \

  9. --vnc --vncport=5991 --vnclisten=0.0.0.0

建立1G內存、1核CPU、單網卡,磁盤和網絡驅動使用virtio的windows虛擬機

 
 
  1. virt-install --name win2k3 \

  2. --ram 1024 --vcpus=1 \

  3. --os-variant=win2k3 \

  4. --accelerate \

  5. --cdrom=/troodon/ISO/Windows/2003/win2k3sp1.iso \

  6. --disk path=/troodon/KVM/win2k3/win2k3.img,size=5,format=qcow2,bus=virtio \

  7. --bridge=br0,model=virtio \

  8. --vnc --vncport=5991 --vnclisten=0.0.0.0

一些解釋:

virtio驅動對於磁盤和網絡I/O性能有很大提高(默認qemu驅動),linux虛擬機安裝完成後自動加載virtio驅動,windows虛擬機須要下載virtio驅動後安裝

--mac參數指定網卡mac地址,若是不指定系統會自動分配

虛擬機配置文件存儲在 /etc/libvirt/qemu 目錄,配置文件爲XML格式

開機自啓動的虛擬機配置能夠經過連接放到 /etc/libvirt/qemu/autostart 目錄,配置文件爲XML格式

3. 虛擬機安裝指令 virt-install 簡介

 
 
  1. --name 指定虛擬機名稱,virsh操做指定虛擬機時所須要的參數,不能夠重複。

  2. --ram 分配內存大小,安裝完成後能夠用 virsh 調整。

  3. --vcpus 分配CPU核心數,最大與實體機CPU核心數相同,安裝完成後也能夠用 virsh 調整。

  4. --disk 指定虛擬機鏡像, size 指定分配大小單位爲G。

  5. --network 網絡類型,此處用的是默認,通常用的應該是 bridge 橋接。

  6. --os-variant 指定操做系統類型,此處使用的是標準Linux 2.6,其餘的能夠經過 man virt-install 詳細查看。

  7. --accelerate 加速,具體什麼原理還不太清楚。

  8. --cdrom 指定安裝鏡像所在。

  9. --vnc 啓用VNC遠程管理,通常安裝系統都要啓用。

  10. --vncport 指定 VNC 監控端口,默認端口爲 5900,端口不能重複。

  11. --vnclisten 指定 VNC 綁定IP,默認綁定127.0.0.1,這裏將其改成 0.0.0.0 以即可以經過外部鏈接。

4. 虛擬機管理指令 virsh 簡介

 
 
  1. virsh list 列出當前虛擬機列表,不包括未啓動的

  2. virsh list --all 列出全部虛擬機,包括全部已經定義的虛擬機

  3. virsh start domain-name 啓動指定虛擬機

  4. virsh shutdown domain-name 中止指定虛擬機

  5. virsh reboot domain-name 從新啓動指定虛擬機

  6. virsh autostart domain-name 指定虛擬機開機自動啓動


5.經過VNC安裝虛擬機

下載windows客戶端

http://sourceforge.net/projects/tigervnc/files/

根據vncPort鏈接進入後和正常安裝系統同樣

安裝完成後用virsh start domain-name 啓動指定虛擬機

相關文章
相關標籤/搜索