虚拟器件—虚拟化技术的新利刃 | 时光机
戳藍字“CSDN云計算”關注我們哦!
時光機:搭載這部時光機,帶您回顧《程序員》大量優秀文章,重溫經典技術干貨,我們發現硬核技術永不過時,對于get要點、solve難題、提高自我,仍有非凡意義。
作者:吳朱華,北京大學碩士研究生,PMP、云 計算的愛好者。在云 計算概念未誕生前, 已在IBM中國研究院 專注于相關研究,并參與多個IBM核心 云計算產品的開發工作。對軟件工程發 展有濃厚興趣。個人網址:http://www. peopleyun.com 。
近幾年,虛擬化技術飛速發展,越來越多的企業開始使用虛擬化技術提高系統管理的自動化程度和應用的快速部署,本文將為您揭開虛擬化技術的新利刃——虛擬器件的神秘面紗。
?
最近幾年,越來越多的企業開始使用以VMware和Xen為代表的虛擬化技術,這些技術給他們帶來了很多方便,特別是在服務器整合方面。例如一汽大眾的IT部門通過實施VMware的虛擬化技術,將原先部署于100多臺服務器上的應用整合到了40多臺服務器上,有效地降低了運營成本和系統管理的復雜度,并且提升了服務器資源的利用率。
?
由于虛擬化技術的飛速發展,它在提高系統管理的自動化程度和加快應用的部署速度這兩方面的潛力越來越多地受到關注。可惜現在大多數管理員在系統管理方面還是沿用之前物理機時代常用的方式和方法,特別是在部署應用的時候,經常從頭裝起。
?
這不僅有礙于系統管理的自動化和應用的快速部署,而且會帶來以下問題:
1.每次部署應用都需要花很多時間在操作系統等軟件的安裝、配置和優化上。
2.由于SOA這個概念在企業的不斷深入,以服務為單位的多層架構已經漸趨主流,這與傳統“單系統”為單位的部署模型不吻合。
3.很多企業都部署了多個虛擬化技術平臺,比如VMware、Xen等等。這將導致出現很多不兼容的情況。
4.缺乏安全認證和許可證管理等措施。
在這個時刻,VMware這個虛擬化技術領導者提出了虛擬器件(VirtualAppliance)的概念,主要用于應用發布和部署。因為它不僅支持跨平臺、預配置、多層架構,而且在安全性等方面有所覆蓋。因此,虛擬器件這個概念,在短短的時間內就被廣泛接受,并成為美國人口總署等機構企業內部推薦的應用發布格式。
?
同時VMware也帶頭提出一套開放協議來支撐其發展,稱為“OVF”,具體將會在下文介紹。那么虛擬器件具體是指什么呢?本文將主要從概念角度向大家介紹。
虛擬器件的定義
虛擬器件,是一個預配置的軟件堆棧,包括1個或多個虛擬機,每個虛擬機都自帶操作系統和相關應用,可以自運行,并明確了其所需的虛擬資源。它常用的發布格式是基于POSIX1003.1ustar標準的以.ova為后綴的壓縮包,簡稱為“OVF包”。
那么虛擬器件和我們常用的虛擬機相比增加了對哪些功能的支持呢(參見表1)?
虛擬器件的主要組成部分
虛擬器件的主要組成部分包括哪些呢?以下是OVF包所包含的主要文件(見圖1):
圖1OVF包的結構OVF描述文件(.ovf):通常稱為“OVF信封”,此文件定義了整個虛擬器件的組成部分,及每個組成部分的特性和資源需求,以支持對OVF包成功和一致的部署。磁盤鏡像文件:可以是多個,這些文件是此虛擬器件所包含的虛擬機的二進制磁盤鏡像。
?
清單文件(.mf):清單包含OVF包中各文件的SHA-1摘要,其作用是確保包的完整性,一般由工具生成。證書文件(.cert):證書的作用是通過對清單文件進行數字簽名來確保這個虛擬器件的真實性,以base64-encodedX.509證書的形式存儲,也一般由工具生成。
虛擬器件的生命周期
基于一定規模的實踐,我們總結出了虛擬器件的生命周期,主要包括六個階段:開發、封裝、部署、激活、管理和退休(見圖2)。
?
開發
分析應用的環境需求。準備和啟動一個或多個操作系統虛擬鏡像,比如Ubuntu9.10。安裝支撐應用的軟件,比如MySQL5.1,ApacheTomcat5.5等。安裝和配置應用,比如WordPress,SugarCRM等等。安裝用于激活的軟件,比如IBM的ActivationEngine。優化系統和軟件設置。
封裝
編寫OVF信封(推薦使用OVF工具)。將虛擬鏡像和OVF信封等封裝成OVF包(推薦使用OVF工具)。在本地,對OVF包進行測試。
部署
在虛擬化平臺上面(比如VMwarevSphere4)部署OVF包。
?
啟動
已經部署成功的虛擬器件。
激活
激活已部署虛擬器件的網絡和軟件設置,比如設置其IP地址。
管理
觀測其資源利用率和SLA,比如查看其CPU的利用率。
退休
刪除或者存檔這個虛擬器件,并釋放其之前占有的虛擬資源。以虛擬器件生命周期為核心的管理模式,將極大地提高數據中心的自動化程度,并加快應用的部署。
?
因為它將一系列紛繁復雜的步驟流程化并盡可能地自動化,使得虛擬器件在系統管理和應用部署這兩方面的價值發揮到最大。
虛擬器件的好處
虛擬器件的好處除了上文提到的系統管理自動化和應用的快速部署這兩方面之外,還有很多其他好處。接下來,將通過分角色來深入探討虛擬器件將對整個IT生態系統帶來的幫助:
獨立軟件開發商(IndependentSoftwareVendors)降低了應用的開發和測試成本。
?
因為假如使用虛擬器件作為發布格式的話,開發人員能限定應用自帶的操作系統,中間件和數據庫等軟件的版本,比如Ubuntu9.04,ApacheTomcat5.5,MySQL5.1等。這樣將極大地縮小了開發、測試和支持的范圍,能有效地降低軟件的總體成本。
這和MacOSX的成本比Windows的低是一個道理,因為其所支持的硬件和軟件和Windows相比要少得多。加快發布的進度和擴大市場范圍。因為有意向的用戶,不論在世界哪個地方,只需要幾小時,甚至幾十分鐘的時間,就能從網上成功下載這個軟件的虛擬器件版本,并且只需將它部署到其支持虛擬平臺(比如VMwarevSphere4)上即可使用。
?
這方面有一個不錯的案例,愛爾蘭有一家安全軟件公司叫SpamTitan,在使用虛擬器件作為發布格式之前,它有80%的客戶是在英國。而在它使用虛擬器件作為發布格式之后,情況變成只有10%的客戶來自英國,40%的客戶來自美國,還有來自印度、中國和新西蘭的客戶,同時銷售量也增長了一倍。安全。
?
因為虛擬器件包含清單文件和認證文件,在部署的時候,工具會查看這兩個文件以判斷此虛擬器件的安全性。如果有任何安全隱患,將會取消部署。提供許可證管理。每次部署的時候,工具會讓用戶確認一下虛擬器件自帶許可證,這樣能保護應用供應商的權益。
云供應商(CloudHostingProvider)能支持多層架構的應用。
?
假如用戶要在云平臺上部署以LAMP和J2EE為代表的多層架構的應用,一般都需要一系列繁瑣的步驟,但如果使用預配置的虛擬器件,就只需要點擊一下就可以了,極大方便了用戶。基于虛擬器件模型能使應用跨云供應商。通過這種方式,能避免出現供應商鎖定(VendorLock-in)的情況,這樣將會提高用戶使用公用云的積極性。
系統管理員(Administrator)方便了應用的部署。
?
以筆者過來的經歷為例,如果使用虛擬器件方式部署的話,能將本來需要幾天的工作縮短到幾分鐘,能將本來幾十步操作精簡到鼠標的輕輕一擊。降低維護和購買成本。因為操作系統、中間件和數據庫等軟件都是應用自帶的,且多數為開源軟件,這將極大地降低購買成本。同時,它們的維護和優化一般由應用供應商負責,這也將降低應用維護成本。
?
方便應用從本地數據中心遷移到公有云上,避免為了短時間的高峰需求,而預先購買大量的硬件。單一供應商,能降低尋求技術支持的難度。因為如果虛擬器件出現問題,不論問題的根源是操作系統還是中間件,系統管理員都可以直接和應用供應商進行聯系,尋求幫助。
?
快速和安全。因為應用的自帶操作系統,大多都是JeOS(JustEnoughOperatingSystem),而JeOS所包含的服務和標準操作系統相比有很大的精簡,有助于提高系統的安全性和速度,并降低系統所占用的資源。
虛擬技術供應商(VirtualizationVendor)
降低了虛擬化技術使用的復雜度,從而使虛擬化技術受到更多的認可。能通過建立類似蘋果AppStore的虛擬器件市場來推廣和銷售虛擬化應用。
?
OVF協議
為了讓虛擬器件得到大規模的應用和更好的發展,避免每個供應商都創建和使用各自私有的規范,以VMware為代表的虛擬化技術提供商在2007年10月提出了OVF(OpenVirtualizationFormat)規范。它是用于發布和部署虛擬器件的開放標準,由業界著名DMTF(分布式管理任務組)協會制定和發布。
?
該標準描述了一種開放、安全、可遷移、有效、跨平臺以及可擴展的格式,用于封裝和分發在虛擬機上運行的軟件。從虛擬器件的生命周期來看,OVF1.0協議主要覆蓋“封裝”和“部署”這兩個階段,OVF協議的今后版本有可能將覆蓋其他階段。
?
OVF的設計目標如下:
方便分發。包括對數據的認證和其完整性的檢驗,并提供基本的軟件許可的管理機制。支持多種配置。包括單個虛擬機、多個虛擬機或者多層架構。跨平臺。OVF協議不依賴于特定的虛擬化平臺,比如VMware或者Xen。開放協議。OVF協議是業界幾大虛擬化技術供應商之間合作的產物。可擴展的。
?
OVF協議能滿足現有的要求,同時為了滿足虛擬器件技術不斷發展和某些特殊的需要,它還支持一定程度的擴展。支持本地化。
業界支持
雖然OVF協議發起人和主要負責人都是來自于VMware,但因為其開放性和重要性,使得越來越多廠商開始支持此協議,甚至VMware的競爭對手Xen/Citrix和虛擬化的開創者IBM也參與了協議的制定。
同時有一系列支持OVF的工具已經發布或者正處于測試階段,比如VMware的VMwareStudio、Xen/Citrix的ProjectKensho、IBM的IBMOVFToolkit等。除了上面這些支持OVF的工具,VMware為了加速虛擬器件的傳播和OVF協議的推廣,還推出一個用于分發虛擬器件的在線市場,叫做VAM(VirtualApplianceMarketplace)。
?
它提供類似于蘋果AppStore的用戶體驗來幫助用戶來購買和試用各式各樣的虛擬器件,從應用程序到操作系統應有盡有,還包括一些工具和推薦信息來幫助用戶做正確的決定。同時,更值得慶賀的是VAM目前已經是VMware最受歡迎的五大站點之一了。
除了上面提到虛擬界的三大巨頭之外,一些中小公司也推出很多支持OVF格式的工具,比如Novell的SUSEStudio、rPath的rBuilder等。
虛擬器件的不足之處
前面談了很多虛擬器件的優點,在文章的收尾部分,和大家談談虛擬器件現有的一些不足之處:雖然OVF協議支持跨平臺,但因為鏡像格式的限制,絕大多數現有的虛擬器件都無法跨平臺,因為現有的虛擬器件主要使用VMware的VMDK作為鏡像格式,而此格式是私有格式,不支持非VMware的平臺。
有時由于安全的考慮,一些企業會對軟件進行一定的控制,特別是操作系統。假如使用虛擬器件,就很有可能使企業失去這方面的控制。很難對現有的虛擬器件進行有效的更新。因為現在常用更新方式是以虛擬器件為單位的,也就是說,假設要更新這個虛擬器件,首先要重新下載一個新版本的,之后將用新版替換舊版。這樣的話,就很難在現有的虛擬器件基礎上做細粒度的更新了,更別談在線更新。
?
還有,就算這個虛擬器件內置在線更新,也很有可能由于企業防火墻的原因,而無法訪問外網得到新的補丁。虛擬器件所需的空間比單純的應用大得多,其所需要的下載時間和帶寬都比只下載一個簡單軟件大得多,因為至少附帶一個操作系統。對于那些安裝非常方便且容量小的軟件,虛擬器件有可能不是最佳的發布方式。對現在整個IT生態系統影響太大,特別是對操作系統供應商,因為在虛擬器件這個模型里面,操作系統不再是其核心,而是軟件堆棧普通的一層而已,這樣將降低操作系統供應商在整個IT生態系統的重要性,可以預見這種轉變并不是它們所期待的,尤其是微軟,因為現有的Windows的架構和商業模型不是非常適合JeOS的。
?
虛擬器件和云計算
雖然并不是所有的云計算平臺都用到虛擬器件,但是對那些基礎設施服務(IaaS)的云計算平臺而言,卻是非常核心的。因為通過使用虛擬器件,能提高基礎設施的自動化程度,并且加快應用的部署,只需要簡單的點擊,就可以將應用部署到它們的云計算平臺上。
?
在業界,已經有了很多的成功例子,最出名的就是AmazonEC2,它默認的部署方式是AMI(AmazonMachineImages),其可以被認為是Amazon格式的虛擬器件。同時在國內,作為第一批專注于虛擬器件研究的團隊,IBM中國研究院的虛擬化和云計算團隊,已經完成一整套基于虛擬器件的云環境管理解決方案。
總結
虛擬器件不僅在技術、規范和工具這三方面已經有一定的積累,而且其創始者和最大支持者是業界巨擎VMware。從這個兩點,可以看出虛擬器件未來的推廣之路應該會比較順利。同時希望今后能有機會給大家再寫一篇文章,能從實踐的角度,來指導大家如何使用工具來創建符合OVF標準的虛擬器件。
?
福利
掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
推薦閱讀:
太形象了!什么是邊緣計算?最有趣的解釋沒有之一!
互聯網出海十年
華為員工年薪 200 萬!真相讓人心酸!
天才程序員:25 歲進貝爾實驗室,32 歲創建信息論 ?琥珀 ?極客寶寶 ?5天前
安全顧問反水成黑客, 靠瞎猜盜得5000萬美元的以太幣, 一個區塊鏈大盜的另類傳奇
人造器官新突破!美國科學家3D打印出會“呼吸”的肺 | Science
真香,朕在看了!
總結
以上是生活随笔為你收集整理的虚拟器件—虚拟化技术的新利刃 | 时光机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么样的笑话最搞笑?
- 下一篇: Boost:bind绑定的回归测试