靈活運用虛擬化:數據中心的資源錯配應如何解決?
虛擬化提供了很多優勢,像工作負載的可移植性、動態資源配置等,但是,這一切又是如何轉化成為省電的代替品?
虛擬化的好處主要是提高數據中心資源的使用率,不使用虛擬化可能會有浪費的現像存在。例如,一個傳統的物理伺服器,上面運行著單一工作負載,可能在伺服器的 CPU 或記憶體資源上只使用了 10%-15%,而這便浪費了 85%-90%。要是在伺服器上安裝一個虛擬化層,多個虛擬機同時在一台伺服器上,每個虛擬機都消耗著不同的物理資源。常見的一台主機可以支援 10,15,20 甚至更多的虛擬機(具體取決於每個虛擬機的資源需求)。因此,相同使用量的工作可以使用較少數量的伺服器,既節省了成本也減少了空間,同時也降低了電源和制冷的需求。
虛擬化的主要挑戰是資源使用不固定性。許多工作負載對資源的需求隨著用戶數量的變化以及當時所需任務的類型等等而變化。例如,一個公司為員工提供了一個重要的應用程序,但是員工只在早上 8 時到下午 5 時使用,一天內其他時間工作負載都是空閒的。另一個例子就是處理人工的應用,每個月也許就使用 1-2 天的時間。這些情景也表現出虛擬化數據中心的資源是如何被浪費;而通過虛擬化公司便可以更有效配置資源和進行遷移工作負載,從而降低浪費。
考慮到之前例子中的重要應用程序。如果盡可能更少地將資源分配給空閒的虛擬機,將更多的資源分配給需要資源的虛擬機,又或者將棄用的工作負載遷移到一個高度整合的伺服器上,在非工作時間來處理低一點的工作,然後重新遷移和重新調整來應對新的一天。像計算人工這種工作負載在不使用的時候可以關掉,並保存在儲存區域網絡,直到下一次使用它的時候再啟動。所有這些策略都是為了進一步節省伺服器資源以及更充分利用現有資源。
當然你亦可以為每個虛擬機調整分配資源,又或者將用得最少的工作負載整合到輔助伺服器上(或者將它們停止)直到它們再次需要啟動時;但這些過程,通常都需要 IT 管理員手動設定。對於管理員或者員工來說,不斷地評估資源使用和調整資源或即時遷移虛擬機是非常不切實際的。
當然,在新一代的軟件之中已提供了資源優化、自動化的功能。像微軟的 System Center 便可以通過預設資源使用值來推薦遷移虛擬機;通常是自動的遷移到其他的伺服器上,從而更好地滿足工作負載的需求。
另外,System Center 還提供電源優化功能,從而能自動關閉和開啟伺服器中不同節點的電源。舉例,假設伺服器 A 的處理器使用率是 20%,伺服器 B 的處理器使用率是 30%。伺服器 A 上的工作負載可以遷移到伺服器 B 上,將伺服器 A 關閉。很明顯在伺服器 A 關閉的情況下,對企業來說,是既節省了能源又節省了成本。