CentOS下KVM試用

           

          最近整理公司的幾臺(tái)服務(wù)器,由于機(jī)器少應(yīng)用多,就總是覺(jué)得服務(wù)器資源緊張,所以痛下決心使用虛擬機(jī)。考察了一番決定使用KVM,因?yàn)闄C(jī)器配置不是很高,使用KVM性能會(huì)比較好。

          基礎(chǔ)系統(tǒng)選用CentOS5.4,下面列出具體的安裝配置過(guò)程

          安裝CentOS操作系統(tǒng)

          下載CentOS5.4,安裝是使用Server模式,不安裝任何桌面,畢竟圖形桌面太占資源,在選擇軟件時(shí)啟用下面的幾項(xiàng):

          • 開(kāi)發(fā)工具

          • 開(kāi)發(fā)庫(kù)

          • 虛擬化--KVM

           虛擬化--KVM 起初我沒(méi)有啟用KVM,因?yàn)槲蚁胱约壕幾g安裝KVM,結(jié)果在裝載內(nèi)核kvm-amd模塊時(shí)總是不成功!

          安裝完成后首先啟用內(nèi)核的kvm-amd模塊,如果你的機(jī)器是intel的就改成kvm-intel,命令如下

          [root@localhost ~]# modprobe kvm-amd

          如果沒(méi)有提示任何錯(cuò)誤就成功了,可以使用lsmod | grep kvm查看是否裝載成功,命令如下

          [root@localhost ~]# lsmod | grep kvm kvm_amd 68648 1 kvm 223264 2 ksm,kvm_amd

          看到如上類(lèi)似的輸出就表示啟用kvm模塊成功!

          編譯安裝KVM

          CentOS的yum源里提供的kvm版本太低,所以我決定自己編譯安裝。首先下載kvm源碼包,然后解壓,命令如下

          [root@localhost ~]# tar zxvf qemu-kvm-0.12.3.tar.gz

          接下來(lái)開(kāi)始編譯、安裝,進(jìn)入解壓后的目錄,命令如下:

          [root@localhost /]# ./configure --prefix=/usr 
          [root@localhost /]# make
          [root@localhost /]# make install

          編譯很快,基本上幾秒就完成了,如果沒(méi)有出現(xiàn)什么錯(cuò)誤,那么恭喜你!KVM已經(jīng)成功安裝了!

           KVM版本 目前官方的最高版本是0.13.0,可是我使用發(fā)現(xiàn)無(wú)法通過(guò)vns連接虛擬機(jī),所以只好放棄,使用0.12.3版本就一切正常。

          搞定虛擬機(jī)網(wǎng)橋

          虛擬機(jī)最重要的是保證網(wǎng)絡(luò)能正常訪問(wèn),否則就沒(méi)有意義了。啟用kvm網(wǎng)橋要安裝兩個(gè)軟件bridge-utils和tunctl。 bridge-utils可以使用yum安裝,命令如下:

          yum install bridge-utils

          tunctl在源里沒(méi)有找到,需要下載rpm包手工安裝,命令如下:

          [root@localhost /]# wget -c 'ftp://194.199.20.114/linux/EPEL/5Server/x86_64/tunctl-1.5-2.el5.x86_64.rpm' 
          [root@localhost /]# rpm -ivh tunctl-1.5-2.el5.x86_64.rpm

          接下來(lái)編輯網(wǎng)橋配置文件,新建一個(gè)名字為vmbridge.sh的shell文件,使用vim編輯,命令如下

          [root@localhost /]# vim vmbridge.sh

          然后在新建的文件中加入如下內(nèi)容

          #!/bin/bash modprobe tun   #加載tun模塊 
          tunctl -t tap0 -u root #先是新建一個(gè)名為tap0的虛擬網(wǎng)卡,所有者為當(dāng)前用戶(hù)
          tunctl -t tap1 -u root
          tunctl -t tap2 -u root
          tunctl -t tap3 -u root
          tunctl -t tap4 -u root
          tunctl -t tap5 -u root
          tunctl -t tap6 -u root
          brctl addbr br0 #新建一個(gè)名為br0的網(wǎng)橋
          ifconfig eth0 0.0.0.0 promisc #eth0進(jìn)入promiscuous模式,不過(guò)執(zhí)行此步之前最好記錄原來(lái)eth0的IP,避免后面出現(xiàn)IP沖突
          brctl addif br0 eth0 #將eth0加入br0.
          ifconfig br0 up #活br0
          dhclient br0 #獲取br0的IP
          brctl addif br0 tap0 #將tap0加入br0
          brctl addif br0 tap1
          brctl addif br0 tap2
          brctl addif br0 tap3
          brctl addif br0 tap4
          brctl addif br0 tap5
          brctl addif br0 tap6
          ifconfig tap0 up #激活tap0
          ifconfig tap1 up
          ifconfig tap2 up
          ifconfig tap3 up
          ifconfig tap4 up
          ifconfig tap5 up
          ifconfig tap6 up
          chmod a+rw /dev/net/tun

          以上的9個(gè)步驟就設(shè)置了一個(gè)虛擬網(wǎng)卡tap0,上面的例子中我一共創(chuàng)建了7個(gè)虛擬網(wǎng)卡,如果想設(shè)置更多的網(wǎng)卡參考上次的內(nèi)容自行添加即可。

          接下來(lái)給vmbridge.sh賦予可執(zhí)行權(quán)限,命令如下:

          [root@localhost /]# chmod a+x vmbridge.sh

          然后把它加入系統(tǒng)啟動(dòng)里,這樣每次啟動(dòng)系統(tǒng)就自動(dòng)創(chuàng)建了7個(gè)虛擬網(wǎng)卡。命令如下:

          [root@localhost /]# echo '/kvm/vmbridge.sh' >> /etc/rc.local

          OK! 虛擬網(wǎng)卡已經(jīng)配置完畢,你可以手動(dòng)執(zhí)行下vmbridge.sh,或者馬上重啟下系統(tǒng),然后使用ifconfig命令查看一下是否出現(xiàn)了新建的虛擬網(wǎng)卡。

          安裝VNC服務(wù)器

          這步簡(jiǎn)單,兩條命令搞定,命令如下:

          [root@localhost /]# yum install vnc-server 
          [root@localhost /]# service vncserver start

          現(xiàn)在可以查看一下VNC是否已經(jīng)運(yùn)行,執(zhí)行下面的命令查看

          [root@localhost /]# service vncserver status Xvnc 已停

          雖然顯示Xvnc 已停,但其實(shí)是運(yùn)行的,可以正差訪問(wèn)

          創(chuàng)建KVM虛擬機(jī)

          所有的前期配置都OK了,下面可以創(chuàng)建KVM虛擬機(jī)了。 首先創(chuàng)建一個(gè)大小為40G的鏡像文件用來(lái)安裝WinXP虛擬機(jī)。命令如下

          [root@localhost /]# qemu-img create -f qcow2 /kvm/vmimg/kvm-xp.img 40G

          現(xiàn)在開(kāi)始安裝WinXP虛擬機(jī),使用如下命令:

          [root@localhost /]# qemu-system-x86_64 -m 1024 -drive file=/kvm/vmimg/kvm-xp.img,cache=writeback -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot d -cdrom /home/lm/iso/winxp.iso -smp 2 -soundhw es1370 -vnc 192.168.1.1:1 &

          解釋一下參數(shù)都是什么意思

          root@localhost /]# qemu-system-x86_64 -m 1024 -drive file=/kvm/vmimg/kvm-xp.img,cache=writeback -localtime -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot d -cdrom /home/lm/iso/winxp.iso -smp 2 -soundhw es1370 -vnc 192.168.1.1:1
          • -m 1024 表示安裝虛擬機(jī)時(shí)使用1024MB內(nèi)存

          • file=/kvm/vmimg/kvm-xp.img 指向剛剛創(chuàng)建的虛擬機(jī)鏡像文件

          • ifname=tap0 指定一個(gè)虛擬網(wǎng)卡

          • -cdrom /home/lm/iso/winxp.iso 指定WinXP的iso安裝文件

          • -smp 2 指定使用CPU的核數(shù)

          • -soundhw es1370 啟用聲卡

          • -vnc 192.168.1.1:1 指定VNC訪問(wèn)IP和端口

          然后用VNC客戶(hù)端連接192.168.1.1:1,就看到安裝界面了。安裝就不說(shuō),和以往安裝XP一樣的。 接下來(lái)可以訪問(wèn)安裝好的虛擬機(jī)了。使用如下命令:

          [root@localhost /]# qemu-system-x86_64 -m 1024 -drive file=/kvm/vmimg/kvm-xp.img -localtime -net nic,vlan=0,macaddr=00:00:00:00:20:02 -net tap,vlan=0,ifname=tap0,script=no -boot c -smp 2 -clock rtc -soundhw es1370 -vnc 192.168.1.1:1 &

          命令格式基本和安裝差不多,需要說(shuō)明的是macaddr硬件地址要自己指定一個(gè)不沖突的,虛擬機(jī)可以用DHCP自動(dòng)獲取一個(gè)IP地址。最后用VNC客戶(hù)端連接 192.168.1.1:1 就可看到XP啟動(dòng)界面了。如果你安裝的是Linux虛擬機(jī),可以直接用SSH訪問(wèn),比較方便。

          至此整個(gè)安裝配置過(guò)程完畢,最后祝各位都能成功安裝KVM虛擬機(jī)!

          GoodLuck!

           

          posted on 2010-12-07 15:32 kuuyee 閱讀(4277) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): LinuxCI/Jenkins系統(tǒng)管理

          導(dǎo)航

          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          統(tǒng)計(jì)

          隨筆分類(lèi)(139)

          Linux內(nèi)核

          搜索

          •  

          積分與排名

          • 積分 - 320246
          • 排名 - 178

          最新評(píng)論

          閱讀排行榜

          主站蜘蛛池模板: 凤台县| 灵丘县| 启东市| 伽师县| 汉沽区| 毕节市| 柳林县| 塔河县| 油尖旺区| 关岭| 封丘县| 衡山县| 乐东| 新巴尔虎右旗| 大渡口区| 瓦房店市| 浑源县| 清河县| 鄂尔多斯市| 繁昌县| 辉南县| 宝鸡市| 大邑县| 云梦县| 锦州市| 临沧市| 海安县| 丹巴县| 高唐县| 阿瓦提县| 怀柔区| 会东县| 海安县| 中山市| 广平县| 松原市| 汉川市| 兴安县| 塔城市| 调兵山市| 莱芜市|