如何優化數據中心虛擬機佈局

  當前已經有很多組織將服務器虛擬化技術引入到生產中,這麼做是有道理的,特別是在當前經濟並不景氣的情況下,因爲服務器虛擬化技術可以在服務器硬件,機架空間,電力消耗和製冷方面爲組織節省開支。
  但爲了實現服務器虛擬化,許多組織發現他們必須採購新的服務器,因爲最新的系統管理程序(hypervisor)要依賴於處理器支持虛擬化的64位硬件,在某種程度上,採購新服務器也有道理,因爲它可以減少電力消耗和製冷需求,並可以減少數據中心的後續成本。

  問題是很多組織都認爲物理服務器的合併率要達到10:1才滿意,你可以通過合理佈局虛擬機的部署位置來提高物理服務器整合率,甚至可以超出10:1的比例,但要虛擬機和宿主主機同時達到高性能,難度是相當大的,說到底就是,既要提高物理資源的利用率,又要確保所有虛擬系統都保持最佳運行狀態。

  因此,現在應該仔細研究你在使用的虛擬服務產品,並應該開發一些資源分配規則,你也應該深入瞭解服務器虛擬平臺的功能,否則在佈局虛擬機時總是很保守,首先從現有服務和應用程序分類開始。

  從現有服務和應用程序分類着手

  改變虛擬機佈局的最佳方法是從服務器工作負載分類開始,儘量將分類最小化,然後通過對資源的需求進行分組。例如,Web服務器和email服務器主要需要網絡資源,數據庫服務器主要需要存儲,中間件服務器主要需要處理能力,這些都是生產中需要用到的系統,另外你可能還需要測試系統,培訓系統和開發系統。

  網絡服務器通常有三種可能的放置位置:

 

  • 局域網內
  • 安全區域內——通常是非軍事區(DMZ),對於大型組織,往往不止一個DMZ
  • 企業外圍網絡
  當工作負載被虛擬化後,服務器位置變得模糊起來,物理宿主主機上的虛擬機可能一部分在這個區域,另一部分又在另一個區域,一切都是通過宿主服務器上的虛擬網絡分隔開的,儘管如此,當你安置虛擬服務器時,務必要記住服務器的位置。

  如果你規劃得好,完全可以100%虛擬化你的工作負載,虛擬化技術發展到今天,虛擬基礎設施幾乎可以承擔任何工作負載,據VMware公司2007年6月進行了一項調查顯示,大部分接受調查的用戶都在他們的虛擬化引擎中運行了高級工作負載,如圖1所示。



圖1 VMware用戶常見的虛擬工作負載


  更多的組織在虛擬機中運行SQL Server,Exchange Server和其它複雜的工作負載,與物理服務器相比,其性能遠遠超出了預期。因此,如果你說你不能虛擬化某個應用,那麼你可能不好找理由,例如,你決定繼續在老的32位系統上運行一些應用,因爲你還沒有準備好,這可能是唯一的藉口。我們應該認真思考虛擬化的好處,比如可以在任何硬件系統上載入工作負載,此外,非常易於部署和保護,只需要將磁盤文件拷貝到另一個位置即可。

  如果你仍然決定在數據中心保留32位服務器,那爲什麼不將它們也作爲宿主系統呢?雖然微軟的Hyper-V和思傑的XenServer的確只能運行在64位系統上,但還有微軟的Virtual Server,Sun的xVM VirtualBox或VMware Server可用,這些產品都能運行在32位系統上,可以讓舊服務器成爲宿主主機,發揮其最大作用。

  這樣你所有的服務器,不管是32位還是64位,全部都是宿主主機了,你的所有服務都虛擬化了,但有一點務必記住,運行在32位硬件上的系統管理程序是不支持64位硬件的。同時也請記住,所有現代操作系統和應用程序廠商都在轉向64位平臺,意味着32位硬件的存在時間即將結束。將時間和精力花在這些老舊資源的配置上,與最後得到的結果相比,只不過是在浪費時間。

  開發虛擬資源分配規則

  當你把數據中心各種服務器工作負載分好類後,接下來就應該思考如何將它們分配給宿主主機,如果準備將20個虛擬機分配一臺宿主服務器,那麼這20個虛擬機之間不應該存在頻繁的資源競爭。

  爲了優化虛擬機佈局,你必須研究工作負載,確定它們需要的過程和資源,以及何時需要它們。例如,如果你的網絡中運行了Windows服務,你可以預計它們的運轉情況,如圖2所示。



圖2 比較不同工作負載時段的服務器資源需求


  從上圖我們可以看出:

  • 域控制器在峯值時需要網絡和處理器資源,如清晨或午飯後;
  • 文件和打印服務器在非峯值期間需要處理器和網絡資源,如上午11點左右或中午;
  • Web服務器主要集中在網絡資源,並需要一個穩定的資源流;
  • SQL Server和Exchange Server全天需要穩定的資源,主要集中在磁盤和處理器資源;
  • 企業應用程序通常有調度資源的需求,例如,工資單應用程序通常是兩個月或兩週運行一次。
  工作負載不是每時每刻都很繁忙,實際上,有些工作負載處於空轉狀態,白白消耗了資源,但沒有任何人在使用,因此要找出這種工作負載,如果可以永久停掉就清除出去,如果可以定時運行就安排爲定時運行。

  因爲服務器工作負載在不同時間需要不同的資源,因此應該仔細配置工作負載,讓它們不要同時爭用相同的物理資源 - CPU、內存、網絡或存儲。你應該在同一宿主服務器上配置不同的虛擬工作負載,應儘量避免配置相同的工作負載。這意味着可以在同一臺宿主服務器上運行一個域控制器,一個網絡基礎設施服務器,一個文件服務器,一或多個Web服務器,甚至加上一個企業應用程序,關鍵是要保證在不同的時間工作負載需要不同的資源。



圖3 給宿主主機分配不同的工作負載


  與系統管理程序網絡層一起工作

  系統管理程序讓你在每個宿主服務器上可以提供多個虛擬網絡,實際上可以提供的網絡類型有三種:公共,私有和僅主機。虛擬機可以以各種方式使用這些不同的網絡。

  每個爲最終用戶提供服務的虛擬機必須使用一個公共網絡接口,因此這些虛擬機必須至少有一個連接,連接到你在宿主服務器上創建的公共虛擬網絡接口。

  公共網絡也允許駐留在不同宿主服務器上的虛擬機相互通信,在每個宿主服務器上創建大量的公共網絡爲服務提供冗餘是個不錯的主意。

  僅主機虛擬網絡適配器用於支持虛擬機內部和虛擬機到主機的通信,如果你需要更新一個虛擬機,你可以通過僅主機通信通道來更新,避免給公共網絡接口帶來額外的流量,僅主機通信直接在宿主主機和虛擬機間完成,使用的是宿主主機的內部通信通道。

  虛擬私有網絡適配器也可以用於減少公共網絡接口上的流量,當你需要完全隔離虛擬機之間的通信時,將虛擬機連上虛擬私有網絡適配器即可。它允許虛擬機內部通信,但不支持和其它設備間的通信,包括和宿主服務器的通信,你可能想使用私有網絡支持外圍網絡系統上的管理通信,以保護它們不受其它類型的通信影響。

  作爲一種最佳做法,你應該爲每種網絡類型準備每個宿主主機,然後將各種不同的虛擬機組件連接到適當的虛擬網絡接口卡上。此外,你可以使用這些網絡來實現同一宿主主機上虛擬機之間的相互隔離。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章