大勢所趨 關鍵任務引入虛擬化可行性分析
虛擬化技術目前真的已經做好了萬全準備應對你的關鍵任務應用程序?或者這只是種美好卻愚蠢的一廂情愿?這個懸而未決的問題相當重要,因為當前虛擬化頗有鋪天蓋地席卷而來的趨勢。關鍵任務的虛擬化似乎已經成為歷史的必然。
正如我們所預期的,VMware公司正摩拳擦掌,意欲向對虛擬化技術有興趣的潛在客戶群體開展新一輪宣傳攻勢。在本月早些時候于倫敦舉辦的VMware 2011論壇上,VMware公司的解決方案架構師David Burgess談到,將虛擬化引入關鍵性任務的處理不只是可行的,更是必要的。在非虛擬化的物理服務器上運行關鍵業務應用程序無疑是種失誤,這是他在發言中所傳達的主要思想。而且我們得承認,他說得很有道理。
關鍵任務引入虛擬化可行性分析
當然,Burgess是Vmware公司的一份子,當然會拋出這類對公司有利的觀點。但這并不代表該觀點不值得關注及深入探討。他發言中的關鍵點之一,是提到95%的關鍵任務應用程序無法完全利用物理服務器的資源。“如果大家認真查看,就會發現大多數這類應用程序都無法利用到四核心甚至雙核心之外的系統資源,”Burgess說道。他隨即指出,既然應用程序在虛擬機中的運行性能表現與在物理服務器上相差無幾,那為什么還要對服務器虛擬化如此抗拒呢?“況且將關鍵性業務應用運行于物理環境中同時還面臨著可持續發展方面的問題,”他如是說。
Burgess的發言還包含著更多其它信息。他指出,在物理部署方案中,我們需要為自己的每一套關鍵性任務應用程序棧分配自定義的解決方案,以提供高可用性、災難恢復及數據保護等功能。整個流程不僅難于部署且成本高昂,此外還需要雇傭專門的熟練人員對配置及管理中的每個細節進行監控。
Burgess認為,上述困擾對于服務器虛擬化來說則不是問題——至少對于VMware公司的管理程序來說不是問題。“高可用性、容錯性以及數據恢復——這些都包含在虛擬化解決方案當中,”他說。區別于單獨的應用程序庫,他將一套把數種關鍵性任務應用程序運行于兩到三臺物理服務器上的vSphere中的體系通過上述表述加以形容。本地可用性由VMware High Availability(用以在某臺服務器或操作系統出現故障時,于新服務器上重啟虛擬機)以及Fault Tolerance(用以實現即時故障轉移)共同保證,當然必要時還要加上VMotion以及Storage VMotion。此外還有VMware Data Recovery 及vStorage API數據維護體系,用以提供數據恢復及備份功能,加上vCenter Site Recovery Manager來實現基于陣列的站點復制保護機制。
即使上述論點能夠被大家所接受,目前大多數企業仍然不愿意在自己的關鍵性任務處理中引入虛擬化技術,因為他們擔心技術支持方面會產生問題。Burgess對此的回答歸納起來可以理解為:如果我們的應用程序供應商不支持應用產品運行于虛擬環境之下,這種狀況本身才是最大的失誤。
他是如何得出這一看似武斷的結論的呢?因為諸如SAP、甲骨文、微軟、IBM等大型軟件公司以及約1400家其它獨立軟件開發商都對VMware公司所推出的虛擬化技術提供支持。此外,我們也不能忽略許多企業正是在虛擬機上開發自己的產品。對一款應用程序是否能夠運行在VMware的虛擬機上進行認證,事實上比對其是否能夠運行在多種不同的物理服務器上進行認證要方便得多。最后,Burgess引用了虛擬機領域已經得到廣泛認同的觀點:在2009年,虛擬機上所負載的工作量已經超過了物理主機上的工作量。“如果大家的獨立軟件供應商迄今為止仍未打算向虛擬化邁出決定性的一步,那么他們恐怕也不具備在日后的發展中隨時提供必要支持的前瞻性。”換句話來說,讓他們哪涼快哪待著去吧。
那么認證許可方面的費用呢?這看似是個問題,但卻不必太過擔憂,Burgess這樣認為。“在業內,認證許可事實上一直飽受詬病,而不少獨立軟件供應商也的確在嘗試利用虛擬基礎設施來保障由認證許可所帶來的營收提升。但無論如何,這些都在可以洽談的范疇之內,而且隨著時間的推移,我認為這個問題終究會消失,”他充滿信心地如此表態。總體來說,下列表述還是比較客觀的,即:虛擬化技術使工作負荷運行于更少的處理器核心之上,而像vSphere的DRS(即分布式資源調度)虛擬機及Host Affinity Fules(即主機接駁規則)所提供的功能則使虛擬機在與集群中具備許可的特定主機交互時,能夠保證其運作方式得到有效控制。這就消除了專用集群存在的必要性,同時可以確保某個許可規定應該運行于單CPU服務器的應用程序不會因為被發往雙CPU的服務器而產生故障。
結論
服務器虛擬化目前已經是門較為成熟的技術,而且其所帶來的挑戰及益處也是有目共睹的。在最近的賽門鐵克2011虛擬化向云平臺演變研討會上,關于這一點已經給出了確切的結論。隨著各個具體環節的現實需求,對虛擬化的支持(例如安全保障或管理方面)正迅速擺上議程,所以當前我們所面臨的最重要問題可能已經不再是討論是否要把虛擬化引入關鍵性任務應用程序上,而是這一計劃應該何時付諸實踐。