vSPhere使用vMotion實現虛擬機熱遷移詳解

若要實現熱遷移,那麼外部共享存儲服務器便是必不可少的,因爲必須要保證源ESXi主機和目標ESXi主機都可訪問虛擬機文件,所以在熱遷移之前必須把虛擬機配置文件都遷移到外部共享存儲之上。

說到外部共享就自然想到了openfiler,openfiler是一個免費的NAS/ISCSI的SAN服務器系統,主要用於爲LAN主機提供獨立存儲系統,openfiler提供了包括NFS、SMB、ISCSI、target等多種連接方式,一般通過http的方式管理,它對於希望搭建虛擬化的中小型企業而言,是provisiong階段最好的工具。

vMotion是所有vSPhere高級功能的基礎,可實現熱遷移。

vMotion的遷移過程(如果遷移期間出錯,虛擬機將恢復原始狀態和位置):

  1. 請求vMotion遷移時,vCenter server會驗證虛擬機與ESXi主機狀態是否穩定;
  2. 此時,源ESXi主機將虛擬機內存克隆到新ESXi主機;
  3. 源ESXi主機將克隆期間發生改變的內存信息記錄在內存對應圖上(也有人成爲心電圖);
  4. 當虛擬機內存數據遷移到新ESXi主機後,源ESXi主機會使虛擬機處於靜止狀態,此時虛擬機無法提供服務(僅僅一兩秒鐘而已),然後將內存對應圖克隆到新ESXi主機。靜止狀態所需要的時間極爲短暫;
  5. 新ESXi再根據內存對應圖恢復內存數據,完成後兩臺ESXi主機對於這臺虛擬機的內存就完全一致;
  6. 最後在新ESXi主機運行該虛擬機,並在源ESXi主機中刪除內存數據(自動刪除,無需操作)

那麼,接下來了解一下運行vMotion的兼容性要求:

  • **不允許連接只能單臺ESXi主機才能識別的設備,如光驅、軟驅等。
  • 不允許連接沒有物理網絡的虛擬交換機。
  • 遷移的虛擬機必須存放在外部共享存儲,且所有的ESXi主機均可訪問。
  • ESXi主機至少有1塊千兆網卡用於vMotion。
  • 如果使用標準交換機,必須確保所有ESXi主機的端口組網絡標籤一致。
  • 所有ESXi主機使用的CPU供應商必須一致(Intel或AMD)**

遷移虛擬機的具體操作過程:

拓撲圖如下所示:

vSPhere使用vMotion實現虛擬機熱遷移詳解

現在在ESXi 01主機上有一臺centos 7,ip爲192.168.1.6,我們在不中斷服務的情況下遷移到ESXi 02。

一、安裝openfiler,可以通過http://www.openfiler.com/ 下載openfiler的ISO鏡像。openfiler的安裝步驟如下:

1、掛載ISO鏡像,開機(建議現在不要連接除系統盤以外的硬盤,要不然就麻煩),出現以下界面按“enter”,等待加載:

vSPhere使用vMotion實現虛擬機熱遷移詳解

2、單擊“下一步”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

3、選擇鍵盤類型,默認爲美國英語。保持默認,點擊下一步即可:

vSPhere使用vMotion實現虛擬機熱遷移詳解

4、提示是否要初始化硬盤,選擇“yes”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

5、在選擇磁盤分區時保持默認,單擊“下一步”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

6、單擊“yes”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

7、點擊“edit”,編輯網卡信息,設置完網卡信息後單擊“下一步”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

vSPhere使用vMotion實現虛擬機熱遷移詳解

vSPhere使用vMotion實現虛擬機熱遷移詳解

8、設置相應的時區後,單擊“下一步”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

9、設置root密碼,然後單擊“下一步”,直至安裝:

vSPhere使用vMotion實現虛擬機熱遷移詳解

10、安裝完成:

vSPhere使用vMotion實現虛擬機熱遷移詳解

11、至此就完成了,剩下的管理工作通過https即可(現在要把用來存儲數據的硬盤掛載上了,並保證系統檢測到新掛載的磁盤,openfiler這個系統與Linux操作系統大同小異),管理地址如下所示:

vSPhere使用vMotion實現虛擬機熱遷移詳解

二、openfiler系統配置iSCSI

1、登錄存儲服務器管理頁面:

vSPhere使用vMotion實現虛擬機熱遷移詳解

2、使用系統初始默認的用戶名和密碼進行登錄,默認用戶名爲:openfiler;密碼爲:password。系統初始用戶名和密碼可以在第一次登陸後進行重新設置:

vSPhere使用vMotion實現虛擬機熱遷移詳解

3、登錄後的界面如下,顯示了當前系統的各種初始化配置信息:

vSPhere使用vMotion實現虛擬機熱遷移詳解

4、在系統菜單“system”下,可以檢查當前系統的ip地址等網絡信息設置情況,如果想要重新設置網絡信息,可以單擊“configure”鏈接對系統網絡進行重新配置,如下所示:

vSPhere使用vMotion實現虛擬機熱遷移詳解

5、在系統菜單“system”下的“Network Access configuration”區域,配置允許訪問openfiler系統的安全訪問控制列表,只有加入openfiler的訪問控制列表中的網絡或主機地址,才允許訪問openfiler系統所提供的虛擬存儲服務。在網絡訪問控制列表中,既可以添加網段,也可以添加單個主機地址,如下:

vSPhere使用vMotion實現虛擬機熱遷移詳解

6、接下來需要做的,和在Linux系統中創建LVM卷原理一樣,先創建物理卷,再創建卷組,最後創建lvm,首先按照下圖所示,創建物理卷:

vSPhere使用vMotion實現虛擬機熱遷移詳解

7、進入磁盤編輯頁面後,往下拉,可以看到已經分配的磁盤分區信息,按照下圖的默認選項,單擊“create”,完成創建物理卷:

vSPhere使用vMotion實現虛擬機熱遷移詳解

8、按照下圖,進入創建卷組的界面:

vSPhere使用vMotion實現虛擬機熱遷移詳解

9、按照下圖所示,把剛纔做的物理卷組成卷組:

vSPhere使用vMotion實現虛擬機熱遷移詳解

10、點擊添加lvm卷:

vSPhere使用vMotion實現虛擬機熱遷移詳解

11、進入添加volume頁面後,下拉網頁,如下所示:

vSPhere使用vMotion實現虛擬機熱遷移詳解

12、開啓iscis target server服務,如下所示:

vSPhere使用vMotion實現虛擬機熱遷移詳解

13、開啓iscis target server服務後,選擇“volumes”菜單,單擊“ISCSI Targets”,如下所示:

vSPhere使用vMotion實現虛擬機熱遷移詳解

14、單擊“ADD”,添加一個ISCSI target:
vSPhere使用vMotion實現虛擬機熱遷移詳解

15、單擊“LUN Mapping”,保持默認,單擊“Map”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

16、單擊“Network ACL”標籤,將Access 設置爲“Allow” ,然後單擊“update”,後面“CHAP Authentication”標籤可以添加訪問此target的用戶,爲可選項,這裏就不添加了:

vSPhere使用vMotion實現虛擬機熱遷移詳解

至此,存儲服務器就設置完畢了,現在連接到vCenter服務器來配置:

三、登錄vCenter服務器,創建所需端口組:

1、創建VMKernel端口組,首先創建用來通行vMotion流量的端口組:

vSPhere使用vMotion實現虛擬機熱遷移詳解

2、根據嚮導創建vMotion端口組:

vSPhere使用vMotion實現虛擬機熱遷移詳解

3、vSPhere使用vMotion實現虛擬機熱遷移詳解

4、vSPhere使用vMotion實現虛擬機熱遷移詳解

5、vSPhere使用vMotion實現虛擬機熱遷移詳解

6、設置靜態IP地址,點擊“下一步”,直至完成:

vSPhere使用vMotion實現虛擬機熱遷移詳解

7、創建完vMotion端口組後,再繼續添加用來連接存儲服務器的端口組iscsi:

vSPhere使用vMotion實現虛擬機熱遷移詳解

8、vSPhere使用vMotion實現虛擬機熱遷移詳解

9、選擇“新建標準交換機”,點擊“下一步”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

10、添加物理網卡:

vSPhere使用vMotion實現虛擬機熱遷移詳解

11、vSPhere使用vMotion實現虛擬機熱遷移詳解

12、vSPhere使用vMotion實現虛擬機熱遷移詳解

13、vSPhere使用vMotion實現虛擬機熱遷移詳解

14、按照下圖所示,連接共享存儲:

vSPhere使用vMotion實現虛擬機熱遷移詳解

15、點擊“是”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

16、vSPhere使用vMotion實現虛擬機熱遷移詳解

17、綁定端口組:

vSPhere使用vMotion實現虛擬機熱遷移詳解

18、vSPhere使用vMotion實現虛擬機熱遷移詳解

19、vSPhere使用vMotion實現虛擬機熱遷移詳解

20、vSPhere使用vMotion實現虛擬機熱遷移詳解

21、輸入ISCSI主機的ip地址,並點擊“確定”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

22、繼續重新掃描:

vSPhere使用vMotion實現虛擬機熱遷移詳解

23、單擊“設備”,可以看到已經連接到了openfiler存儲服務器:

vSPhere使用vMotion實現虛擬機熱遷移詳解

24、至此,已經準備工作已經快完成了,現在需要在另一臺ESXi主機上進行1~23的步驟,創建vMotion和ISCSI端口組,並且連接openfiler存儲服務器。(需要注意的是vMotion和ISCSI端口組的網絡標籤必須一致,也可以說,除了IP地址外,其餘的配置必須一樣。)

等兩臺主機都連接到ISCSI存儲服務器後,可以在任意一臺ESXi主機進行以下操作:

1、
vSPhere使用vMotion實現虛擬機熱遷移詳解
2、

vSPhere使用vMotion實現虛擬機熱遷移詳解

3、保持默認,單擊“下一步”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

4、vSPhere使用vMotion實現虛擬機熱遷移詳解

5、保持默認,單擊“下一步”:
vSPhere使用vMotion實現虛擬機熱遷移詳解

6、對存儲的使用空間進行分配,實際項目中可能各有不同,這裏保持默認,單擊“下一步”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

7、點擊“完成”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

8、可以看到已連接的共享存儲了,而且另一臺ESXi主機也會自動連接(在之前的配置沒有問題的前提下):
vSPhere使用vMotion實現虛擬機熱遷移詳解
vSPhere使用vMotion實現虛擬機熱遷移詳解

至此,準備工作就完全做好了,還有一個需要注意的是,要進行遷移的虛擬機,不可以掛載光盤,因爲,目標主機並不能訪問掛載的光盤鏡像,所以還需要一步設置,如下:
vSPhere使用vMotion實現虛擬機熱遷移詳解

vSPhere使用vMotion實現虛擬機熱遷移詳解

開始遷移:
若想看看虛擬機在遷移過程中是否有終端服務,可以使用ping命令進行死亡ping,會發現過程中會有幾個包延遲,或丟幾個包,這些都是無關痛癢的:

1、vSPhere使用vMotion實現虛擬機熱遷移詳解

2、
vSPhere使用vMotion實現虛擬機熱遷移詳解
3、

vSPhere使用vMotion實現虛擬機熱遷移詳解

4、選擇ISCSI存儲服務器後單擊“下一步”:

vSPhere使用vMotion實現虛擬機熱遷移詳解

5、vSPhere使用vMotion實現虛擬機熱遷移詳解

6、確認無誤後,單擊“完成”,開始虛擬機的遷移:

vSPhere使用vMotion實現虛擬機熱遷移詳解

7、使用ping 命令,加上-t選項進行死亡ping,觀察虛擬機狀態:

vSPhere使用vMotion實現虛擬機熱遷移詳解

遷移中,開始有延遲和丟包現象:

vSPhere使用vMotion實現虛擬機熱遷移詳解

等待進度條完成,虛擬機遷移便成功了:

vSPhere使用vMotion實現虛擬機熱遷移詳解

一篇博客寫了將近四個小時,希望所有努力終有回報吧!洗洗睡覺去................

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章