服務器虛擬化之始末
虛擬服務器也需要虛擬化平臺,這就增加了服務器虛擬化軟件成本。有太多產品可供選擇,包括CitrixXenServer5.5、VMwarevSphere4與MicrosoftWindowsServer2008R2withHyper-V。除了服務器虛擬化軟件成本,還有幫助管理架構的相關工具的成本。有廠商集中產品,如CitrixWorkflowStudio與VMwarevCenterServer,以及第三方管理產品,如AppSenseManagementCenter和來自廠商Kaseya的產品。
還可能需要其他軟件獲取諸如高可用性、集群、故障恢復、虛擬服務器遷移或備份。這些需求根據組織所需而變化。不管所選的實際產品是什么,服務器虛擬化軟件成本應該包括初始購買與許可價格,以及每年維護費用。謹慎的管理對于防止虛擬機許可成本螺旋上升很重要。
“如果管理得不好,虛擬機許可可能增加,”Zuk說,“另一方面,管理員成本應該降低。”
JonWilliamToigo:首先就是謹慎。托管服務商通常把它們的服務器虛擬化工作描述的十分完美,一旦你開始追求這些目標,你可能都意識不到這會對你的存儲基礎設施有什么影響。
人們通常會認為,“要虛擬化所有的服務器,我只要找到合適的服務器設備,然后安裝上正確的主機總線適配器(HBA)和網絡接口卡(NIC),按照正確的操作過程和正確的內存數量,然后我們就可以把它交給現有的基礎架構,它會自行和后端存儲配合。”
很遺憾,并不是你想的那樣,因為當虛擬化服務器時,你從之前建立的工作負載上改變了存儲架構在整個IT網絡中的輸入/輸出(I/O)模式。
服務器虛擬化本質上就像積木。你想把所有的應用程序都堆積到一起,而又不希望因為抽調其中一個就使它倒塌。所以在這個過程中你需要將多個服務器整合到越來越小的平臺上。
為了適應工作負載的需求,你需要給服務器套件添加額外的HBA和NIC以獲取足夠的帶寬。
通過服務器虛擬化軟件的使用,將繁多的工作量整合到很少的物理服務器上可能改變數據中心網絡的動態流量流。在沒有服務器虛擬化的情況下,數據中心網絡管理員會在物理服務器上使用較低廉的、固定配置的交換機。這些“機架交換機”為核心網絡提供幾個上行鏈路。
由于大多數連接到機架交換機的服務器都在很大程度上沒有充分使用網絡鏈路,因此這些安排能夠將所有的流量只聚集到核心網絡的幾個上行鏈路上,同時保持超額使用率限制在通常可以接受的范圍內。流量聚合也可以在機架交換機本身發生。
然而,通過服務器虛擬化,流量聚合可以發生在物理服務器層面上。目前,多種工作量在相同的物理服務器上運行,并共享同一條網絡連接。
通過使用服務器虛擬化實現工作量聚合,現在物理服務器的網絡連接使用率得到大大地提高。使用機架交換機連接到核心網絡來聚合已經聚合過的流量可能導致網絡性能和吞吐量的瓶頸和干擾。
對于這個潛在問題的最簡單的解決方法是增加機架到核心網絡的上行鏈路數量。這個方法的確有助于處理“雙重聚合”問題,但是它也同時增加了數據中心所要求的核心交換機端口的數目。數據中心網絡管理員必須認真研究,以免超出核心交換機網絡端口容量。#p#
不要依賴本地
其他方面的壓力也正在促使數據中心網絡管理員向核心網絡中添加上行鏈路。因此,管理員和網絡設計師想利用本地資源。通信或連接頻繁的服務器通常連接到相同的交換機上,這樣可以避免流量通過核心網絡、最小化冗余和最大化吞吐量。一個固定類型的非虛擬化數據中心就可能實現這一點。
然而,通過服務器虛擬化,工作量的位置會根據服務器的使用而動態改變。諸如熱遷移的技術允許服務器管理員在不同的物理服務器上簡單、快速地遷移工作量。有些虛擬化解決方案甚至能夠自動化該過程;VMware的DistributedResourceScheduling(DRS)就是一個這樣的例子。
另外一方面,服務器虛擬化主機通常每臺主機都使用6、8、10或者更多網絡連接。雖然工作量整合將刪除某些物理服務器,但是數據中心網絡管理員可能發現在固定配置的交換機上的現存的容量不夠處理一個相當大的服務器虛擬化解決方案。
由于各種不同的原因,服務器虛擬化上空閑的網絡端口可能不適合重用于服務器虛擬化方案。正如上面所探討的,添加上行鏈路的壓力只是加劇了潛在容量問題。
這些容量關注并不僅是關于端口數而已。正如前面所探討的,有些服務器虛擬化解決方案能夠利用802.3ad/LACP連接聚合。然而,服務器虛擬化解決方案也需要冗余;一個獨立網絡端口的丟失現在可以影響通過多個部門或業務單位的大量工作量。連接丟失對服務器虛擬化主機上的影響可以遠遠超過對非虛擬化服務器網絡連接丟失的影響程度。
虛擬化的定義有很多,可歸納總結為邏輯技術,以集成抽象方式訪問(調用計算機資源,基于物理機制,但不受物理限制。虛擬化對任何硬件資源都可虛擬,例如,中央處理器(CPU)、內存、硬盤和輸入,輸出(I/O)接口;也可以對軟件環境進行虛擬,例如,操作系統(文件系統和應用程序等。虛擬技術的這種內涵決定了它在云計算中的核心支撐地位,對于云,首先是虛擬資源池,無池就無集成。
服務器虛擬化是對硬件的抽象和對虛擬的管理
服務器虛擬:一是對3種基礎硬件資源CPU、內存、設備與I/0進行虛擬化;二是依靠虛擬機實時遷移這種輔助技術,對資源虛擬城池進行統一調度和使用。
內存虛擬化技術就是把物理機的內存進行統一管理,虛擬封裝成虛擬機所使用的虛擬內存,以提供給每個虛擬機進行使用,將虛擬內存空間獨立提供給虛擬機中的進程。內存技術與CPU技術重要性同等重要,訪問次數同等頻繁。
虛擬內存實現就在于對物理內存進行管理,按虛擬層對內存的需求劃分物理內存,建立虛擬層所需內存地址與物理機內存地址的映射關系,保證虛擬層的內存訪問在虛擬內存和物理機內存的連續和一致。映射關系的技術實現是內存虛擬化的核心。
早期內存管理技術,是通過基于硬件的內存擴展和優化程序的軟件方法實現的,成本高昂。虛擬內存技術因此誕生,通過CPU的內存管理單元和頁表轉換技術,提升了內存性能,維護了基于應用程序所能看到的虛擬內存和物理內存的映射關系。#p#
虛擬內存管理引入了虛擬物理內存和機器內存的概念,以此建立虛擬內存地址與物理機內存地址的映射關系。
虛擬層中的進程使用的邏輯內存與虛擬物理內存建立一級映射地址關系,虛擬物理內存與物理機的機器內存建立二級映射地址關系。
實時遷移技術類似基站軟切換的機理,對應客戶操作系統同時建立2條鏈路連接,在虛擬機運行過程中,將完整運行環境的狀態由原宿機快速遷移至新宿機,遷移過程平緩,用戶在極短時間內不能察覺。在虛擬環境中,由于對物理機進行了虛擬,所以能跨異構的硬件平臺。
實時遷移技術,就是數據拷貝、傳送和切換。遷移的虛擬機通過協議相互聯系,首先啟動原宿機操作系統相關信息和狀態的拷貝,然后開始遷移,通過內存頁面將拷貝移至新的宿機,最后內存傳送拷貝完成,新宿機啟動接管原宿機操作系統,整個遷移過程完成。
在服務器虛擬化的應用中,我們還更關心虛擬服務器的性能。用戶的使用特征會導致虛擬化服務器性能呈現不同的狀態。不同部件的資源使用密集,例如CPU密集、內存密集和I/O密集,都會對虛擬服務器整體性能有所影響,密集資源使用會導致虛擬平臺軟件運行機制開銷的龐大運行。
專業技術人員總是需要檢測編碼跟當前的編寫方法是否兼容。然而組合編碼已經跟之前的大不相同,所以用傳統的測試方法根本就無法在恰當的時間以恰當的價格完成測試任務。生產服務作為一種獨立的模組與軟件應用程序合并正成為一個快速發展的商業市場。第三方服務例如PayPal或者信用調查服務越來越多地被用于使用應用程序的客戶身上。
服務虛擬化對軟件開發者最大的影響之一就是能夠讓應用程序研發過程中的有效兼容更加容易。軟件開發人員能夠跳過組件檢測,并且能夠解決一些阻礙研發過程的問題,以確保研發及時、高效并節省成本。
提到虛擬化,很多用戶都會想到VMware。然而,VMware已不再是X86虛擬化市場頂部唯一的供應商了。由一家廠商統治虛擬化市場的時代已經終結,SPECvirt的數據顯示,性能和擴展性的優勢已經不再是由一家企業獨霸天下了。多數企業用戶會持續使用的基本功能,目前市場上的大部分產品都能夠實現。ArsTechnica網站上刊出的一篇文章評論到,當前的虛擬化市場當中,VMware是老大,微軟Hyper-V老二,思杰Xen第三,紅帽和甲骨文在爭奪第四把交椅。