vSphere部署系列之09——HA和DRS群集管理
群集(Cluster)是將多臺物理主機組織起來,群集管理其中所有主機的資源,形成一個大的資源池。群集中的所有的虛擬機可在池中的任意主機上自由移動,並且群集可做到快速擴容和HA故障冗余。群集的前提條件是要有共享存儲,所有虛擬機及其配置文件必須駐留在共享存儲器上。
在前面的博文章節中,已搭建了比較基礎的實驗環境,實現了vCenter對ESXi主機的管理,網絡管理、共享存儲管理。在這種情況下,各物理主機之間的計算資源(CPU、內存)是完全獨立的,在某臺主機出現問題時,虛擬機的運行得不到保障。
為了達到計算資源的均衡利用,和更好的業務保障,接下來需要創建群集,並啟用群集的HA和DRS解決方案。
實驗環境總體規劃,請見前面的博文《vSphere部署系列之03——實驗環境總體規劃》
▲總體規劃網絡拓撲圖
一、前期工作
在此前的操作中,已經配置了vMotion網絡,並配置了共享存儲。
為方便接下來的調試,先在每臺服務器上新建並運行一個虛擬機。系統安裝完成後,各虛擬機安裝VMware Tools,並且,在CD/DVD的設置中,要斷開與主機ISO鏡像的連接(在裝系統時會需要用到),否則在vMotion遷移時會報錯。
二、新建群集
VMware建議首先創建空群集。在已計劃群集的資源和網絡架構之後,再使用 vSphere 客戶端將主機添加到群集,並指定群集的VMware HA 設置。
本案是在vSpherer Client連接vCenter Server的主界面中進行。
選中左側清單中的數據中心“SQ-DataCenter”,通過右擊菜單中的“新建群集”子菜單,將會彈出“新建群集向導”對話框。
▲單擊子菜單“新建群集”,將會彈出新建群集向導對話框
▲新建群集向導對話框,設備群集名稱,本案設為“Cluster01”。
在這一步中直接勾選群集的兩項功能,也可留作以後再配置。這裏暫不勾選,創建一個空群集。
▲VMware EVC設置。由於Vmotion對硬件要求嚴格,EVC用於將不同型號的INTEL或者AMD系列CPU的服務器之間相互遷移虛擬機。
這裏選擇默認的“禁用EVC”。本案中兩臺物理主機配置相同,不存在兼容性問題。
▲虛擬機交換文件位置設置
至此一個空群集創建完成。群集建立完成後,將主機往該群集裏拖,即可完成添加。以後如果要退出,則將主機向數據中心處拖動即可——但此時主機要進入維護模式,才能操作。
▲在摘要->常規區域中,可看到此時群集的資源總體情況。
本案中,兩臺服務器配置一樣,CPU均為兩個6核的E5-2630 v2,內存均為4條8G。
因此這裏看到的群集資源為:總內存(2*4*8G)64G,處理器總核數和為(2*2*6)24核。另外,總存儲為兩臺主機的本在磁盤容量之和、再加上共享存儲的磁盤容量。
雖然此時群集的資源,是兩臺物理主機的總和,但由於沒有啟用HA功能,還是各自私有的。此時關掉某臺主機的話,其虛擬機也會跟著被關機。
也就是說,此時群集還沒實現自動vMotion,如要遷移虛擬機,仍需要人工幹預。接下來要為群集設置啟用vSphere HA和vSphere DRS,
對於加入群集的主機,需要在全部虛擬機關機或遷移至其他主機的的情況下,才能進入維護模式。否則會報錯,提示“資源不足 無法滿足群集上的vSphere HA故障切換配置”。
三、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的魅力。
四、vSphere DRS規則的設置
為對DRS有更好的調試、研究,在該群集Cluster01中再創建六個虛擬機——將其中一個虛擬機做成模板(改名為Win2008R2-Temp),然後再從模板中批量創建虛擬機。關於虛擬機模板,後續文章會有專門研究。
▲查看群集虛擬機,可看到運行的虛擬機均勻地分布在兩主機上
以上8個虛擬機中,VM1和VM2是esxi01和esxi02在加入群集前創建的,仍分別運行在最初主機上,其他6個虛擬機VM3、VM4、VM7和VM8,則在啟動時,因缺少初始位置的數據,會被DRS按全自動的方式、根據主機的資源使用情況,進行隨機分配。由於兩臺主機硬件配置(性能)相同,所以最終平均分配在兩臺主機上。
主機虛擬機esxi01VM1、VM4、VM5、VM7esxi02VM2、VM3、VM6、VM8▲當前虛擬機運行情況
通過使用此主機DRS組,可以創建虛擬機與主機間的關聯性規則,從而與適當的虛擬機DRS組建立關聯性(或反關聯性)關系,這樣可以實現控制群集內主機上的虛擬機的放置位置。
接下來,就使用DRS組管理和規則,對虛擬機的運行位置,按需進行重新分配。假設指定VM1-VM3運行在esxi01上,VM4-VM6運行在esxi02上——主要這兩臺主機是運行,就按這個規定運行虛擬要同——剩余兩個VM7、VM8不指定。
主機虛擬機esxi01VM1、VM2、VM3、VM7esxi02VM4、VM5、VM6、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嘗試將指定的虛擬機分開,如,當一臺主機出現問題時,將不會同時丟失兩臺虛擬機。
▲群集設置對話框->規則,單擊“添加”按鈕,彈出規則對話框。
規則類型有三類:
單獨的虛擬機:指定DRS組的VM必須分開在不同的主機DRS組運行;
聚集的虛擬機:指定DRS組的VM必須分開在相同的主機DRS組運行;
虛擬機到主機:可以指定特定的VM組必須在組中的主機上運行。
▲規則設置對話框(在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,但“確定”按鈕,完成設置
▲群集虛中虛擬機列表,VM2、VM3、VM4、VM5已根據規則自動遷移
DRS規則設置完成後,大約過半分鐘,群集中的虛擬機會便根據規則定義的關鍵性,自動遷移到被指定的主機組中(本案主機組只有一臺主機)。待虛擬機重新分配完成後,違反規則對虛擬機進行手動遷移,是不被允許的。
▲試途將VM1由esxi01向esxi02遷移時受到制止。
此時,若把exsi01主機關機,虛擬機DRS組A Group中的所有虛擬機,受制於規則不會自動遷移到esxi02主機上。
▲exsi01主機關機,VM1-VM3也跟著被關閉。VM7因不受規則限制,被自動遷移到esxi02。
本案中,由於資源有限,這樣的設定看不到太大的應用意義。但在實際應用的,當有多臺物理主機時,主機DRS組會包含多臺主機,形成一個相對寬松的活動範圍。這樣,關聯到該主機DRS組上的虛擬機DRS組內的虛擬機,便可以在此活動範圍內均衡運行。
本文出自 “一樹清勁” 博客,請務必保留此出處http://sunshyfangtian.blog.51cto.com/1405751/1840421
Tags: 解決方案 數據中心 網絡管理 配置文件 服務器
文章來源: