作者:範軍 (Frank Fan) 新浪微博:@frankfan7
資源池是Cluster設計中的一個重要概念,本文介紹了爲什麼用資源池,怎麼用好資源池,以及澄清了一些常見的誤區。
一概念
每個ESXi主機和Cluster缺省都有一個Root資源池。如果沒有新的自由池創建的話,整個系統僅僅有一個資源池。
圖中所示RP-Marketing和RP-QA是在Root資源池內新創建的資源池,他們和root資源池是父子關係,他們之間是兄弟關係。
RP-QA-UI是RP-QA下的子資源池。
爲了簡化管理,通常不建議在資源池內建好幾級子資源池,2級資源池應該可以滿足絕大多數的情況。
二 爲什麼使用資源池
授權管理
vCenter管理員可以爲每個部門建立資源池,授權特定用戶管理該部門的資源池。這樣vCenter管理員就無需過多介入對各部門內部資源的控制。
統一策略:
對每個VM進行資源控制費時費力,把有共同需要的VM分配到相應的資源池,可以很便捷的實現資源控制。
資源分離:
對一個資源池的設置改變不會影響到其他資源池,
三基本設計原則
不要僅僅因爲邏輯區分或者訪問控制的原因,來使用資源池。其實文件夾可以更好的實現該目的。
不要把虛擬機和資源池分在同一級
不要過度分配資源。在建議資源池之前,檢查上一級資源池可供分配的資源。
四 SeparateESXi Cluster vs Resource Pool
如果僅僅從資源分離的角度考慮,需要斟酌是建一個單獨的Cluster,還是在Cluster內建資源池。
建議考慮下面的因素:
Cluster內的主機數目
如果一個Cluster有8個以上主機,可以考慮爲管理功能的VM設置單獨的Cluster。比如vcenter,vCloud,Database等等。 如果主機個數很少,而希望能充分利用資源,在Cluster內建立資源池是更好的選擇。
安全
有的公司有非常嚴格的安全策略,某些特定應用不可以和其他應用共享硬件。爲此需要單獨設置Cluster,設置爲該Cluster分配專屬的存儲資源。
性能
爲了最大化性能的保障,考慮單獨的Cluster,能保證充足資源的供給。畢竟資源池還是要共享資源的,在資源競爭很厲害的情況下,資源池的份額設置爲High,僅僅是有優勢搶到資源,但並不意味着就能滿足應用的需要。
假設一臺主機由幾臺虛擬機,分別屬於QA和Marketing部門。QA部分需要更多的資源。
設置如下
資源池 | Share | Resource Allocation |
RP-QA | High | 4GHz, 2GB |
RP-Marketing | Normal | 2GHz, 1GB |
這時候RP-QA內的兩個虛擬機,一定比RP-Marketing內的虛擬機更容易在有競爭的情況下搶佔到資源。
假如我們在RP-QA內再創建5個VM,那麼情況就不一定了。即使RP-QA的share設置爲High,但每個VM能搶佔到的很有限。
雖然RP-Marketing的RP-Marketing的share設置爲Normal,但僅有3個VM,可能每個VM可以搶佔的資源比RP-QA內的VM要多。
所以資源池的設置不是一勞永逸,需要密切注意池內的VM數量,可以寫一個腳本來根據優先級和VM的數量,自動計算該資源池應該設置的Share數值。
參考:
Resource Allocation Whitepaper