一、安裝所需軟件包
#apt-get install kvm
#apt-get install qemu
#apt-get install libvirt-bin libvirt
管理
#apt-get install bridge-utils
網絡橋接
如果需要支持kvm虛機從網卡啟動,還需安裝kvm-pxe包
#apt-get install kvm-pxe
二、建立一個虛機
可以參考libvirt官網http://libvirt.org/formatdomain.html>,自己新建一個xml定義域文件
其中可以定義虛機的域名、UUID、啟動選項hd、cdrom、network>
內存大小、cpu個數、硬盤與光驅鏡像路徑、網卡相關等
虛機磁盤格式為qcow2
下面為實例:建一個centos系統
###ubuntu下建議vim用vim-gnome###
刪除自帶的vim
#apt-get remove vim-tiny
安裝vim-gnome
#apt-get install vim-gnome
1、創建一個目錄用于存放虛機相關文件
#mkdir /datastore
2、先要創建網絡橋接設備保證eth0沒有IP,傳遞給vSwich0;vSwitch0名稱可自定義>
#ifconfig eth0 先得到eth0的IP,假設為192.168.1.22
#/sbin/ifconfig eth0 0.0.0.0 promisc up
#/usr/sbin/brctl addbr vSwitch0
#/usr/sbin/brctl addif vSwitch0 eth0
#/sbin/ifconfig vSwitch0 192.168.1.22 netmask 255.255.255.0 up
#/sbin/route add default gw 192.168.1.1 dev vSwitch0
以上命令重啟失效,可以寫一個腳本,然后在/etc/rc.local中添加執行路徑
#!/bin/sh
if /sbin/ifconfig vSwitch0 down > /etc/null 2>1
then
/usr/sbin/brctl delbr vSwitch0 > /etc/null 2>1
/sbin/ifconfig eth0 0.0.0.0 promisc up
/usr/sbin/brctl addbr vSwitch0
/usr/sbin/brctl addif vSwitch0 eth0
/sbin/ifconfig vSwitch0 192.168.1.22 netmask 255.255.255.0 up
/sbin/route add default gw 192.168.1.1 dev vSwitch0
else
/sbin/ifconfig eth0 0.0.0.0 promisc up
/usr/sbin/brctl addbr vSwitch0
/usr/sbin/brctl addif vSwitch0 eth0
/sbin/ifconfig vSwitch0 192.168.1.22 netmask 255.255.255.0 up
/sbin/route add default gw 192.168.1.1 dev vSwitch0
fi
3、建立xml定義文件,下面是我的xml文件
XML/HTML Code復制內容到剪貼板
- domain type='kvm' id='1'>
- name>templates-1/name> ##域名
- uuid>0112310a-ff1a-bfb5-7cd8-5b2b22ad8de1/uuid> ##UUID
- memory>262144/memory> ##最大內存
- currentMemory>262144/currentMemory> ##當前內存
- vcpu>1/vcpu> ##cpu個數
- os>
- type arch='x86_64' machine='pc'>hvm/type>
- boot dev='cdrom'/> ##啟動模式
- /os>
- features>
- acpi/>
- apic/>
- pae/>
- /features>
- clock offset='localtime'/>
- on_poweroff>destroy/on_poweroff>
- on_reboot>restart/on_reboot>
- on_crash>restart/on_crash>
- devices>
- emulator>/usr/bin/kvm/emulator>
- disk type='file' device='disk'>
- source file='/datastore/templates-1.qcow2'/> ##此虛機磁盤文件路徑
- target dev='hda' bus='ide'/> ##盤符
- /disk>
- disk type='file' device='cdrom'>
- target dev='hdc' bus='ide'/>
- source file='/datastore/centos-5.4.iso'/> ##虛擬光驅鏡像路徑
- readonly/>
- /disk>
- interface type='bridge'>
- mac address='00:e0:4c:f0:e0:11'/> ##mac地址
- source bridge='vSwitch0'/> ##橋接設備
- target dev='vnet0'/> ##虛擬設備
- /interface>
- input type='tablet' bus='usb'/>
- input type='mouse' bus='ps2'/>
- graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0' keymap='en-us'/>
- sound model='es1370'/>
- video>
- model type='cirrus' vram='9216' heads='1'/>
- /video>
- /devices>
- /domain>
定義文件中的磁盤與光盤鏡像路徑一定要真實存在
4、創建虛擬機磁盤
# qemu-img create -f qcow2 templates-1.qcow2 20G
Formatting 'templates.qcow2', fmt=qcow2 size=21474836480 encryption=off cluster_size=0
指創建一個名稱為templates.qcow2 格式為qcow2 大小為20G的虛擬磁盤
# du -sh templates.qcow2
136K templates.qcow2
此大小會隨著系統的變化而變化,但最大應該不超過20G
5、啟動安裝
#virsh define templates-1.xml
定義一個虛機
#virsh start templstes-1
啟動一個虛機
#virsh vncdisplay templates-1
查看vnc端口,用于安裝過程的窗口化管理
#vncviewer :0
打開vnc窗口
此命令需要安裝其中一個
# vncviewer
程序“vncviewer”已包含在下列軟件包中:
* xtightvncviewer
* xvnc4viewer
* tightvnc-java
* vnc-java
請嘗試:
apt-get install
選定的軟件包>
###如果有多個虛機,各自的vnc端口應該是不同的###
#virsh destoy DOMAINNAME
關閉一個虛機
更多命令詳解
#virsh --help
6、如果需要圖形化管理,可以安裝諸如virt-manager類包