接下來系列文章將專門介紹VMware HCX,這是原本開發用來作為用戶虛機在企業內部資料中心與VMware合作的公有雲方案之間進行批次大量虛機傳輸的技術,但也可以運用在企業的不同資料中心內,本文將先介紹其中的Cold Migration、vMotion兩種HCX移轉方式。
想用幾篇文章跟大家介紹一個其實已經發展好一陣子的方案「VMware HCX」,HCX的全名叫做「Hybrid Connect」,是VMware原本開發用來作為用戶虛機在企業內部資料中心與VMware合作的公有雲方案(如VMC on AWS)之間進行批次大量虛機傳輸的技術,但這個技術也可以運用在企業的不同資料中心內,像是由舊版vSphere到新的SDDC資料中心、主中心與DR等等不同的情境。
圖1所示是公有雲的情境,用戶原有自建vSphere 5.5環境,然後在VMC on AWS上租用了新的VMware環境。用戶可能原本有數百個虛機,需要在短時間內轉移到公有雲環境內並且持續運作。同時,客戶另有DR Site,VMC內的業務機器也需要能複製過去進行需求的災備作業。
上述的需求,可透過HCX技術來完成。如果客戶已租用VMC on AWS,HCX是內含在租用方案之內,而其他不同VCPP夥伴的VMware公有雲方案,也可能以額外收費或是內含的方式來提供此項服務。
但這樣的需求不僅在於地(私有資料中心)對空(公有雲),也極可能在地對地的環境內。如圖2所示,客戶新建了包含最新vSphere、NSX、vSAN技術的vCloud Foundation環境,而建立完成後,現有vSphere 5.5/6.0環境內的虛機需要移到新環境,過程當中應該盡量不要影響到業務,且越短時間內完成越好。甚至還有可能是一些原本在KVM或Hyper-V上的虛機,需要進行虛擬化格式轉換之後再轉過來。
此時,除了手動慢慢用虛機匯出匯入、複製、vMotion等方法外,HCX當然是最建議的方法。如果企業有購置NSX Enterprise Plus版本或是vCloud Foundation的Enterprise版,HCX即包含在內可讓客戶運用。
簡言之,VMware HCX方案最重要須達成的功能與效益,就是如何在兩個可能是不同版本、不同地點的vSphere環境間,能夠「大規模且批次進行業務虛擬機器移轉」。這裡講的可能是幾百幾千,甚至更多的虛機,在兩個不同的資料中心,公司沒有時間讓管理者手動慢慢地進行切換,可能在僅有數星期或數天的時間壓力下,要完成兩個環境間的移轉作業。圖3是筆者與客戶介紹時,主要談到的常見HCX使用情境。
要達成上述的目的,VMware HCX必須能夠滿足下列這幾項需求:
‧可以讓管理者選擇批次作業,一次轉移大量的虛機。
‧移轉過程當中必須盡量減少業務機器停機的時間,而在迫不得已必須停機的狀況下,應該能在「指定的維護時間區段」內進行。
‧大規模移轉過程中如何縮短虛機複製的時間,並減低同站點∕跨站點間的網路傳輸流量。
‧確保在跨站點移轉過程當中,虛機資料傳輸的機密性與完整性。
‧來源與目的端vCenter/vSphere環境極可能會是不同版本,而vCenter間也未必是採用相同的Single-Sign-On Domain。HCX須確保跨vCenter/vSphere版本、跨虛機HW版本的可轉移性。
為了要能夠達成上述的要求,HCX採用了多種VMware/3rd-party提供的技術整合,包含了vSphere本身的跨vCenter∕跨版本遷移技術、網路傳輸加密、網路傳輸加速、與NSX方案及SRM方案結合等等。管理者可以依據業務的不同需求,選擇以批次、不停機、選定時間等不同方式進行需求的移轉作業。
HCX部署時可啟用的服務種類
那實際上,要怎麼在兩個vSphere環境間進行大規模、批次的虛機轉移?有好幾種不同的方法。首先,請先看圖4,是HCX內可啟用的不同服務。
依據不同的HCX版本以及管理者的選擇,在HCX部署時可以啟用不同的服務種類,簡述如下:
Hybrid Interconnect Service
這是一定會運作的HCX最基礎服務。這個服務用來做兩個vSphere環境之間進行傳輸時的資料同步、傳輸加解密、工作排程與流程檢視作業。
WAN Optimization Service
廣域網路加速服務。透過第三方提供的網路優化與壓縮技術,管理者可以選擇在兩個站點間是透過廣域網路傳輸時(例如透過Internet,或是長途專線、MPLS),是否啟用此服務來降低資料傳輸量。
Cross-cloud vMotion Migration Service
允許在HCX來源與目的地間跨版本∕跨vCenter的不停機vMotion傳輸機制。
Bulk Migration Service
允許在HCX來源與目的地之間進行大規模批次移轉,僅短暫停機的虛機複製傳輸機制。
Replication Assisted vMotion Migration Service
這裡就是新技術了,倘若結合了前面Bulk-Migration與vMotion這兩種機制,管理者可以選擇同時移轉大量虛機,這些虛機會同時在底層以Replication方式複製到目的端,複製完成後,剩下的部分改用vMotion方式轉移過去。也就是說,同時兼顧大量快速複製,以及不停機的好處。這個服務需要有HCX Enterprise授權,才可以啟用。
Network Extension Service
可以要求HCX將來源端選定的Port-Group、Logical-Switch、Segment,建立一個二層延伸的VPN通道到目的端的NSX邏輯網路環境內。這樣的話,如果來源端與目的端的業務網路沒有二層打通,利用此方法,在機器移轉過程中,業務機器可以採用同樣IP轉移到目的端而不會斷線。
Disaster Recovery Service
利用HCX來提供選定多個虛機持續複製到目的DR端,並且可以選定RTO/RPO時間,持續進行需求的虛機映像檔複製。與基礎Replication方式做的DR相比,這裡的好處是有應用到前面的廣域網路加速,因此可以用優化、較低的網路傳輸量達成需求的虛機持續複製要求。
OS-Assisted Migration Service
如果企業有多個Linux/Windows的虛機跑在現有的KVM/Hyper-V環境內,可以考慮利用此服務,藉由在這些虛機內安裝HCX的Sentinel Agent軟體,可以將這些non-vSphere虛機複製到HCX上,傳輸至目的端建立對應vSphere格式的虛機。這個功能也是對應HCX-Enteprise授權。
簡單把上面的這些服務分類一下。一般來說,Hybrid Interconnect Service、Cross-Cloud vMotion Migration Service、Bulk-Migration Service這三種是所有客戶都一定會使用的機制。Replication Assisted vMotion Migration Service是極好的新移轉方式,但因為牽涉到額外的授權,就看企業有沒有預算來進行。WAN Optimization、Network Extension Service這兩個算是廣域網路環境內的選項,如果來源與目的站點間很遠、中間頻寬不夠大、廣域網路技術無法做二層延伸,可能選擇要打開,同個機房LAN環境內通常就不一定需要。DR與OS-Assisted則是特殊情境,目前太多客戶使用。
常用的HCX移轉方式
雖然簡單掃過了各種HCX的不同服務,但想要把文章內容縮減到客戶真的會使用的幾種HCX移轉方式,所以接下來只和大家討論下面這幾個虛機移轉的主要方法:
‧Cold Migration:關機狀況下的少數機器移轉。
‧vMotion:少數機器開機移轉,不停機。
‧Bulk Migration:大規模開機移轉,短時間停機。
‧Replication-Assisted vMotion:大規模開機移轉,不停機。
‧Network Extension架構:在兩個站點間以HCX建立二層網路延伸。
限於篇幅,本文先就Cold Migration和vMotion兩種機制進一步討論。
Cold Migration
沒有那麼複雜,Cold Migration就是虛機在關機狀況下,在兩個vSphere環境間做移轉。因為是關機,當然在過程中,業務無法提供服務。當進行HCX移轉選擇時,只要虛機的狀態是關機,自動地就會被選擇為Cold Migration的方式。在圖5中,當管理者選擇的虛機都是關機狀態,後面Migration Info內就會直接指出目前採用的是Cold Migration機制。
Cold Migration是採用VMware NFC(Network File Copy)機制進行虛機複製,執行時,只能一個一個虛機轉移。也就是說,即使一次選了十個虛機,一次就只能拷貝一個,一個做完再做下一個。這個時候大家就會覺得奇怪了,那幹嘛不直接用vCenter裡面的Migration就好,為什麼還特別要裝HCX,而且vCenter裡面還可以容許一次多個Cold Migration/vMotion進行。
如果大家願意採用Cold Migration,而且可以在vCenter內直接執行,當然不用HCX沒問題,但請考慮下列問題:
‧來源與目的端的vCenter/vSphere版本可能差很多,也沒有支援Enhanced Linked Mode,不用HCX,要怎麼用UI來進行虛機移轉呢?(其實可以,但要用API)
‧用了HCX,可以透過底層廣域網路加速∕傳輸加密的機制,來優化資料傳輸。
但不管怎麼說,Cold Migration是在虛機停機的狀況下來移轉,對於支援核心業務的虛機肯定是不夠好,所以來討論下一個vMotion。
vMotion
如果是選擇目前正在開機的虛機,那麼就可以選擇vMotion這種移轉形式,如圖6所示。
如名字所述,HCX就是呼叫標準Live vMotion的方式在來源與目的端間進行虛機移轉。方案限制包含了HW Version必須在第9版以上、兩端vMotion網路必須可以互通。而當然,採用HCX時就可以享受到跨vSphere版本,以及底層傳輸網路優化等好處了,但幾件事情須特別討論:
‧與Cold Migration不一樣,因為是Live Migration,此時轉移時就會有CPU指令集版本的問題。在單一vCenter環境標準的做法是採用EVC(Enhanced vMotion Compatibility),但HCX有支援per-VM EVC,即使目的地的vSphere叢集沒有開EVC,仍然可以成功執行。
‧可是如果是從新的CPU轉移到早期的CPU環境,例如把虛機從雲上面移回來源端的舊環境,當然此時Live vMotion就無法執行。
‧與Cold Migration相同,管理者可以在HCX介面內一次選很多個虛機進行vMotion轉移,但此時HCX會「一個一個做」。而vMotion又是從頭開始進行虛機轉移,例如一個虛機占用200G的儲存空間,此時要把第一個虛機傳完,才傳第二個,大家就排隊排不完。從圖7中可以看到在選擇多個虛機做vMotion轉移時,當一個正在跑,另一個就是排隊等著(Parked)。
因此,以「大規模進行批次轉移」這樣的需求來說,Cold Migration/vMotion其實不太符合需求。如果客戶一次是需要轉幾百個虛機,一台一台做可能就須要花很多時間。
在下篇文章內就會介紹更常為客戶使用的機制,亦即在VMware HCX內的Bulk Migration(批次移轉)方案。
<本文作者:饒康立,VMware資深技術顧問,主要負責VMware NSX產品線,持有VCIX-NV、VCAP-DTD、CCIE、CISSP等證照,目前致力於網路虛擬化、軟體定義網路暨分散式安全防護技術方案的介紹與推廣。>