天天看點

雲計算之Xen虛拟機實時遷移實時遷移

實時遷移 (live migration)是指在保證虛拟機上服務正常運作的同時,虛拟機在不同的實體主機之間進行遷移,其邏輯步驟與離線遷移幾乎完全一緻。不同的是,為了保證遷移過程中虛拟機服務的可用,遷移過程僅有非常短暫的停機時間。遷移的前面階段,服務在源主機運作,當遷移進行到一定階段,目的主機已經具備了運作系統的必須資源,經過一個非常短暫的切換,源主機将控制權轉移到目的主機,服務在目的主機上繼續運作。對于服務本身而言,由于切換的時間非常短暫,使用者感覺不到服務的中斷,因而遷移過程對使用者是透明的。線上遷移适用于對服務可用性要求很高的場景。

實驗環境:

192.168.1.190

XenServer1

192.168.1.91

XenServer2

192.168.1.202

ISCSI伺服器

配置ISCSI伺服器;

yum install scsi-target-utils -y

編輯配置檔案/etc/tgt/targets.conf

<target iqn.2014-09.com.tuchao:chap1>

        backing-store /dev/sdb

        initiator-address 192.168.1.0/24

</target>

重新開機tgt服務;

/etc/init.d/tgtd restart

XenServer1與XenServer2保證相同配置,XenServer的配置在上篇文章有詳細講到。這裡就不重複了。

我們這裡要準備GFS2叢集檔案系統,兩個節點安裝所需要的程式包:

yum install rgmanager cman -y

yum install gfs2-utils -y

yum install iscsi-initiator-utils -y

安裝libvirt,配置網絡橋接;

yum install libvirt -y

service libvirtd start

virsh iface-bridge eth0 xenbr0

來到192.168.1.190安裝配置高可用

建立一個叢集

ccs_tool create gcluster

指令執行成功後,會在/etc/cluster目錄下生成一個cluster.conf的檔案。

添加節點

ccs_tool addnode -n 1 192.168.1.190

ccs_tool addnode -n 2 192.168.1.91

将配置檔案同步到192.168.1.91

scp /etc/cluster/cluster.conf 192.168.1.91:/etc/cluster

兩個節點同時啟動cman;再啟動rgmanager

配置登入ISCSI-Server

iscsiadm -m discovery -t sendtargets -p 192.168.1.202

iscsiadm -m node -T iqn.2014-09.com.tuchao:chap1 -p 192.168.1.202:3260 -l

對共享的iSCSI磁盤分區格式化,然後每個節點重新開機系統。

格式化/dev/sdc1為gfs2檔案系統

指令幫助:

mkfs.gfs2

    -J  //指定日志區域大小

    -j  //日志區域個數

    -p  //指定鎖協定

    -t  //指定鎖表名稱

mkfs.gfs2 -j 2 -p lock_dlm -t gcluster:sdc1 /dev/sdc1

<a href="http://s3.51cto.com/wyfs02/M01/49/E6/wKiom1QenleAvMGFAAH7bUzEOXY599.jpg" target="_blank"></a>

修改fstab

UUID="b2a73a0e-37e7-511f-f44c-b0274e763a62" /store gfs2 defaults      0 0

啟動服務

service cman start

service rgmanager start

service gfs2 start

<a href="http://s3.51cto.com/wyfs02/M02/49/E6/wKiom1Qen5zCVAflAAHvID_-V4I494.jpg" target="_blank"></a>

遷移環境準備完畢

配置遷移功能,修改配置檔案/etc/xen/xend-config.sxp;

修改以下關鍵幾項:

(xend-relocation-server yes)

(xend-relocation-port 8002)

(xend-relocation-ssl no) 

(xend-address '0.0.0.0')

(xend-relocation-address '0.0.0.0')

(xend-relocation-hosts-allow '')

将配置檔案同步到節點二,之後兩個節點重新開機xend服務。

scp /etc/xen/xend-config.sxp 192.168.1.91:/etc/xen/

/etc/init.d/xend restart

<a href="http://s3.51cto.com/wyfs02/M02/49/E8/wKioL1QeqgDRbgbGAAIkqODqWaQ701.jpg" target="_blank"></a>

來到節點一将虛拟機配置檔案同步到節點二,這時虛拟機的磁盤鏡像檔案是放在/store上的;

scp test1  192.168.1.91:/etc/xen/

啟動虛拟機執行個體

xm create  test1

我們連上虛拟機,在上面運作一個ping程式,然後執行遷移。

xm migrate test1 192.168.1.91

<a href="http://s3.51cto.com/wyfs02/M01/49/E6/wKiom1QeqSPSunh9AAG5S1IgRBs718.jpg" target="_blank"></a>

我們來到節點二檢視

<a href="http://s3.51cto.com/wyfs02/M00/49/E8/wKioL1Qeqj6Qfj6zAAEn0iKAekg420.jpg" target="_blank"></a>

總結一下:

    需要一個共享存儲,用來放在虛拟機執行個體的磁盤鏡像檔案,兩個節點必須挂載到同一個名稱路徑。

    需要将虛拟機執行個體的配置檔案,同步到另一個節點的相同位置。

    兩個節點需要修改/etc/xen/xend-config.sxp配置檔案,啟動xend服務。

本篇結束,感謝大家閱讀,哪裡有遺漏還請大家多多指點!

本文轉自qw87112 51CTO部落格,原文連結:http://blog.51cto.com/tchuairen/1556729

繼續閱讀