如何為服務器虛擬化挑選合適的模式 |
發(fā)布時間: 2012/6/20 13:48:26 |
到底哪種模式最好?
虛擬化如今已經成為一個被過分夸大的流行語。 在大型機領域,它已經是一張盤桓了數(shù)年的老面孔。它的主要功績在于將原本只為大型科技服務的概念移植到了x86機之中,并讓人民大眾從中得到幫助。 虛擬化這種一方面簡單明了、另一方面卻實施模型有限的技術一旦爆發(fā),可以想象其影響力之巨大。如今每一個我們能想象的地方都有它的身影,即使是在智能手機中也不例外。 新功能完全沒有為極力避免使用虛擬化的不同意見者提供任何幫助。有些人認為這一選擇值得大力推廣,另一些則宣稱使用所涉及的技術是“唯一正確的發(fā)展方向”。 直接連接型虛擬化與分布式模式,二者的沖突給意識形態(tài)帶來了新的戰(zhàn)場。 直接連接型虛擬化比較簡單,說起來也就是一臺服務器,配備著托管數(shù)套虛擬機的本地存儲。它們利用由管理程序提供的虛擬交換機(即vSwitch)進行互相通信,而無需將數(shù)據包經過網絡接口卡(簡稱網卡)發(fā)送至網絡的每個角度。 討論環(huán)節(jié) 通常情況下,托管在直接連接方案中的虛擬機能夠與處于主機系統(tǒng)之外的服務器及客戶機進行溝通,但大部分交流仍然發(fā)生在同一套系統(tǒng)中的虛擬機之間。 分布式虛擬化則完全不同。主機服務器被盡可能當作一套徹頭徹尾的一次性處理單元。存儲資源采用集中式管理方案,并通過存儲區(qū)域網絡(簡稱SAN)中虛擬機與物理交換機之間的通信被提供給多臺主機。 不過每種模式都有各種的局限性。 直接連接式虛擬化速度更快。每塊10Gb 網卡(目前SAN的標準接口)在理論上可以提供最大1280兆字節(jié)每秒(MBps)的傳輸速度。而目前相當普遍的PCIe 8x 2.0 RAID卡理論上的傳輸速度更高達4000MBps。 不過一用在實際工作中數(shù)字就沒那么樂觀了。我在10Gb網絡附加存儲系統(tǒng)上所能得到的上限速度僅為900MBps,而我自己的RAID卡(SSD RAID 10)也只能帶來2200MBps的實際表現(xiàn)。不過2200MBps已經足以將900MBps碾壓到不成人形,并且這樣的存儲速度優(yōu)勢已經極具價值,而且請記住,這種優(yōu)勢是直接連接模式所提供的。 網上有這樣一個類似的故事。某款管理程序的虛擬交換機為每臺虛擬機提供了一塊10Gb的虛擬網卡。這使得處于同一臺主機內的每套本地虛擬機系統(tǒng)以10Gb的理論數(shù)值進行通信;如果如果大家愿意為某臺指定的虛擬機搭配多套虛擬網卡,那么速度還將進一步提升。 困境 當將分布式的非主機設備引入余下的網絡中時,這些虛擬機就要為爭奪硬件所提供的有限帶寬資源而奮戰(zhàn)。如果我們有三十套虛擬機系統(tǒng),那么為它們各自配備10Gb帶寬,與只拿出一塊10Gb帶寬的網卡讓它們共同使用、而由物理交換機負責網絡處理是完全不同的感覺。 如果僅從目前提出的數(shù)字出發(fā),那么分布式虛擬化看起來簡直就是瘋狂而不可理喻的。但它仍然具備獨特的優(yōu)勢,而對于許多而言,一切缺點在這優(yōu)勢面前都可以算是必要的成本。 直接連接式虛擬化所無法實現(xiàn)的就是從一臺主機上的虛擬機中迅速遷移至另一臺。虛擬機本身可能就體積龐大,因此通過網絡實施遷移無疑會耗費大量時間。 但這對分布式虛擬化所采用的集中式存儲模式來說就不叫個事兒。不僅如此,分布式虛擬化還允許我們對不同主機上處于運行狀態(tài)的虛擬機系統(tǒng)進行實時遷移。 高度的可用性是分布式虛擬化的另一大重要賣點。 直接連接式虛擬化依靠強勁且具備高度容錯性的虛擬主機來實現(xiàn)優(yōu)秀的可用性。分布式虛擬化則會在一臺主機出現(xiàn)故障并重啟時,將所有虛擬機在集群中的其它主機上加以運行。大家使用的主機越多,分布式模式的優(yōu)勢就越明顯。 信息直觀性 分布式虛擬化的另一大優(yōu)勢是,盡管在傳輸速度上有所限制,但強制將所有流量通過物理交換機處理使得網絡管理員具備更強的直觀性及可管理性。 企業(yè)級網絡通過工具運行網絡設備,進而直接為每一個端口提供終端到終端的管理。它們可以為鏈接、流量隔離、監(jiān)控、服務質量以及標記框等功能提供加密機制。 而一旦采用虛擬交換機,這些好處就蕩然無存了。虛擬交換機所使用的管理語言與物理網絡設備完全不同。比起后者擁有的對網絡中每個系統(tǒng)中任何數(shù)據包的控制能力,使用虛擬交換機使我們管理的目標被限定在了主機服務器上。 設計概念 說到這里,這兩款模式可謂不分伯仲。大家可以根據自己的需要選擇合適的模式并加以部署,但這似乎還不能完全令人滿意。而在偉大的IT傳統(tǒng)觀念中,也根本沒有不可能一詞,基于創(chuàng)新的思維方式,混合虛擬化模式開始出現(xiàn)。 新一代網卡已經開始模糊二者之間的界線,而其中至關重要的一環(huán)是類似802.1Qbg的尖端標準。這一標準也被稱為邊緣虛擬格拉或者虛擬以太網端口聚合(簡稱VEPA)。 VEPA網卡自身所具備的能力足以被稱為交換機。在使用中,主機上的虛擬機繞過虛擬交換機,直接與網卡中集成的交換機對話。而網卡則能夠與管理軟件直接對話,這樣一來我們就既擁有了分布式網絡帶來的種種優(yōu)勢,又不必擔心由于所有虛擬機流量都被發(fā)往物理交換機而引起傳輸速度瓶頸。 與VEPA展開激烈競爭的機制是802.1Qbh,也被稱為橋口擴展或者VN標簽。它幾乎完全是由思科公司一手打造,并需要對當前以太網規(guī)范加以延伸;換言之,我們需要為之采用很多新的硬件。 這與VEPA形成了鮮明的對比,因為VEPA并不需要我們?yōu)橹戮W絡設備,也同樣提供了一套虛擬環(huán)境中的終端管理可行方案。 在同一臺主機上通過差異化配置來實現(xiàn)同時使用直接連接式存儲與分布式存儲的作法也開始出現(xiàn)。我最近就完成了一套部署,其中每臺主機都擁有大量本地存儲以輔助備份工作。 每臺主機都擁有一套虛擬備份設備(簡稱VBA),其作用是為分配給該主機的虛擬機進行基于鏡像的備份,并將鏡像存儲于本地緩沖驅動器中。這使得備份速度變得飛快。 中央VBA會從每臺主機上讀取備份內容,并不斷將其轉寫至磁帶上。磁帶驅動器是被直接從主機映射到VBA上的,而不是作為從網絡接入的設備。 這種混合式處理方案尚未見諸白皮書,但其產生無疑與對當前設備高效利用的訴求息息相關。它的工作狀態(tài)相當令人贊賞,只要再稍加改進,我一定會在未來的部署工作中再次加以使用。 進步無止境 新技術組合的不斷引入使得任何一套虛擬化模式都無法長久保持不變。目前最新的上佳方案是IOMMU,它承諾為單獨的虛擬機系統(tǒng)提供直接訪問系統(tǒng)設備(例如顯卡)的能力。 虛擬機將有能力充分發(fā)揮GPGPU計算帶來的強大性能,而處理速度的提升也會要求數(shù)據輸入量達到光線通道傳輸能力的級別,這是分布式技術所無法滿足的。 硬件容錯能力的提高使單臺主機方案更具可靠性,而新的網絡技術則將帶寬擴大至40Gb、100Gb甚至更高。 到這里我們又說回起點。虛擬化始于大型機,而虛擬化又推動了x86在采納新技術的道路上漸行漸遠,這使得臺式機與大型機的運作方式越來越接近。 拋開相似之處不談,大型機與x86虛擬主機集群之間仍然存在著本質性差異。 大型機的設計初衷是作為一套單獨的運行實體。機架挨著機架、節(jié)點毗鄰節(jié)點,從操作系統(tǒng)到個別節(jié)點連接綁定,一切都將大型機作為一臺單獨的巨型計算設備處理,最后對整體資源進行分割,進而分配給每個任務。 x86虛擬集群則迥異于大型機。無論是直接連接式、分布式還是混合式,每個處理節(jié)點都是特色鮮明的獨立單位。每節(jié)點都必須進行配置、授權、加以獨立設計并考慮個體與整體間的協(xié)調。 大型機成本高昂,我們?yōu)橹ㄖ频能浖谠O計上也要求高質量,以配合系統(tǒng)的高性能。X86虛擬集群則是多套低廉系統(tǒng)的集合,使用現(xiàn)有軟件即可滿足需求。 大型機適用于那些運營著金融系統(tǒng)的客戶,對于他們而言數(shù)毫秒的延遲都可能帶來數(shù)百萬美元的損失。如果我們的應用程序能夠將工作量拆分為一個個小的組成部分,那么大型機的并行處理能力將帶來耀眼的強勁表現(xiàn)。 本文出自:億恩科技【mszdt.com】 |