1. 程式人生 > >在vSphere群集中配置EVC的註意事項

在vSphere群集中配置EVC的註意事項

雲計算 虛擬化

在為VMware vSphere虛擬化環境配置高可用群集(HA)時,有一個重要的參數:EVC配置。如果加入群集的主機具有相同的配置(關鍵是CPU相同),則配置較為方便。如果混合使用新、舊不同的服務器,服務器的CPU型號不一致時,則加入同一群集時,配置EVC就較為麻煩,本文將介紹這一問題。

1 VMware EVC概述

EVC 是 Enhanced vMotion Compatibility 的簡稱,是VMware群集功能的一個參數。EVC 允許在不同代 CPU 之間遷移虛擬機

EVC 不允許 AMD 和 Intel CPU 與 vMotion 兼容。已啟用 EVC 的群集僅允許來自群集中單個供應商的 CPU。 vCenter Server 不允許將來自不同 CPU 供應商的主機添加到已啟用 EVC 的群集。

因為 EVC 允許在不同代 CPU 之間遷移虛擬機,因此憑借 EVC,管理員可以在同一群集裏混合使用較舊和較新代服務器,並且可以在這些主機之間使用 vMotion 遷移虛擬機。 這使得管理員可以更輕松地將新硬件添加到現有基礎架構中,並有助於擴展現有主機的價值。 憑借 EVC,無需任何虛擬機停機即可實現完整群集升級。在將新主機添加到群集時,可以將虛擬機遷移到新主機並停用舊主機。

在啟用 EVC 後,將群集中的所有主機都配置為向群集中正在運行的所有虛擬機提供由用戶選擇的處理器類型的 CPU 功能。 這可確保 vMotion 的 CPU 兼容性,即使基礎硬件可能由於主機不同而有所不同。 會向虛擬機(無論其在哪個主機上運行)公開相同的 CPU 功能,因此虛擬機可以在群集中的任何主機之間進行遷移。

在配置了HA之後,在配置並啟用了DRS或DPM功能之後,自動或手動在不同主機之間遷移正在運行的虛擬機(以平衡資源)都會使用VMotion技術。vCenter Server使用vMotion 在不同 ESXi 主機之間傳輸虛擬機的運行狀況。vCenter Server 在遷移正在運行或已掛起的虛擬機前會執行一些兼容性檢查,以確保虛擬機與目標主機兼容。

成功的實時遷移要求:目標主機的處理器能夠在遷移之後向虛擬機提供與源主機的處理器在遷移之前所提供的相同的指令。源處理器和目標處理器之間的時鐘速度、緩存大小以及核心數量可以不同,但處理器必須屬於相同的供應商類別(AMD 或 Intel),以便與 vMotion 兼容。

已掛起的虛擬機的遷移還要求虛擬機能夠使用等效指令在目標主機上恢復執行。

通過 vMotion 遷移“正在運行”或“已掛起”虛擬機的遷移時,遷移虛擬機向導會檢查目標主機的兼容性,如果有阻礙遷移的兼容性問題存在,向導會生成錯誤消息。

在打開虛擬機電源時,確定可供操作系統以及虛擬機中運行的應用程序使用的 CPU 指令集。VMware根據以下項目確定此 CPU“功能集”:

l 主機 CPU 系列和型號

l BIOS 中可能禁用 CPU 功能的設置

l 在主機上運行的 ESX/ESXi 版本

l 虛擬機的虛擬硬件版本

l 虛擬機的客戶機操作系統

要提高具有不同 CPU 功能集的主機之間的 CPU 兼容性,可通過將主機置於增強型 vMotion 兼容性 (EVC) 群集中來“隱藏”虛擬機中的一些主機 CPU 功能。

2 為相同CPU的主機配置EVC

如果是相同型號的主機(主要是CPU相同)加入同一群集,則只要查看其中一臺主機能支持到的最高EVC參數,然後用此參數配置群集EVC設置,然後將所有主機加入到群集即可。本節將介紹這一內容。

2.1 向數據中心中添加主機

使用vSphere Web Client登錄到vCenter Server,創建數據中心,將主機先加入“數據中心”查看EVC資料後,再創建群集,設置群集EVC參數為第一臺主機所查看到的EVC參數,然後將主機移入“群集”,並向群集添加其他主機。

(1)在 vSphere Web Client 中,導航到數據中心、群集或數據中心中的文件夾。在本示例中,導航到“vCenter.heinfo.edu.cn(vCenter Server)→Datacenter(數據中心)”,在中間窗格中單擊“添加主機”鏈接,在“添加主機”對話框中,鍵入主機的 IP 地址或名稱,在本示例中,要添加的主機IP地址為172.18.96.34(如圖3-4-32所示),然後單擊“下一步”按鈕, 在“連接設置”中,鍵入ESXi主機管理員賬戶root及密碼。

技術分享圖片

圖3-4-32 添加主機名稱或IP地址

(3)在“安全警示”對話框中,顯示“vCenter Server的證書存儲無法驗證該主機”,單擊“是”按鈕,添加並替換此主機的證書並繼續工作。

(4)在“主機摘要”對話框,顯示了要添加主機的信息、供應商、型號及ESXi版本,以及當前主機中的創建或加載的虛擬機。

(5)在“分配許可證”對話框,從“許可證”列表中,為當前添加的主機選擇許可。

(6)在“鎖定模式”中,可選擇鎖定模式選項以禁用管理員賬戶的遠程訪問。一般情況下,要“禁用”這一選項。

(7)在“即將完成”對話框,顯示了新添加主機的信息,如圖3-4-39所示。單擊“完成”按鈕。

技術分享圖片

圖3-4-39 即將完成

(8)在將主機添加到數據中心之後,在“導航器”中單擊主機,在“摘要”選項卡中,單擊展開“配置”選項,音“EVC模式”,在“支持的EVC模式”中,記錄主機所能支持的EVC模式,並以最後一個為準,如圖3-4-41所示。

技術分享圖片

圖3-4-41 查看主機支持的EVC模式

在記錄每個主機能支持的EVC模式中,排列在後面的需要的CPU“越新”。當群集中有多個不同CPU的主機時,其EVC模式以最後一個相同的為準。

2.2 創建群集

群集是一組主機。將主機添加到群集時,主機的資源將成為群集資源的一部分。群集管理其中所有主機的資源。群集啟用 vSphere High Availability (HA)、vSphere Distributed Resource Scheduler (DRS) 和 VMware Virtual SAN 功能。

(1)在 vSphere Web Client 導航器中,瀏覽到數據中心,在中間窗格中單擊“創建群集”,如圖3-4-42所示。

技術分享圖片

圖3-4-42 創建群集

(2)在“名稱”文本框中,設置新建群集的名稱,例如設置名稱為HA01。之後根據需要啟用群集的名稱,例如,如果要啟用DRS,請在“DRS”後面的方框單擊並選中。如果要啟用“vSphere HA”請在其後選中,如圖6-88所示。大多數的情況下,DRS與vSphere HA是必選項。

在啟用DRS時,選擇一個自動化級別和遷移閾值。在啟用HA時,選擇是否啟用“主機監控”和“接入控制”,如果啟用接入控制,請指定策略。

在“虛擬機監控”選項中,選擇一個虛擬機監控選項,並指定虛擬機監控敏感度,在此設置為“低”。

【說明】在“vSphere HA”功能中,“啟用主機監控”,當有HA中的主機死機或其他故障導致主機不能使用時,原來主機上運行的虛擬機,會在其他主機註冊並重新啟動。如果HA中的主機沒有故障,但某個虛擬機出現問題,例如某虛擬機“藍屏”死機,如果要檢測這種故障並將“藍屏”的虛擬機重新啟動,則在“虛擬機監控狀態”中選擇“僅虛擬機監控”,並在“監控敏感度”選項中選擇“低、中、高”,一般選擇“低”即可。

(3)在“EVC模式”中,選擇增強型 vMotion 兼容性 (EVC) 設置。EVC 可以確保群集內的所有主機向虛擬機提供相同的 CPU 功能集,即使這些主機上的實際 CPU 不同也是如此。這樣可以避免因 CPU 不兼容而導致通過 vMotion 遷移失敗。在右側的下拉列表中,根據你的主機的CPU型號、支持功能,選擇EVC模式,如圖3-4-43所示。根據圖3-4-41的檢查,在本示例中選擇EVC為“Intel "Haswell" Generation”,如圖3-4-44所示。

技術分享圖片

圖3-4-43 啟用DRS及HA功能

技術分享圖片

圖3-4-44 EVC模式

在“vSAN”功能處,選擇是否啟用“vSAN” 群集功能。關於“虛擬SAN”,本章暫時不做介紹。之後單擊“確定”按鈕,完成群集的創建。

【說明】在不同版本的ESXi中,EVC模式不同,在ESXi 6.5中,Intel CPU支持的選項包括以下:

Intel Merom Generation

Intel Penryn Generation

Intel Nehalen Generation

Intel Westmere Generation

Intel Sandy Bridge Generation

Intel ivy Bridge Generation

Intel Haswell Generation

Intel Broadwell Generation

AMD支持CPU支持的選項包括以下:

AMD Opteron Generation 1 ("Rev. E")

AMD Opteron Generation 2 ("Rev. F")

AMD Opteron Generation 3 ("Greyhound")(不支持3DNow)

AMD Opteron Generation 3 ("Greyhound")

AMD Opteron Generation 4 ("Bulldozer")

AMD Opteron "Piledriver" Generation

AMD Opteron "Steamroller" Generation

當網絡中有多臺不同型號的ESXi主機時,如果主機相同,則記下“支持的EVC模式”列表中最後一項。當具有不同EVC模式支持的主機,創建成同一個群集時,其EVC選項支持以最少的一臺主機的最後一項為準。

2.3 將主機添加到群集

在記錄每個主機的EVC並根據記錄的EVC創建群集之後,接下來的操作是將主機“移入”群集,或者向群集中添加其他未添加到vCenter Server中的主機(這些主機與已經添加到vCenter Server中的部分主機具有相同的CPU,所以無需事先全部添加,而是在等待創建群集之後再次添加)。將主機移入群集或向群集中添加主機的操作比較簡單,管理員即可以用鼠標選中主機,將其“拖拽”並移動到群集,也可以右擊ESXi主機,選擇“移至”(如圖3-4-45所示),並在隨後“移至”對話框中,選擇移入的群集,並單擊“OK”按鈕。

技術分享圖片

圖3-4-45 移至

添加之後可以將其他ESXi主機“移入”此群集,也可以在“導航器”中選中群集,在右側單擊“添加主機”鏈接,向群集中添加其他ESXi主機(沒有添加到vCenter Server清單中的ESXi主機)。

在將ESXi主機移入群集時,主機會配置“vSphere HA”代理,此時主機前面會有一個“×××”的感嘆號,等配置vSphere HA完成後,狀態正常。之後在“導航器”中選中某個主機,在“摘要→配置→EVC模式”中,可以看到當前EVC模式及支持的EVC模式,如圖3-4-49所示。

技術分享圖片

圖3-4-49 查看EVC模式

3 為不同主機啟用EVC實驗

如果CPU不同的主機加入同一群集,需要以EVC最低支持主機為準。為了演示這些功能,本節以圖3-7-6所示環境為例進行介紹。

技術分享圖片

圖3-7-6 vSphere HA實驗環境

為了充分體驗VMotion的功能,以及為了解決實際中碰到的困難,我們設計如下的實驗環境:

(1)2臺ESXi主機,其中每個主機的CPU不同,其支持的EVC功能不一致。其中支持較高EVC功能的主機(172.18.96.34,i7-4790K,支持Haswell)已經加入了群集,需要將另一臺支持較低EVC功能的ESXi主機(172.18.96.35,E3-1230 V2,支持ivy Bridge)加入群集。但如果直接將主機加入群集,則會彈出圖3-7-7所示錯誤。

(2)所以低EVC支持的ESXi主機要加入高EVC支持的群集,需要修改群集設置將EVC“降級”。如果要將群集支持的EVC降級,降級之前當前群集中的主機,如果存在運行的虛擬機,將不能降級。此時錯誤信息如圖3-7-8所示。

技術分享圖片

圖3-7-7 低EVC支持的主機加入高EVC配置的群集的錯誤提示

技術分享圖片

圖3-7-8 嘗試降低EVC時的錯誤提示

(3)由於172.18.96.34已經運行了虛擬機,並且是vCenter Server的虛擬機,當前vCenter Server不能關機,因為關機之後,vSphere Web Client將不能工作(群集功能是vCenter Server所支持的)。

1 vCenter保存在共享存儲中

對於此類問題,如果vCenter Server保存在共享存儲中,解決思路:

(1)使用vSphere Client或vSphere Host Client登錄(EVC支持高的)172.18.96.34,將vCenter Server關機,並將vCenter Server虛擬機從ESXi清單中“移除”。

(2)使用vSphere Client或vSphere Host Client登錄(EVC支持低的)172.18.96.35,瀏覽存儲,將vCenter Server添加到清單。之後打開vCenter Server虛擬機的電源。

(3)等vCenter Server啟動之後,使用vSphere Web Client登錄vCenter Server,關閉(EVC支持高的)172.18.96.34主機上所有正在運行的虛擬機,如果有“休眠”的虛擬機,請將休眠的虛擬機“打開電源”,之後再關閉這些虛擬機的電源。否則,如果高EVC支持的主機上有正在運行的虛擬機或者休眠的虛擬機,在嘗試加入更低EVC配置的群集時,會彈出“無法允許主機進入群集當前的增強型VMotion兼容模式。主機上己打開電源或己掛起的虛擬機正在使用該模式所隱藏的CPU功能”,圖3-7-9所示錯誤提示。

技術分享圖片

圖3-7-9 高EVC支持的主機上有運行或休眠的虛擬機不能加入低EVC配置的群集

等所有虛擬機關閉並且沒有休息的虛擬機時,修改群集中EVC設置,從原來支持Haswell改為ivy Bridge,並將172.18.96.35加入到群集。

2 vCenter保存在本地存儲中,無共享存儲

如果vCenter Server保存在本地存儲中,並且當前環境中沒有共享存儲,解決思路如下:

(1)使用vSphere Web Client,將(EVC支持低的)172.18.96.35添加到“數據中心”根目錄,但不要將172.18.96.35加入到群集,此時也不能加入。

(2)右擊正在運行的vCenter Server虛擬機(本示例為vCenter-172.18.96.221),選擇“克隆到虛擬機”(圖3-7-10所示),設置克隆後虛擬機的名稱為其他名稱,本示例為vcenter_91.221(如圖3-7-11所示),目標選擇172.18.96.35主機(如圖3-7-12所示)、存儲選擇172.18.96.35的本地存儲(如圖3-7-13所示)。

技術分享圖片

圖3-7-10 克隆到虛擬機

技術分享圖片

圖3-7-11 設置克隆後虛擬機名稱

技術分享圖片

圖3-7-12 選擇172.18.96.35為目標主機

技術分享圖片

圖3-7-13 選擇172.18.96.35的本地存儲為目標存儲

(2)等虛擬機克隆完成之後,在清單中可以看到克隆前正在運行的vCenter虛擬機(名稱為vCenter-172.18.96.221)、克隆成功後狀態為關閉的虛擬機(名稱為vCenter_96.221),如圖3-7-14所示,請關閉在172.18.96.34主機上運行的vCenter Server虛擬機vCenter-172.18.96.221。等(EVC支持高的)172.18.96.34主機上的vCenter Server虛擬機關閉後,使用vSphere Client或vSphere Host Client登錄(EVC支持低的)172.18.96.35,打開克隆後的vCenter Server虛擬機(名稱為vCenter_96.221)的電源。

技術分享圖片

圖3-7-14 克隆完成

(3)等vCenter Server啟動之後,使用vSphere Web Client登錄vCenter Server,關閉(EVC支持高的)172.18.96.34主機上所有正在運行的虛擬機,如果有“休眠”的虛擬機,請將休眠的虛擬機“打開電源”,之後再關閉這些虛擬機的電源。然後修改群集中EVC設置,從原來支持Haswell改為ivy Bridge(如圖3-7-15所示),並將172.18.96.35加入到群集,如圖3-7-16所示。

技術分享圖片

圖3-7-15 更改EVC模式

技術分享圖片

圖3-7-16 將另一個主機加入到群集

3 vCenter保存在本地存儲,有共享存儲

如果vCenter Server保存在本地存儲中,當前環境中有共享存儲,此時vCenter Server運行在(EVC支持高的)172.18.96.34主機上。解決思路如下:

(1)使用vSphere Web Client登錄vCenter Server,選中正在運行的vCenter Server虛擬機,右擊選擇“遷移”,選擇“更改存儲”,將vCenter Server的存儲從172.18.96.34更改到連接到172.18.96.34的共享存儲。

(2)等更改存儲完成後,再參照前文介紹的步驟操作(vCenter Server關機、從高EVC支持的ESXi清單移除、添加到低EVC支持的ESXi、重新打開vCenter Server電源、重新連接vCenter Server、重新配置群集、將低EVC支持的ESXi主機加入到群集),這些不一一介紹。

更多虛擬化課程及視頻,請單擊“VMware系統集成工程師”專題。

http://edu.51cto.com/topic/1308.html

在vSphere群集中配置EVC的註意事項