xen虛拟化實戰系列文章清單
<a href="http://koumm.blog.51cto.com/703525/1286408">xen虛拟化實戰系列(七)之xen虛拟機vnc通路配置</a>
<a href="http://koumm.blog.51cto.com/703525/1286477">xen虛拟化實戰系列(十一)之xen虛拟機磁盤檔案挂載</a>
<a href="http://koumm.blog.51cto.com/703525/1286643">xen虛拟化實戰系列(十二)之xen虛拟機高可用之線上遷移</a>
xen虛拟化實戰系列(十三)之xen虛拟機集中管理之convirt
本文是有對我們一個xen虛拟化生産環境将要改造的一個方案而來,在項目上線初期,沒有上存儲,也沒有采用商業化的伺服器虛拟化解決方案如vmware esxi,而是采用的開源的xen虛拟化平台。xen虛拟機磁盤也都是采用本地磁盤,當時為了項目上線,風險也是很大的,隻能充分的做好備份了。現在伺服器運作了幾年,需要更新改造,但是完全采用新的虛拟化方案來安裝,部署,遷移系統,工作量太大,也不太實際,也隻有在原有環境上進行改造了。
初步方案是在虛拟化伺服器增加hba卡,用于連接配接一台現有光纖存儲,虛拟化伺服器連接配接同一個存儲空間,配置成叢集檔案系統,并将虛拟機磁盤檔案遷移到叢集檔案系統上, 這樣就構成了一個高可用的環境架構,本文就是在這種環境背景下進行的一個環境測試。本文出自:http://koumm.blog.51cto.com
架構圖如下:
應用場景如下:
(1) 在虛拟化伺服器挂掉的情況下,可以在另一虛拟化伺服器上手動啟動,減少故障時間,最基本的是保證資料不會丢失。
(2) 可以利用xen虛拟化高可用線上遷移,實作虛拟化伺服器計劃内停機。
注:為了實作以上方案測試,采用nfs挂載來模拟叢集檔案系統,實作以上方案與測試。
(1) xen虛拟化伺服器node1
作業系統版本 : oel5.8 x64
開源xen虛拟化 : 自帶版本
橋接ip位址1 : 192.168.233.150
橋接ip位址2 : 10.10.10.10
測試虛拟機:test01
橋接ip位址1 : 192.168.233.133
橋接ip位址2 : 10.10.10.11
虛拟磁盤檔案位置: /data/test01.img
(2) xen虛拟化伺服器node2
作業系統版本 : oel5.8 x64
橋接ip位址1 : 192.168.233.151
橋接ip位址2 : 10.10.10.20
(3) nfs伺服器
作業系統版本 : oel5.8 x64
橋接ip位址1 : 192.168.233.152
橋接ip位址2 : 10.10.10.30
(1) nfs服務配置
啟動nfs服務
# chkconfig nfs on
(2) xen node1伺服器上
首先關機test01虛拟機,檢視到test01虛拟機的磁盤檔案是/data/test01.img,這裡先将test01.img檔案移到其它目錄,然後挂載nfs目錄到/data目錄下。再将test01.img移回來。
挂載nfs目錄
将test01.img虛拟磁盤檔案移回到/data目錄下。
配置/etc/fstab加入自動挂載
# vi /etc/fstab
10.10.10.30:/data /data nfs hard,rw,rsize=32768,wsize=32768 0 0
(3) xen node2伺服器上
原理: 線上遷移法是通過疊代的方式将記憶體拷貝到目标主機,然後暫停虛拟機100ms以内的時間,這段時間内,将最後修改過的記憶體與cpu狀态發送到目标主機。然後關閉虛拟機,并在目标主機上恢複。
(1) 在xen虛拟主機node2上建立虛拟機配置檔案
(2) 修改兩虛拟主機xen配置檔案
注:node1,node2都要修改,這個是最關鍵的内容。
18行加上注釋
33行取消注釋
47行取消注釋
60行取消注釋,61上加上注釋
(3) 分别重新開機兩虛拟主機xend服務
檢視虛拟機的ip位址
# xm console test01
oracle linux server release 5.8
kernel 2.6.18-308.el5xen on an x86_64
test01 login: root
password:
last login: sun sep 1 00:08:50 on xvc0
[root@test01 ~]#
[root@test01 ~]# ifconfig
eth0 link encap:ethernet hwaddr 00:16:3e:66:ff:31
inet addr:192.168.233.133 bcast:192.168.233.255 mask:255.255.255.0
up broadcast running multicast mtu:1500 metric:1
rx packets:30 errors:0 dropped:0 overruns:0 frame:0
tx packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:3287 (3.2 kib) tx bytes:2831 (2.7 kib)
eth1 link encap:ethernet hwaddr 00:16:3e:1a:00:01
inet addr:10.10.10.11 bcast:10.10.10.255 mask:255.255.255.0
rx packets:32 errors:0 dropped:0 overruns:0 frame:0
tx packets:22 errors:0 dropped:0 overruns:0 carrier:0
rx bytes:3449 (3.3 kib) tx bytes:2723 (2.6 kib)
lo link encap:local loopback
inet addr:127.0.0.1 mask:255.0.0.0
up loopback running mtu:16436 metric:1
rx packets:8 errors:0 dropped:0 overruns:0 frame:0
tx packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
rx bytes:560 (560.0 b) tx bytes:560 (560.0 b)
[root@test01 ~]#
(2) 準備一個視窗不停的ping test01虛拟機ip
可以看到整個過程比較平穩,就一兩個包超過1ms,其它都在1ms以下。網絡完全沒有中斷,整個遷移過程比較快速。
(3) 在node1虛拟主機上操作開始遷移
可以看到test01 xen虛拟機在node1 xen虛拟主機上,并開始執行線上遷移指令。
# xm migrate -l test01 192.168.233.151
下面指令用來檢視test01 xen虛拟機在遷移中與遷移後的狀态,可以看到test01 xen虛拟機先變成遷移狀态。遷移完成後,test01 xen虛拟機在node1 xen虛拟主機清單中消失。已經遷移到node2 xen虛拟主機上。
(3) 在node2虛拟主機上
下面指令用來檢視test01 xen虛拟機在遷移中與遷移後的狀态,可以看到test01 xen虛拟機在接收遷移狀态。遷移完成後,test01 xen虛拟機在node2 xen虛拟主機上已經成功遷移過來。
至此xen虛拟化實戰系列(十二)之xen虛拟機高可用之線上遷移文章結束,簡單總結如下:對開源xen真是又愛又恨,希望開源xen在centos6.x能發展更好。