虛擬化浪潮已經勢不可擋,許多企業及組織早期仍持觀望態度,但在引進內部測試環境並確定虛擬化技術真的可行後,已經紛紛將線上營運服務遷移到虛擬化環境當中。企業在VMware vSphere虛擬化平台中常用的vMotion功能,究竟有那些常見的問題與疑惑呢?
從測試結果當中可以看出,VMFS-5的遷移時間相較於VMFS-3,大約減少了35%左右。因此在所建置的vSphere 5.x環境中,如果並沒有要相容於舊版ESXi Host及VM虛擬主機,那麼建議在格式化新加入Datastore的時候,記得必須採用VMFS-5檔案系統版本,以便有效縮短Storage vMotion遷移時間。
TOP 5:沒有共用儲存設備可以執行vMotion嗎?
聽說虛擬化環境中,若沒有共用儲存設備就不能執行vMotion機制,是真的嗎?但因為公司有預算限制的問題,真的無法購買昂貴的共用儲存設備,難道這樣就不能執行vMotion嗎?
這個問題在vSphere 4.x和vSphere 5.0版本時,確實一定要共用儲存設備才能執行vMotion。但是,在最新版本vSphere 5.1中所發佈的vMotion Enhancements技術便能解決這樣的問題,此技術便是「同時」將vMotion與Storage vMotion機制結合,如圖7所示。
|
▲圖7 vMotion Enhancements遷移機制運作示意圖。(圖片來源:VMware文件 – What`s New in VMware vSphere 5.1 (Platform)) |
在兩台ESXi Host且沒有共用儲存設備的環境中,可以將VM虛擬主機的「運算及儲存」資源由A Host線上遷移到B Host當中,因為是結合vMotion和Storage vMotion機制,因此在遷移過程中同樣不會有中斷的情況發生。
請注意!觸發vMotion Enhancements機制,必須要採用新版vSphere Web Client管理介面才能執行,並且在遷移設定中選擇「Change both host and datasotre」項目。在以往大家習慣的vSphere Client管理介面中,是無法執行vMotion Enhancements機制。事實上,VMware官方已經宣佈vSphere Cleitn 5.1是最後一版,以後再也不會有新版本的vSphere Client。
TOP 6:不同世代的CPU,可以執行vMotion嗎?
因為公司預算限制的考量,我不可能一次就把所有伺服器都買足,那麼以後新買的伺服器與舊有的伺服器,還能不能順利執行vMotion機制進行線上遷移?
當企業或組織建置虛擬化平台時,很可能因為預算限制或其他因素,而造成虛擬化平台所使用的實體伺服器規格不一,因此可能會發生因為「CPU指令集」不同而造成無法執行vMotion的情況。舉例來說,A公司初期建置伺服器虛擬化平台時,因為預算問題而採購了兩台Dell R710伺服器,其CPU規格為Intel Xeon E5645,隔年又採購了兩台Dell R720伺服器,其CPU規格是Intel Xeon E5-2620。
此時,A公司的管理人員卻發現,運作在Dell R710上的VM虛擬主機,雖然可以執行vMotion機制遷移至Dell R720伺服器上,但是欲將Dell R720伺服器上的VM虛擬主機,使用vMotion機制遷移到Dell R710伺服器時,卻發生因為CPU指令集的關係而無法vMotion的錯誤訊息,如圖8所示(詳請參考VMware KB-1029785)。
|
▲圖8 出現因為CPU指令集的關係而無法vMotion的錯誤訊息。 |
碰到這種情況,可以開啟VMware EVC(Enhanced vMotion Compatibility)功能,透過內建的Building Block Architecture技術,以及CPU廠商所提供的遷移機制如Intel FlexMigration及AMD-V Extended,來解決因為不同CPU世代(CPU Generations)擁有不同CPU指令集,造成無法順利vMotion遷移VM虛擬主機的困擾(詳請參考VMware KB-1003212)。
啟用EVC Mode功能時,會因為使用的vCenter Server版本不同,而讓支援的CPU世代也有所不同,如圖9所示,例如採用最新版本的vCenter Server 5.1,便可以支援從Intel Merom到最新的Intel Ivy Bridge世代的CPU。
|
▲圖9 不同vCenter Server版本所支援Intel及AMD的CPU世代。(圖片來源:VMware KB1003212 - Enhanced vMotion Compatibility (EVC) Processor Support) |
TOP 7:啟動EVC Mode有哪些先決條件?
為何當我嘗試在環境中啟用EVC Mode時無法成功?是不是有哪些環境上的限制要先克服才行?可不可以把Intel CPU伺服器上的VM虛擬主機,遷移到AMD CPU伺服器中?
要啟動VMware EVC Mode,必須在Cluster層級才能啟用此功能,並且所有的ESXi Host都必須加入此Cluster當中,才能有效套用EVC Mode功能,除此之外還有下列幾個先決條件:
1. 在VMware所建立的Cluster內,所有的ESXi Host
其CPU必須是同一家供應商,例如都是Intel或都是AMD,並且都必須在VMware Compatibility Guide支援清單中才行。
2. 所有的ESXi Host其CPU至少必須支援第一代虛擬
化技術,例如Intel VT或AMD AMD-V,以及Intel XD(eXecute Disable)、AMD NX(No eXecute),並且在BIOS中必須啟用才行。若CPU有支援第二代虛擬化技術如Inte EPT或AMD RVI,則VMware ESXi Hypervisor會自動使用其功能,來卸載虛擬化工作負載加強運作效率。
3. 所有的ESXi Host都必須設定及啟用vMotion機制。
4. 所有的ESXi Host都必須接受同一台vCenter Server
管理。