本文介紹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網絡卡的數量不多時,通常採...