回歸基本面:確保虛擬機不超過主機容量
譯文我的雇主最近購買了需要新虛擬機的軟件產品,正好可以趁此機會來審查為每個虛擬機合理分配硬件內存和計算資源的幾個重要基本面。
這樣做,我們才能處于故障切換就緒狀態;在我們的環境下,由于新軟件特別耗費資源,這意味著為生產級應用程序運行虛擬機的兩個集群物理主機適當分配資源尤為重要。
該任務還提供了審查和調整分配給我們所有現有虛擬服務器的資源的機會,以便分配的資源數量適中。
為了啟動該項目,需要對使用物理資源的已有系統進行審查,以便我們清楚地了解哪里還有余地可以創建新實例,哪里存在資源分配不當。也正好可以趁機為即使在高峰使用期間也未充分利用的服務器調整資源多寡,并且停用不再使用的服務器。
總之,這種審查的主要價值歸結為兩點:平衡內存和處理器分配以及停用服務器。
平衡內存和處理器資源
在分配內存資源和處理器資源時,目標一樣:任何分配的資源不應超過物理主機支持的總量的一半。因此,如果每臺物理機有128個處理器,為該主機上所有虛擬機分配的處理器總數不應超過64個。同樣,如果有500GB的內存,那么該主機上所有虛擬機之間已分配的內存總量不應超過250GB。
值得一提的是,為每個虛擬機分配的內存和處理器通常也遠高于哪怕高峰時段的實際使用量,這是為了兩者的需求激增時留有余量。
平衡這些資源的一種方法是,在電子表格上記下分配給每個物理主機上每個虛擬機的內存和處理器資源,并為每個主機記下總量。如果任何一臺主機上存在資源分配過度,可以在主機之間移動虛擬機,以達到所需的平衡。如果需要的資源多于可用資源,可以通過重新評估已分配的內存和處理器來找到更多資源,找出可以在不降低性能的情況下縮減哪些虛擬服務器的資源。為此,明智的做法是觀察已分配資源的實際使用情況,衡量它們在高峰期間離耗盡資源有多近。一條好的經驗法則是,允許內存和處理器的使用量高達已分配資源的80%,因為超過這個比例,進程會開始出故障。如果你發現一個虛擬服務器使用的內存或處理器資源從不超過15%,就可以精簡。
服務器停用
當業務應用程序或網絡部件報廢或被替換時,它需要合理停用。停用頻次在很大程度上取決于服務器環境的大小、業務需求以及硬件/軟件支持生命周期。在我工作的公司,這種情況每年發生兩到五次。
要考慮的一件事是,先針對可能駐留在用戶工作站上的應用程序刪除客戶端。從應用程序本身刪除客戶端可能是最簡單的方法,但其他方法包括使用組策略、登錄腳本或SCCM,可實現同樣的目標。
一旦完成這一步,關閉托管應用程序的虛擬機,將其從集群中斷開。在Windows環境下,這可以由Hyper-V集群管理器來完成。從集群中斷開可防止虛擬機成為任何故障切換操作的一部分;在Hyper-V的情況下,您無法在虛擬機仍在集群中時刪除它。由于它是虛擬機,它只作為虛擬硬盤驅動器文件而存在,存在于物理主機或SAN中的某個地方。
下一步是將這些虛擬硬盤驅動器文件移到歸檔或冷存儲,以便在需要時可以恢復它們,并從主機中刪除虛擬機實例。然后,同樣在微軟環境下,禁用Active Directory中的計算機對象,并將它移到非生產級組織部門。
最后,精簡已停用服務器的備份內容,只保留最近一份好的鏡像,本地和云端各留一份。
原文標題:??Back to basics: Make sure VMs don’t exceed host capacity??,作者:Michael A.Flowers Sr.