虛擬機(VM)與其對應的虛擬化管理平臺提供商長期以來都致力于降低使用難度:僅需要五六下鼠標點擊就可以創建一臺虛擬機。對用戶來說,建立虛擬機變得更加簡單。用戶可以通過VMware、XenServer、Hyper-V或其他虛擬化管理平臺,點擊“新虛擬機”并根據系統提示便可以完成新虛擬機創建。
然而,這種簡單創建機制帶來了新的不確定性——虛擬機資源是否滿足業務需求。很可能出現虛擬機被分配了過多資源的情況。管理員必須設置指標并了解虛擬機上運行的業務,以便有效管理資源負載。簡單按下“NEXT”按鈕很可能使虛擬機資源與負載管理出現問題。
設定有效的虛擬工作負載管理指標
在創建一個負載之前,優秀的虛擬化工程師必須設定指標,確定新系統上將運行何種服務,該服務需要分配怎樣的硬件資源才可以穩定運行。有許多方法來達成此目標。服務器負載包含許多負載數據項,但其中一些是管理員們應該優先考慮的。
通過用戶數量可以預知一個負載今后運行的情況與大致性能需求。服務器(虛擬機)資源需求變化范圍存在較大差異——可能有50個用戶連接,也可能有5000以上用戶連接。對于Exchange Server來說,我們可以利用工具來評估基線,以此作為分配資源的參考依據。資源分配不足可能導致性能下降,而分配過度則會造成浪費。通過獲知當前用戶數與一年內可能的用戶增長數量,管理員便可以設置虛擬機以滿足當前用戶使用需求,并保證其在用戶數量增長后也有足夠資源可用。
大部分部署在虛擬化環境中的服務、軟件與其他產品一般都有銷售商或產商支持。這些產商通常會提供一些基線設置數值,用于說明服務器該如何配置資源才能有效運行,可以幫助我們遠離建立虛擬機時面對的猜謎游戲,提高服務器所需資源評估的有效與可靠性。
資源分配與負載管理監控
存儲很容易用完,經驗豐富的虛擬化專家會告訴你資源其實十分有限。即使是擁有很多計算資源的服務器,也可能被僅使用其中5%性能資源的虛擬機所耗盡。
“過度分配是工程師們需要經常面對的另外一個問題。了解運行服務所需負載,可以對將要使用的資源進行預估。”MTM Technologies Inc.的系統顧問Timothy O'Brien表示:“用于顯示內部網頁的簡單Web服務不需要用到多核CPU或大量內存。可是,運行一個有大量用戶同時連接的SQL服務器就需要更多資源了。”
進行預先規劃可以降低資源分配難度。了解虛擬機上將運行的服務,對擴展進行規劃,以此建立一個擁有足夠資源,可以滿足需求的負載。因為幾乎所有負載都會產生變化,工程師必須做好調整虛擬化環境的準備。
“虛擬機并不是簡單設置好就結束了。”O'Brien補充:“在部署完成后,監控與檢查該負載實際運行情況十分重要。隨著資源與用戶數量變化,虛擬機上的負載同樣會產生變化。”
以下是了解資源分配的關鍵點:
◇ 靈活對待資源分配。調整虛擬機的大小十分正常。一些資源可以通過設置在不停機情況下分配給服務器。
◇ 監控虛擬機。了解虛擬機在某個時刻所使用的資源。負載管理包括了監控負載超時和獲取需求峰值,這樣可以讓工程師在需要時更有效分配資源。
◇ 了解應用程序。永遠不要認為一個應用會以同樣方式運行。隨著服務擴展包、用戶數量增加與外部環境變化,應用程序可能會需要更多的內存、存儲甚至處理器。
理解和使用預定義虛擬機
使用預定義的虛擬機設置并沒有錯。在某些應用環境下,采用簡易設置是十分值得提倡的。運行簡單服務對虛擬機資源需求極少。大部分預設虛擬機被分配了單處理器,512M內存、單網卡與小容量硬盤。許多應用開發或隔離測試環境通常而更傾向于采用最低配置,以便獲得更準確的結果。在這種情況下,快速創建虛擬機可以節省時間,協助快速建立測試環境并節約負載所需分配的資源。
資源分配最佳實踐
規劃與擬定虛擬環境,可幫助虛擬化工程師更為精確地為所需創建虛擬機分配資源。通常資源都是在負載不必要的情況下分配殆盡,在建立新負載前,評估其資源需求,可以避免資源過度分配問題,降低后期維護與擴展壓力。
當管理員面對是否需要擴展虛擬化環境的問題時,諸如購買額外的存儲區域網絡或給虛擬機分配更多內存令人頭疼。通常我們可以通過重新評估現有負載對資源使用情況作為一定的參考。在進行此操作時,一些負載管理最佳實踐可供學習:
◇ 任何好的部署計劃都需要經過建立與測試環節。這個環節中,你可以切實的調整虛擬機并獲知資源分配的最合理方法。
◇ 研究虛擬機將如何發展。了解應用或數據庫運行所需的資源,避免過度分配或分配不足。對資源密集型負載包括Exchange、SQL與其他數據庫等后端應用。輕型工作負載包括授權服務器、單服務應用或簡單Web應用服務器。
◇ 做好隨時調整資源環境的準備。做好準備,了解可用資源以便于負載分配改進,改善對變更的響應與速度,建立更加平衡與穩定的虛擬化架構。
原文鏈接:http://virtual.51cto.com/art/201101/244071.htm