天天看點

WSFC 主機資源預留

Hyper-V群集中未預留給VM虛拟機的實體記憶體量由主機使用,但是作為群集的一部分,主機通常會從群集中的其他節點接收VM 以保持其高度可用性, 這可以是使用者發起的移動,例如從另一個節點實時遷移VM,也可以是資源或硬體故障的導緻VM故障切換, 是以最初使用者對主機預留的記憶體沒有太多控制權,來自另一個節點的VM 可以輕松移動到特定節點并壓倒其記憶體, 是以引入群集環境變量RootMemoryReserved,以確定群集主機具有最少量的主機實體記憶體儲備

RootMemoryReserved屬性于2008R2首次引入,存在于WSFC 2008R2 2012 2012R2,在2016中消失

RootMemoryReserved

盡管名稱是這樣,但RootMemoryReserved變量并不能確定根分區會為自己保留一定數量的實體記憶體, 而是指定主機作業系統與主機作業系統即将啟動的VM(通過使用者操作或故障轉移移動到該節點)的時間進行比較的記憶體大小,如果通過啟動VM,剩餘的主機OS實體記憶體将低于RootMemoryReserved指定的限制以及主機目前使用的記憶體,則VM啟動操作将失敗。

例如,在具有16 GB實體記憶體并且RootMemoryReserved設定為1024 MB(1 GB),主機目前已使用1 GB記憶體的群集節點上,并且如果每個VM都占用1 GB記憶體,則虛拟機的最大數量聯機為14個虛拟機,因為主機作業系統已使用1 GB的記憶體,而主機作業系統保留另外1 GB的記憶體。 這為主機保留了2 GB的記憶體,嘗試啟動第15 個虛拟機會使虛拟機的實體記憶體使用量超過15 GB,這會導緻主機作業系統的實體記憶體保留時間低于主機作業系統目前使用的1 GB。 是以,第15 個 VM 的VM啟動操作将失敗。

RootMemoryReserved預設設定為512 MB,對于除管理虛拟機之外沒有執行任何操作的主機虛拟機,這應該足夠了,此變量可以由PowerShell cmdlet檢視。

(get-cluster <cluster name>). RootMemoryReserved

要更改RootMemoryReserved,可以使用以下PowerShell cmdlet将RootMemoryReserved設定為1024 MB:

(get-cluster <cluster name>).RootMemoryReserved = 1024

更改RootMemoryReserved不會影響任何已經運作的虛拟機, 例如,在具有16 GB實體記憶體的節點上,如果RootMemoryReserved設定為512 MB,則主機當時使用480 MB,并且VM占用15 GB記憶體,這将是可行的,主機獲得512MB+480MB的可用記憶體,并不會是以從VM中回收記憶體

另外如果由于某種原因(例如在主機上運作的另一個應用程式)導緻系統速度變慢,将RootMemoryReserved更改為2048 MB(2 GB)将不會自動釋放主機的實體記憶體,在這種情況下,釋放主機實體記憶體的方法是脫機不重要的虛拟機, 是以,建議在使任何虛拟機聯機之前正确設定所需的RootMemoryReserved

RootMemoryReserved的最大值是4096 MB(4 GB),對高于4 GB的值的任何更改都将被忽略,并使用以前的值。 此外,作為群集參數的RootMemoryReserved适用于群集中的所有節點,RootMemoryReserved中的值将用于保留叢集中所有節點上的VM主機記憶體。

RootMemoryReserved變量不限制主機可以使用的記憶體量, 這個變量的目的是確定主機擁有最少的實體記憶體儲備,超出了目前用來控制虛拟機的數量。 主機可以使用比RootMemoryReserved留出的值更多的記憶體。 是以,VM可用的實體記憶體量将等于或小于RootMemoryReserved未預留的記憶體量。

未經過預留設定的主機目前正在使用的記憶體可以會随着時間推移被VM擠壓,設定了RootMemoryReserved後則将確定主機除了目前使用的記憶體,會有一部分預留記憶體,永遠不會被VM占用,僅維系主機使用

老王點評:RootMemoryReserved可以用于在2008R2-2012R2時代,合理對于群集節點進行主機記憶體預留,防止主機完全被VM或應用淹沒資源,確定主機性能,在沒有SCVMM的情況下,可以自帶原生控制主機記憶體預留,如果有SCVMM則更加智能,SCVMM不僅可以針對群集設定,也可以針對于單台主控端,或整個主機組設定,SCVMM的主機預留可以從CPU、記憶體、磁盤空間、磁盤 I/O 、網絡容量來設定預留情況。

主機預留和動态資源平衡功能可以相配合,主機預留生效在啟動或移動虛拟機時,一旦檢測到超過最小預留值,則阻止虛拟機移動過來或啟動,動态資源平衡功能是設定一個平衡值,當一個主機組或群集運作過程中,一旦檢測到某個主機的負載超過了平衡值,則和其它負載輕的節點平衡資源,兩者并不沖突

本文轉自 老收藏家 51CTO部落格,原文連結:http://blog.51cto.com/wzde2012/2082754

繼續閱讀