虛擬化實戰 Cluster設計之二DRS

2021-09-04 16:07:57 字數 2797 閱讀 4069

本文介紹drs設計的指導原則和考慮因素。

一、為什麼使用drs

負載均衡

我們希望在乙個cluster中的所有主機上的負荷是均衡的,不至於出現有的主機特別繁忙,而有的又很閒的情況。在一開始啟動vm的時候,drs會自動選擇合適的主機來執行它。在執行中,drs也會不斷衡量各種因素,來決定是否移植該vm.

質量控制:

資源池及其控制,比如share、limit、reservation等都要依賴drs來支援。

策略實施:

如果你希望有些vm執行在同一臺主機,或者有些vm分別執行在不同的主機,,可以通過drsaffinity/non-affinity 可以實現

維護管理:

在主機進入維護模式後,drs自動移植vm到其他可用的主機。

二、基本設計原則

不要過度設定affinity/anti-affinity rule, 可能會很大得制約drs可以分配的主機資源。

在cluster內主機數目較多時,考慮採用affinity rule僅允許vcenter執行在乙個或幾個指定的主機上。這樣在vcenter宕機時,可以很容易在特定的主機上的找到它。否則vcenter有可能執行在任何一台主機上。另外乙個辦法是,無需指定vcenter執行的主機,但是指定儲存vcenter的datastore。在vcenter宕機後可以隨機在任何一台主機上註冊該vcenter並啟動。

根據vm的目前和近期需要來設定vcpu和記憶體的初始值。不要過度為vm分配資源,如果configured size大大超過實際的需要,可能drs要很費事的把負載均衡到各個主機上。

盡量保證有足夠的頻寬供vmotion使用,避免vmotion所需的時間過長

三、考慮因素

什麼情況下drs被啟用?

預設情況每300秒,drs被啟用。這個值可能更改為60秒-3600秒之間。不建議更改這個設定。下面的情況會讓drs來計算是否需要移植vm

當主機加入cluster或者主機進入維護模式

當虛擬機器從powered-on切換到powered-off

資源池的設定改動

vm移入或移出資源池

影響drs的決定因素

drs有一套複雜的方法,先考慮各項限制條件,然後來比較vmotion之後的好處和可能帶來的移植成本及風險,最後再作出決定。

限制條件

比如某主機進入維護模式,affinity/anti-affinity rule等

vmotion的成本

vmotion需要cpu和記憶體來支援,有可能會對vm效能有負面影響。vmotion如果不能獲得該vm上每個core30%的資源,可能執行的速度會很慢。

盡量避免必要的vmotion。對於響應時間特別敏感的vm,以及使用vflashcache的vm,drs在作vmotion決定的時候會相對保守,盡量避免vmotion

好處vm移植後所釋放的資源可供源主機使用,同時因為目標主機資源更充足,vm的效能可能會提高。整個cluster的負載會更均衡得分配給所有主機。

drs migration threshold

可以調整slide bar來調整drs aggressive的程度。aggressive的程度越高,對各個主機負載均衡的程度更敏感,更傾向於啟動drs來移植vm

如果調整threshold之後,你仍然不滿意結果的話,考慮條整下面的引數。

如果你認為drs的移植vm的頻率太頻繁,可以增加percentidlembinmemdemand的值到100%。初始值是25%

另外,drs演算法的設計原則是滿足vm的效能需要,而不是在主機之間均衡vm的個數。如果你不希望在一台主機上執行過多的vm,考慮設定limitvmsperesxhost

affinity/anti-affinity rule

設定rule的原因可能有:

我們往往採用多個vm來實現某些關鍵應用。為了避免由於主機宕機產生的單點故障,盡量採用anti-affinityrule在不同的主機上執行這些vm

軟體許可的要求

效能優化的要求

比如需要頻繁通訊的vm,可以考慮在同一臺主機上執行

stretch cluster.不希望vm異地訪問儲存,從而造成延時和效能下降。詳細分析見【虛擬化實戰】容災設計之三stretched cluster

should(not) run on: drs盡可能會滿足設定條件,但必要時也會突破規則限制。

must(not) run on: 該設定條件是強制性的,是必須要遵循的。設定強制性條件時要慎重,過多的條件限制可能很大制約drs可以分配的主機資源。

automation level

設定為disabled可能會後期的維護有一定的影響,但drs仍然會提供移植的建議,供使用者來考慮。而且使用者完全可以在開始的時候決定哪台主機執行哪些vm。

設定為fully automated可以最大化的保證各個主機負載的均衡。

參考:vmware vsphere 5.1 clusteringdeepdive by duncan epping

vmwaredistributed resource management: design, implementation and lessons learned

vmworld2013 session:performance and capacity management of drsclusters

虛擬化實戰 儲存設計之七Block Size

在 實戰儲存設計之六latnecy 我們介紹latency過高的原因和一些建議。本文重點分析block size對效能特別是latency的影響。什麼是block size?block size這個詞在不同的語境中有不同含義。在此文中指的是在os中執行的應用發出乙個io讀或寫請求所傳送的資料單元的大...

虛擬化實戰 網路設計之五IP Storage

ip storage nfs和iscsi 的內容很多,本文僅僅 一些網路方面設計上的考慮。dedicated network 選擇一為ipstorage分配專有的物理網絡卡 一 選擇二 ip storage和其他portgroup的共享物理網絡卡 連線在esxi主機上10g網絡卡的數量不多時,通常採...

虛擬化實戰 網路設計之五IP Storage

ip storage nfs和iscsi 的內容很多,本文僅僅 一些網路方面設計上的考慮。dedicated network 選擇一為ipstorage分配專有的物理網絡卡 一 選擇二 ip storage和其他portgroup的共享物理網絡卡 連線在esxi主機上10g網絡卡的數量不多時,通常採...