vSphere部署系列之09——HA和DRS羣集管理服務器
羣集(Cluster)是將多臺物理主機組織起來,羣集管理其中全部主機的資源,造成一個大的資源池。羣集中的全部的虛擬機可在池中的任意主機上自由移動,而且羣集可作到快速擴容和HA故障冗餘。羣集的前提條件是要有共享存儲,全部虛擬機及其配置文件必須駐留在共享存儲器上。網絡
在前面的博文章節中,已搭建了比較基礎的實驗環境,實現了vCenter對ESXi主機的管理,網絡管理、共享存儲管理。在這種狀況下,各物理主機之間的計算資源(CPU、內存)是徹底獨立的,在某臺主機出現問題時,虛擬機的運行得不到保障。架構
爲了達到計算資源的均衡利用,和更好的業務保障,接下來須要建立羣集,並啓用羣集的HA和DRS解決方案。負載均衡
實驗環境整體規劃,請見前面的博文《vSphere部署系列之03——實驗環境整體規劃》分佈式
▲整體規劃網絡拓撲圖ide
1、前期工做性能
在此前的操做中,已經配置了vMotion網絡,並配置了共享存儲。優化
爲方便接下來的調試,先在每臺服務器上新建並運行一個虛擬機。系統安裝完成後,各虛擬機安裝VMware Tools,而且,在CD/DVD的設置中,要斷開與主機ISO鏡像的鏈接(在裝系統時會須要用到),不然在vMotion遷移時會報錯。spa
2、新建羣集設計
VMware建議首先建立空羣集。在已計劃羣集的資源和網絡架構以後,再使用 vSphere 客戶端將主機添加到羣集,並指定羣集的VMware HA 設置。
本案是在vSpherer Client鏈接vCenter Server的主界面中進行。
選中左側清單中的數據中心「SQ-DataCenter」,經過右擊菜單中的「新建羣集」子菜單,將會彈出「新建羣集嚮導」對話框。
▲單擊子菜單「新建羣集」,將會彈出新建羣集嚮導對話框
▲新建羣集嚮導對話框,設備羣集名稱,本案設爲「Cluster01」。
在這一步中直接勾選羣集的兩項功能,也可留做之後再配置。這裏暫不勾選,建立一個空羣集。
▲VMware EVC設置。EVC(增長vMotion兼容性)可以屏蔽某些差別,提供了具備不一樣代次處理器的服務器之間的兼容性。這裏選擇默認的「禁用EVC」。本案中兩臺物理主機配置相同,不存在兼容性問題。
▲虛擬機交換文件位置設置
至此一個空羣集建立完成。羣集創建完成後,將主機往該羣集裏拖,便可完成添加。之後若是要退出,則將主機向數據中心處拖動便可——但此時主機要進入維護模式,才能操做。
▲在摘要->常規區域中,可看到此時羣集的資源整體狀況。
本案中,兩臺服務器配置同樣,CPU均爲兩個6核的E5-2630 v2,內存均爲4條8G。
所以這裏看到的羣集資源爲:總內存(2*4*8G)64G,處理器總核數和爲(2*2*6)24核。另外,總存儲爲兩臺主機的本在磁盤容量之和、再加上共享存儲的磁盤容量。
雖然此時羣集的資源,是兩臺物理主機的總和,但因爲沒有啓用HA功能,仍是各自私有的。此時關掉某臺主機的話,其虛擬機也會跟着被關機。
也就是說,此時羣集還沒實現自動vMotion,如要遷移虛擬機,仍須要人工干預。接下來要爲羣集設置啓用vSphere HA和vSphere DRS,
對於加入羣集的主機,須要在所有虛擬機關機或遷移至其餘主機的的狀況下,才能進入維護模式。不然會報錯,提示「資源不足 沒法知足羣集上的vSphere HA故障切換配置」。
3、HA和DRS設置
首先了解一下vSphere HA和DRS的原理和功能。
vSphere HA(高可用性)經過對羣集中不一樣主機的虛擬機的即時監控,經過主機故障轉移功能,使得主機上面的虛擬機能夠成功的轉移到其它羣集內的主機上,有效的避免了主機宕機給企業帶來的危害,下降了風險(固然vmware還有更厲害的武器,那就是vmware的FT功能)。
vSphere DRS(分佈式資源調度)聚合羣集中的ESXi主機資源,經過監控利用率,自動分配這些資源給虛擬機,並可以跨ESXi主機不斷進行虛擬機資源優化。DRS利用vMotion以知足虛擬機在羣集中的可用資源配額,vMotion將虛擬機遷移到有更多可用資源的ESXi主機上來平衡利用率,DRS也可使用vMotion進行分散資源整理,使得虛擬機有更多的資源利用。
HA的心跳檢測信號能夠經過在 ESXi 主機之間發生, 不受 DRS 和 VMotion 的影響;HA 甚至都不依賴於 VC 服務器,VC 於 HA 的做用僅限於配置時須要它,配置完成以後,只要設定了心跳檢測的隔離地址,便與VC服務器無關了(前提是不須要用到DRS和VMotion 等功能)。
下面進行HA的DRS的設置。經過右擊羣集,在其菜單中選擇「編輯設置」,將會彈出設置對話框,可修羣集的VMware HA和vSphere DRS設置。
▲Cluster01設置對話框。在功能選擇區域中,首先勾選「打開vSphere HA」和「打開vSphere DRS」
此時在左則列表框中可看到「vSphere HA」和「vSphere DRS」及其子選項。選中各項,根據須要進行具體的設置便可。
如無特殊狀況,各子項設置使用默認設置便可。也就是說,勾選這兩項後,直接單擊「肯定」按鈕,即完成了 HA和DRS的啓用、設置。
A、vSphere HA設置
▲主機監控及接入控制,這裏選擇選擇默認值
▲虛擬機選項
其中「虛擬機 從新啓動優先級」選項指定發生主機故障時重啓 VM 的相對優先級,優先級較高的 VM 將優先啓動,依此類推,優先級從高到低次第啓動;「主機隔離響應」選項則用於對已與集羣失去鏈接的主機進行操做。
▲虛擬機監控,默認爲「已禁用」
▲數據存儲檢測信號,默認爲第一項,這裏選擇第三項,並勾選共享存儲
B、vSphere DRS 設置
▲自動化級別,自動級別決定了DRS的自動響應級別,包括位置生成和負載均衡,這裏選擇選擇默認值——全自動優先級3。
可移動閾值滑塊以使用從「保守」到「激進」這5個設置中的一個。這5種遷移設置將根據其所分配的優先級生成建議。每次將滑塊向右移動一個設置,將會容許包含下一較低優先級的建議。
▲DRS組合管理器,能夠建立虛擬機與主機間的關聯性規則,從而與適當的虛擬機 DRS組創建關聯性(或反關聯性)關係。暫時不設置。
▲規則,在這裏能夠根據須要添加一系列的相應規則,控制羣集內主機上的虛擬機的放置位置。暫時不添加。
▲虛擬機選項,自動化級別爲默認的全自動。
配置完成後,在羣集摘要中,能夠看到HA和DRS配置信息。
▲羣集的摘要信息,單擊「配置問題」連接,將彈出羣集配置問題對話框
▲集配置問題對話框,顯示有網絡冗餘問題和數據存儲問題
以上羣集配置問題對話框中,顯示有網絡冗餘問題和數據存儲問題,這在各主機的摘要中也會有提示。
▲主機esxi01摘要中的配置問題提示
VMware建議爲vSphere HA 設置冗餘網絡鏈接。本案在此前的網絡設計中,對這一點有疏忽,Management Network所在的vSwitch0只對應了vmnic0一個網卡,不知足網絡冗餘,所以出現「此主機當前沒有管理網絡冗餘」提示,但不阻礙HA的使用。
官方顯示:自 vSphere 5.0 開始,vSphere HA 至少須要在羣集中的全部主機之間共享兩個共享數據存儲,才能正常運行數據存儲檢測(DataStore HeartBeat)信號。由於本案只是用了一個共享存儲所以出現「vSphere HA檢測信號數據存儲數目爲1,少於要求數目:2」問題。
(在高級設置中,das.heartbeatdsperhost一項,用於更改所需的檢測信號數據存儲的數量。有效數值爲2-5,默認爲2。
das.ignoreinsufficienthbdatastore用於在若是主機不具備足夠的 vSphere HA 檢測信號數據存儲,則禁用建立的配置問題。默認值爲 false。必爲True,則不會再出現此提示。)
▲主機esxi01摘要中的可看到該主機爲HA羣集中的主機
若是看esxi02,則其vSphereHA情況顯示爲「已鏈接(從屬)」
每一個啓用了HA的羣集一般只存在一臺首選主機(Master),其餘全部主機都是從屬主機(Slave)。首選主機的職責是管理羣集主機和受保護的虛擬機列表、監控從屬主機的情況等,若是從屬主機發生故障或沒法訪問,首選主機將肯定須要從新啓動的虛擬機。
首先主機是經過選舉規則產生的。選舉的規則有兩條:擁有最多的datastore的主機當選;若是主機擁有的datastore同樣多,那麼Managed Objective ID((MOID) )號最大的那臺主機當選。
在完成以上配置的狀況下,若是關閉某一臺主機,其上面的虛擬機會自動遷移到另外一個主機上。當該主機從新啓動以後,先前自動遷移出去的虛擬機會自動遷移回來。若是關閉的是首選主機,由(惟一的)從屬主機會晉升爲首選主機。
此時若在羣集中直接新建虛擬機,因爲是DRS是配置爲全自動級別,虛擬機最終運行在哪臺主機上,由DRS按負載均衡原則、根據各主機的資源使用狀況來決定。
▲直接在羣集Cluster01中新建虛擬機
HA和DRS,以及更進一步的FT,都有很深的學問,細究起來能夠琢磨好幾天。筆者本人懂得並不深刻,不敢班門弄斧,下面僅就易於實驗、在實踐中較經常使用到的DRS規則作一些設置,以窺DRS的魅力。
4、vSphere DRS規則的設置
爲對DRS有更好的調試、研究,在該羣集Cluster01中再建立六個虛擬機——將其中一個虛擬機作成模板(更名爲Win2008R2-Temp),而後再從模板中批量建立虛擬機。關於虛擬機模板,後續文章會有專門研究。
▲查看羣集虛擬機,可看到運行的虛擬機均勻地分佈在兩主機上
以上8個虛擬機中,VM1和VM2是esxi01和esxi02在加入羣集前建立的,仍分別運行在最初主機上,其餘6個虛擬機VM三、VM四、VM7和VM8,則在啓動時,因缺乏初始位置的數據,會被DRS按全自動的方式、根據主機的資源使用狀況,進行隨機分配。因爲兩臺主機硬件配置(性能)相同,因此最終平均分配在兩臺主機上。
主機 | 虛擬機 |
esxi01 | VM一、VM四、VM五、VM7 |
esxi02 | VM二、VM三、VM六、VM8 |
▲當前虛擬機運行狀況
經過使用此主機DRS組,能夠建立虛擬機與主機間的關聯性規則,從而與適當的虛擬機DRS組創建關聯性(或反關聯性)關係,這樣能夠實現控制羣集內主機上的虛擬機的放置位置。
接下來,就使用DRS組管理和規則,對虛擬機的運行位置,按需進行從新分配。假設指定VM1-VM3運行在esxi01上,VM4-VM6運行在esxi02上——主要這兩臺主機是運行,就按這個規定運行虛擬要同——剩餘兩個VM七、VM8不指定。
主機 | 虛擬機 |
esxi01 | VM一、VM二、VM三、VM7 |
esxi02 | VM四、VM五、VM六、VM8 |
▲預想虛擬機運行狀況
打開羣集設置對話框,在「DRS組管理器」和「規則」選項中進行操做
▲羣集設置對話框->DRS組管理器
單擊虛擬機DRS組中的「添加」按鈕,會彈出虛擬機「DRS組」設置對話框;
單擊主機DRS組中的「添加」按鈕,會彈出主機「DRS組」設置對話框。
▲虛擬機「DRS組」設置對話框,
在此建立一個名爲「A Group」的DRS組,並將虛擬機VM1-VM3移入到該組。
設備完成後,單擊「肯定」按鍵返回上一級。
按一樣的方式,在此建立一個名爲「B Group」的DRS組,並將虛擬機VM4-VM6移入到該組。
▲主機「DRS組」設置對話框,
在此建立一個名爲「H1 Group」的DRS組,並將主機esxi01移入到該組。單擊「肯定」按鈕,完成設置。
按一樣的方式,建立一個名爲「H2 Group」的DRS組,並將主機esxi02移入到該組。
▲建立了A Group、BGroup和H1 Group、H2 Group的DRS組管理器
接下來設置DRS規則。
DRS有兩種類型的規則。一種是用於指定虛擬機DRS組和主機DRS組之間的關聯性或反關聯性。關聯性規則規定,所選虛擬機DRS組的成員能夠或必須在特定的主機DRS組成員上運行。反關聯性規則規定,所選虛擬機DRS組的成員不能在特定的主機DRS組成員上運行。另外一種是用於指定各個虛擬機之間的關聯性或反關聯性。指定關聯性的規則會使DRS嘗試將指定的虛擬機一塊兒保留在同一臺主機上(如,出於性能考慮)。根據反關聯性規則,DRS嘗試將指定的虛擬機分開,如,當一臺主機出現問題時,將不會同時丟失兩臺虛擬機。
▲羣集設置對話框->規則,單擊「添加」按鈕,彈出規則對話框。
類型列表中,有三種類型的規則:
單獨的虛擬機(Separate Virtual Machines):容許實施VM反關聯性,指定DRS組的VM必須分開在不一樣的主機DRS組運行;
彙集的虛擬機(Keep Virtual Machine Together):容許實施VM關聯性,指定DRS組的VM必須分開在相同的主機DRS組運行;
虛擬機到主機(Virtual Machines to Hosts):容許利用主機關聯性,能夠指定特定的VM組必須在特定的主機DRS組中的主機上運行。
▲規則設置對話框(在DRS組管理器選項卡中,也是能夠設置DRS組的),
在此建立一個名爲「Rule1-A-H1」的規則,類型爲「虛擬機到主機」,羣集虛擬機組選擇「A Group」,羣集主機組選擇「H1 Group」。即指定A Group組中的虛擬機運行在H1 Group組的主機上。
按一樣的方式,此建立一個名爲「Rule2-B-H2」的規則,類型爲「虛擬機到主機」,羣集虛擬機組選擇「A Group」,羣集主機組選擇「H1 Group」。即指定B Group組中的虛擬機運行在H2 Group組的主機上。
▲建立了規則Rule1-A-H1和Rule2-B-H2,但「肯定」按鈕,完成設置
▲羣集虛中虛擬機列表,VM二、VM三、VM四、VM5已根據規則自動遷移
DRS規則設置完成後,大約過半分鐘,羣集中的虛擬機會便根據規則定義的關鍵性,自動遷移到被指定的主機組中(本案主機組只有一臺主機)。待虛擬機從新分配完成後,違反規則對虛擬機進行手動遷移,是不被容許的。
▲試途將VM1由esxi01向esxi02遷移時受到制止。
此時,若把exsi01主機關機,虛擬機DRS組A Group中的全部虛擬機,受制於規則不會自動遷移到esxi02主機上。
▲exsi01主機關機,VM1-VM3也跟着被關閉。VM7因不受規則限制,被自動遷移到esxi02。
本案中,因爲資源有限,這樣的設定看不到太大的應用意義。但在實際應用的,當有多臺物理主機時,主機DRS組會包含多臺主機,造成一個相對寬鬆的活動範圍。這樣,關聯到該主機DRS組上的虛擬機DRS組內的虛擬機,即可以在此活動範圍內均衡運行。