在Ubuntu系統(tǒng)上安裝部署KVM虛擬機(jī)的基本教程
作者:qiujichun 字體:[增加 減小] 來源:qiujichun的BLOG 時(shí)間:12-29 12:04:29 我要評(píng)論
一、安裝所需軟件包
#apt-get install kvm
#apt-get install qemu
#apt-get install libvirt-bin libvirt
如果需要支持kvm虛機(jī)從網(wǎng)卡啟動(dòng),還需安裝kvm-pxe包
二、建立一個(gè)虛機(jī)
可以參考libvirt官網(wǎng)<http://libvirt.org/formatdomain.html>,自己新建一個(gè)xml定義域文件
其中可以定義虛機(jī)的域名、UUID、啟動(dòng)選項(xiàng)<hd、cdrom、network>
內(nèi)存大小、cpu個(gè)數(shù)、硬盤與光驅(qū)鏡像路徑、網(wǎng)卡相關(guān)等
虛機(jī)磁盤格式為qcow2
下面為實(shí)例:建一個(gè)centos系統(tǒng)
###ubuntu下建議vim用vim-gnome###
刪除自帶的vim
安裝vim-gnome
1、創(chuàng)建一個(gè)目錄用于存放虛機(jī)相關(guān)文件
2、先要?jiǎng)?chuàng)建網(wǎng)絡(luò)橋接設(shè)備<保證eth0沒有IP,傳遞給vSwich0;vSwitch0名稱可自定義>
#ifconfig eth0 先得到eth0的IP,假設(shè)為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
以上命令重啟失效,可以寫一個(gè)腳本,然后在/etc/rc.local中添加執(zhí)行路徑
#!/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文件
- <domain type='kvm' id='1'>
- <name>templates-1</name> ##域名
- <uuid>0112310a-ff1a-bfb5-7cd8-5b2b22ad8de1</uuid> ##UUID
- <memory>262144</memory> ##最大內(nèi)存
- <currentMemory>262144</currentMemory> ##當(dāng)前內(nèi)存
- <vcpu>1</vcpu> ##cpu個(gè)數(shù)
- <os>
- <type arch='x86_64' machine='pc'>hvm</type>
- <boot dev='cdrom'/> ##啟動(dòng)模式
- </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'/> ##此虛機(jī)磁盤文件路徑
- <target dev='hda' bus='ide'/> ##盤符
- </disk>
- <disk type='file' device='cdrom'>
- <target dev='hdc' bus='ide'/>
- <source file='/datastore/centos-5.4.iso'/> ##虛擬光驅(qū)鏡像路徑
- <readonly/>
- </disk>
- <interface type='bridge'>
- <mac address='00:e0:4c:f0:e0:11'/> ##mac地址
- <source bridge='vSwitch0'/> ##橋接設(shè)備
- <target dev='vnet0'/> ##虛擬設(shè)備
- </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>
定義文件中的磁盤與光盤鏡像路徑一定要真實(shí)存在
4、創(chuàng)建虛擬機(jī)磁盤
# qemu-img create -f qcow2 templates-1.qcow2 20G
Formatting 'templates.qcow2', fmt=qcow2 size=21474836480 encryption=off cluster_size=0
指創(chuàng)建一個(gè)名稱為templates.qcow2 格式為qcow2 大小為20G的虛擬磁盤
# du -sh templates.qcow2
136K templates.qcow2
此大小會(huì)隨著系統(tǒng)的變化而變化,但最大應(yīng)該不超過20G
5、啟動(dòng)安裝
此命令需要安裝其中一個(gè)
程序“vncviewer”已包含在下列軟件包中:
* xtightvncviewer
* xvnc4viewer
* tightvnc-java
* vnc-java
請(qǐng)嘗試:
###如果有多個(gè)虛機(jī),各自的vnc端口應(yīng)該是不同的###
#virsh destoy DOMAINNAME
更多命令詳解
#virsh --help
6、如果需要圖形化管理,可以安裝諸如virt-manager類包