CentOS下KVM試用

           

          最近整理公司的幾臺服務器,由于機器少應用多,就總是覺得服務器資源緊張,所以痛下決心使用虛擬機。考察了一番決定使用KVM,因為機器配置不是很高,使用KVM性能會比較好。

          基礎系統選用CentOS5.4,下面列出具體的安裝配置過程

          安裝CentOS操作系統

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

          • 開發工具

          • 開發庫

          • 虛擬化--KVM

           虛擬化--KVM 起初我沒有啟用KVM,因為我想自己編譯安裝KVM,結果在裝載內核kvm-amd模塊時總是不成功!

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

          [root@localhost ~]# modprobe kvm-amd

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

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

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

          編譯安裝KVM

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

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

          接下來開始編譯、安裝,進入解壓后的目錄,命令如下:

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

          編譯很快,基本上幾秒就完成了,如果沒有出現什么錯誤,那么恭喜你!KVM已經成功安裝了!

           KVM版本 目前官方的最高版本是0.13.0,可是我使用發現無法通過vns連接虛擬機,所以只好放棄,使用0.12.3版本就一切正常。

          搞定虛擬機網橋

          虛擬機最重要的是保證網絡能正常訪問,否則就沒有意義了。啟用kvm網橋要安裝兩個軟件bridge-utils和tunctl。 bridge-utils可以使用yum安裝,命令如下:

          yum install bridge-utils

          tunctl在源里沒有找到,需要下載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

          接下來編輯網橋配置文件,新建一個名字為vmbridge.sh的shell文件,使用vim編輯,命令如下

          [root@localhost /]# vim vmbridge.sh

          然后在新建的文件中加入如下內容

          #!/bin/bash modprobe tun   #加載tun模塊 
          tunctl -t tap0 -u root #先是新建一個名為tap0的虛擬網卡,所有者為當前用戶
          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 #新建一個名為br0的網橋
          ifconfig eth0 0.0.0.0 promisc #eth0進入promiscuous模式,不過執行此步之前最好記錄原來eth0的IP,避免后面出現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個步驟就設置了一個虛擬網卡tap0,上面的例子中我一共創建了7個虛擬網卡,如果想設置更多的網卡參考上次的內容自行添加即可。

          接下來給vmbridge.sh賦予可執行權限,命令如下:

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

          然后把它加入系統啟動里,這樣每次啟動系統就自動創建了7個虛擬網卡。命令如下:

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

          OK! 虛擬網卡已經配置完畢,你可以手動執行下vmbridge.sh,或者馬上重啟下系統,然后使用ifconfig命令查看一下是否出現了新建的虛擬網卡。

          安裝VNC服務器

          這步簡單,兩條命令搞定,命令如下:

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

          現在可以查看一下VNC是否已經運行,執行下面的命令查看

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

          雖然顯示Xvnc 已停,但其實是運行的,可以正差訪問

          創建KVM虛擬機

          所有的前期配置都OK了,下面可以創建KVM虛擬機了。 首先創建一個大小為40G的鏡像文件用來安裝WinXP虛擬機。命令如下

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

          現在開始安裝WinXP虛擬機,使用如下命令:

          [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 &

          解釋一下參數都是什么意思

          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 表示安裝虛擬機時使用1024MB內存

          • file=/kvm/vmimg/kvm-xp.img 指向剛剛創建的虛擬機鏡像文件

          • ifname=tap0 指定一個虛擬網卡

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

          • -smp 2 指定使用CPU的核數

          • -soundhw es1370 啟用聲卡

          • -vnc 192.168.1.1:1 指定VNC訪問IP和端口

          然后用VNC客戶端連接192.168.1.1:1,就看到安裝界面了。安裝就不說,和以往安裝XP一樣的。 接下來可以訪問安裝好的虛擬機了。使用如下命令:

          [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 &

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

          至此整個安裝配置過程完畢,最后祝各位都能成功安裝KVM虛擬機!

          GoodLuck!

           

          posted on 2010-12-07 15:32 kuuyee 閱讀(4273) 評論(0)  編輯  收藏 所屬分類: LinuxCI/Jenkins系統管理

          導航

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

          統計

          隨筆分類(139)

          Linux內核

          搜索

          •  

          積分與排名

          • 積分 - 319560
          • 排名 - 177

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 库尔勒市| 芜湖县| 双柏县| 武定县| 秦皇岛市| 梅河口市| 苏尼特左旗| 靖安县| 米脂县| 黄平县| 贡嘎县| 宁陵县| 平陆县| 嵩明县| 乌兰察布市| 蒲城县| 民县| 邯郸县| 洪雅县| 平定县| 资源县| 临猗县| 隆安县| 罗城| 开封市| 吴忠市| 杭锦后旗| 嘉祥县| 洛川县| 津南区| 仪征市| 淮滨县| 济南市| 清流县| 金门县| 张家口市| 宜丰县| 霍州市| 秦安县| 英山县| 广西|