Cd Chen's Services

ba ba ba la~~

淺談 Linux 的 Xen 遷移作業

這篇是我發表於恆逸電子報上的文章,介紹如何進行 Xen 的遷移作業。有興趣的朋友,可以看一下!!


從 Red Hat Enterprise Linux 5 起,收錄了 Xen 這一個著名的虛擬化 (Virtualization) 子系統,讓我們可以在一台電腦中,同時安裝並執行多個作業系統,徹底發揮硬體設備的最大價值。

除此之外,Xen 還允許我們可以進行遷移 (Migration) 作業,將某一個虛擬機器中執行的作業系統,無痛的移轉到另外一台電腦執行。在實務上,Xen 遷移功能不只提高 Red Hat Enterprise Linux 的可用性,還解決了系統管理時的不便與麻煩,增加 Xen 的實用價值 。

試想在 server1 電腦中執行了一個虛擬機器,提供企業對外的網站伺服器。古語說得好,天有不測風雲,人有旦夕禍福,電腦自然也有意外故障的時候。此時,您可以將在 server1 虛擬機器執行的網站伺服器,傳送到 server2 電腦中繼續執行。完成後,便可關閉 server1,維修或更換故障的設備。

那麼,該如何進行 Xen 遷移作業呢??

Xen 提供的遷移方式

Xen 提供兩種遷移方式:

  • 離線遷移 (Offline Migration):遷移前,必須先關閉或暫停虛擬機器;遷移後,才能啟動或繼續執行虛擬機器。進行遷移過程中,對用戶端來說將無法存取虛擬機器所提供的服務。
  • 線上遷移 (Online Migration):遷移過程中,不需關閉虛擬機器,對用戶端來說,仍可繼續使用虛擬機器所提供的各項服務。線上遷移又稱為 Live Migration。

條件

要實作 Xen 遷移作業,不管是離線遷移,或是線上遷移,都必須將虛擬機器之磁碟,儲存於像是 NAS、SAN、NFS、…等共享的儲存設備上。此外,還必須啟用 (Enable) Xen 系統裡,負責進行遷移作業的 Relocation 伺服器,在 Red Hat Enterprise Linux 中,預設是停用 (Disable) Xen 的 Relocation 伺服器。

步驟

您必須在每一個 Domain-0 系統 (也就是例子裡的 server1 與 server2) 中,完成下列的工作:

  1. 啟用 Relocation 伺服器

    請取消註解並調整 /etc/xend/xend-config.sxp 的下列參數:

    • (xend-relocation-server VALUE)

      定義是否要啟用 Relocation 伺服器,VALUE 必須改為 yes。

    • (xend-relocation-port PORT)

      定義 Relocation 伺服器執行的通訊埠。

    • (xend-relocation-address 'ADDRESS')

      定義僅在哪些位址中執行 Relocation 伺服器,若省略 ADDRESS,代表本機中所有 IP 位址。

    • (xend-relocation-hosts-allow 'CLIENTS')

      定義允許哪些用戶端可以存取 Relocation 伺服器,CLIENTS 則為用戶端的位址,省略時代表允許所有電腦存取。

  2. 重新啟動 Xend 服務

    請執行 service xend restart 重新啟動 Xend 服務,以便套用修改後的設定。

完成後,您可使用下列的指令進行遷移作業:

xm migrate DOMAIN HOST [OPTIONS]...

其中的 DOMAIN 為虛擬機器的名稱,而 HOST 則是要遷移至何台電腦執行。例如:

[root@server1 ~]# xm migrate vm1 server2

這就會將 vm1 這個虛擬機器,移轉到 server2 電腦上執行。如果需要進行線上遷移,只要加上 -l 參數即可。

原文出處:恆逸資訊電子報

這篇內容的 Trackback 網址:

http://cdchen.idv.tw/trackback/541