OVF協(xié)議:虛擬機(jī)的MP3格式
***篇章 OVF協(xié)議誕生記
所謂萬(wàn)物皆有源,在介紹OVF協(xié)議之前,我們不能不提虛擬器件,而在提虛擬器件之前,我們還得從當(dāng)前應(yīng)用所面臨的困境談起。
應(yīng)用的三大困境
雖然與應(yīng)用相關(guān)的困境很多,但是總體看來(lái),有三個(gè)方面的問(wèn)題是比較突出的:
一是開(kāi)發(fā)麻煩。最明顯的例子就是,在一個(gè)普通應(yīng)用的整個(gè)開(kāi)發(fā)和測(cè)試過(guò)程中,不僅需要兼顧多個(gè)平臺(tái),例如Windows、Linux等,而且還要注意每個(gè)平臺(tái)的多個(gè)版本,例如Ubuntu 9.10、Ubuntu 8.04 LTS,等等。
二是部署麻煩。因?yàn)橐粋€(gè)應(yīng)用的安裝是很難離開(kāi)艱澀的教程和繁瑣的步驟, 而且缺乏完善的安全和許可證的管理,這將導(dǎo)致使用者的利益很難得到保護(hù),同時(shí)開(kāi)發(fā)者的權(quán)益更難以捍衛(wèi)。
三是維護(hù)麻煩。原因是一個(gè)應(yīng)用不僅包括ISV(獨(dú)立軟件開(kāi)發(fā)商)開(kāi)發(fā)的軟件,還包括其他供應(yīng)商的操作系統(tǒng)、中間件和數(shù)據(jù)庫(kù)等,這些因素都將為應(yīng)用升級(jí)帶來(lái)潛在的麻煩,尋求技術(shù)支持時(shí)則有可能遭遇被廠商“踢皮球”的命運(yùn)。
虛擬器件與OVF協(xié)議
那么,在云時(shí)代,有哪些云計(jì)算技術(shù)能幫助解決應(yīng)用的困境呢?當(dāng)然有很多,但其中最有代表性的莫過(guò)于虛擬器件(Virtual Appliance)。虛擬器件,是一個(gè)預(yù)配置的軟件堆棧,包括1個(gè)或多個(gè)虛擬機(jī),而且其中每個(gè)虛擬機(jī)都可以自運(yùn)行,而且自帶操作系統(tǒng)和相關(guān)的應(yīng)用,并明確其所需的虛擬資源。虛擬器件和普通的虛擬機(jī)相比,它在跨平臺(tái)、對(duì)多層架構(gòu)的支持、預(yù)配置和預(yù)優(yōu)化等方面都具有一定的優(yōu)勢(shì)。
在對(duì)應(yīng)用的支持方面,虛擬器件是非常有幫助的,它能逐一化解當(dāng)前應(yīng)用部署的三個(gè)困境:
一是開(kāi)發(fā)簡(jiǎn)單。因?yàn)殚_(kāi)發(fā)人員能限定應(yīng)用自帶的操作系統(tǒng)、中間件和數(shù)據(jù)庫(kù)等軟件的版本,例如SLES 11、WAS 7和DB2 9.7等,這樣將有效縮小開(kāi)發(fā)和測(cè)試的范圍,從而極大地降低應(yīng)用開(kāi)發(fā)和測(cè)試的難度與復(fù)雜度。
二是部署簡(jiǎn)單。首先,如果使用虛擬器件方式部署的話,能將本來(lái)需要幾天的工作縮短到幾分鐘,能將本來(lái)幾十步操作精簡(jiǎn)到輕輕一擊。其次,能非常簡(jiǎn)單地將應(yīng)用部署或者遷移到公有云上,以應(yīng)對(duì)突發(fā)情況。
三是維護(hù)簡(jiǎn)單。因?yàn)檎麄€(gè)虛擬器件都是來(lái)自于同一個(gè)ISV,所以任何軟件升級(jí)和技術(shù)支持,都只要和一個(gè)ISV聯(lián)系就可以了,不僅避免了常見(jiàn)的扯皮現(xiàn)象,而且還簡(jiǎn)化了相關(guān)流程。
雖然虛擬器件這個(gè)想法不錯(cuò),但是大家都知道“無(wú)以規(guī)矩不成方圓”的道理,所以,VMware帶領(lǐng)眾虛擬化技術(shù)提供商提出了Open Virtualization Format (簡(jiǎn)稱(chēng)“OVF”)協(xié)議來(lái)規(guī)范虛擬器件的發(fā)展。
因此,OVF協(xié)議就是用于發(fā)布和部署虛擬器件的開(kāi)放標(biāo)準(zhǔn)。它是一種開(kāi)放、安全、可遷移、有效、跨平臺(tái)以及可擴(kuò)展的格式,以用于封裝和分發(fā)將在虛擬機(jī)上運(yùn)行的軟件。
OVF協(xié)議被VMware CTO Steve Herrod喻為虛擬機(jī)的MP3格式,由業(yè)界著名DMTF(Distributed Management Task Force,分布式管理任務(wù)組) 協(xié)會(huì)制定和發(fā)布,同時(shí)隸屬于志在推動(dòng)云計(jì)算互操作性的VMAN(Virtualization Management,虛擬化管理) 計(jì)劃,并且在2010年9月份正式被ANSI(American National Standards Institute、美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì))定為美國(guó)國(guó)家標(biāo)準(zhǔn)。
雖然OVF協(xié)議發(fā)起人和主要負(fù)責(zé)人都是來(lái)自于VMware的,但因?yàn)槠溟_(kāi)放性和重要性,使得越來(lái)越多廠商開(kāi)始支持此協(xié)議,甚至VMware的競(jìng)爭(zhēng)對(duì)手Xen、思杰,以及虛擬化的開(kāi)創(chuàng)者 IBM也參與了協(xié)議的制定。同時(shí)有一系列支持OVF的工具已經(jīng)發(fā)布了,或者正處于測(cè)試階段,例如VMware的VMware Studio、思杰的Project Kensho、IBM的IBM OVF Toolkit,等等。
除了上面這些支持OVF的工具,VMware為了加速虛擬器件的傳播和OVF協(xié)議的推廣,還推出一個(gè)用于分發(fā)虛擬器件的在線市場(chǎng),叫做“Virtual Appliance Marketplace”,簡(jiǎn)稱(chēng)“VAM”。它提供類(lèi)似于蘋(píng)果App Store 的用戶體驗(yàn),來(lái)幫助用戶購(gòu)買(mǎi)和試用上千種各式各樣的基于OVF格式的虛擬器件,從應(yīng)用程序到操作系統(tǒng),應(yīng)有盡有。此外,VAM還包括一些工具和推薦信息來(lái)幫助用戶做正確的決定。令人欣慰的是, VAM 已經(jīng)是VMware 公司旗下***的站點(diǎn)之一。
第二篇章:OVF協(xié)議詳解
設(shè)計(jì)理念
眾所周知,對(duì)于一個(gè)軟件而言,它的設(shè)計(jì)理念將會(huì)對(duì)它的發(fā)展起著非常重要的影響,而對(duì)于一個(gè)協(xié)議來(lái)講,更是如此。在談到OVF的設(shè)計(jì)理念時(shí),它主要體現(xiàn)在下面這六個(gè)方面:
1. 便于分發(fā):支持虛擬器件的認(rèn)證和完整性檢驗(yàn)等安全措施,并提供軟件許可的管理機(jī)制。
2. 支持多種架構(gòu):包括單個(gè)虛擬機(jī)、多個(gè)虛擬機(jī)或者多層(Multi-Tier)架構(gòu)。
3. 跨平臺(tái):OVF協(xié)議不依賴(lài)于特定的虛擬化平臺(tái),例如 VMware 或者 Xen。
4. 開(kāi)放協(xié)議:OVF協(xié)議是業(yè)界幾大虛擬化技術(shù)供應(yīng)商之間合作的產(chǎn)物,并且鼓勵(lì)更多的企業(yè)參與其中。
5. 可擴(kuò)展:OVF協(xié)議不僅能滿足現(xiàn)有的要求,而且為了滿足虛擬器件技術(shù)不斷發(fā)展和某些特殊的需要,它還支持一定程度的擴(kuò)展。
6. 支持本地化:這將能幫助那些非英語(yǔ)國(guó)家的用戶便利地使用。
可以看出,在這六點(diǎn)中,便于分發(fā)、支持多種架構(gòu)和跨平臺(tái)這三個(gè)特點(diǎn)對(duì)于應(yīng)用都非常有幫助。
OVF格式
圖1:OVF包的結(jié)構(gòu)
OVF協(xié)議常用的發(fā)布格式是基于POSIX 1003.1 ustar標(biāo)準(zhǔn)的以“.ova”為后綴名的壓縮包,簡(jiǎn)稱(chēng)為“OVF包”。如圖1所示,一個(gè)OVF包主要有五種文件組成:
1. OVF 描述文件:通常稱(chēng)為“OVF信封”,是一個(gè)XML文檔,用于定義整個(gè)虛擬器件的組成部分(例如虛擬機(jī)),以及每個(gè)組成部分的特性和資源需求,后綴名為“.ovf”。
2. 虛擬磁盤(pán)文件:即虛擬機(jī)的二進(jìn)制磁盤(pán)鏡像。
3. 清單文件:清單包含OVF包中各文件的 SHA-1 摘要(也稱(chēng)“校驗(yàn)和”),其作用是確保包的完整性,后綴名為“.mf”。
4. 證書(shū)文件:作用是通過(guò)對(duì)清單文件進(jìn)行數(shù)字簽名來(lái)確保整個(gè)虛擬器件的可信性,以 base64編碼的X.509 證書(shū)形式存儲(chǔ),后綴名為“.cert”。
5. OVF環(huán)境(Environment)文件:一個(gè)鍵值(Key-Value)形式的XML文檔,用于設(shè)定和維護(hù)虛擬機(jī)上軟件的配置,后綴名為“.env”。
在上述五種文件中,OVF信封是整個(gè)虛擬器件的核心文件,因?yàn)樗x了所有重要的元數(shù)據(jù),主要包括以下幾個(gè)模塊:
◇ 磁盤(pán)(Disk)模塊:用于描述存放在OVF包內(nèi)的虛擬磁盤(pán)的信息,例如磁盤(pán)的大小和格式。
◇ 網(wǎng)絡(luò)(Network)模塊:用于描述OVF包內(nèi)虛擬機(jī)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
◇ 啟動(dòng)(Startup)模塊:用于定義OVF包內(nèi)多個(gè)虛擬機(jī)之間的啟動(dòng)順序。
◇ 虛擬系統(tǒng)(Virtual System)模塊:用于描述一個(gè)虛擬機(jī),并且作為一個(gè)容器,來(lái)包含多個(gè)隸屬于這個(gè)虛擬機(jī)的模塊,例如許可協(xié)議(Eula)模塊、資源分配(Resource Allocation)模塊、操作系統(tǒng)(Operating System)模塊和產(chǎn)品(Product)模塊等(各模塊特性參見(jiàn)表1)。整個(gè)OVF信封可包括多個(gè)虛擬系統(tǒng)模塊以支持多虛擬機(jī)的部署。
表1 虛擬系統(tǒng)子模塊
模塊名稱(chēng) 描述
資源分配模塊 定義虛擬機(jī)所需要的資源量,例如vCPU的個(gè)數(shù)和內(nèi)存的大小等。
許可協(xié)議模塊 包含與這個(gè)虛擬機(jī)相關(guān)的許可協(xié)議和法律條款,并且這些協(xié)議和條款都將在部署時(shí)被使用者確認(rèn)。
產(chǎn)品模塊 用于描述安裝在虛擬機(jī)上軟件的信息,例如軟件的名字、版本號(hào)和供應(yīng)商等,并定義一些重要的軟件配置信息,例如Web服務(wù)器和數(shù)據(jù)庫(kù)的開(kāi)放端口等。此外,還將指定哪些配置是使用默認(rèn)值,哪些配置是需要在部署時(shí)輸入的。
操作系統(tǒng)模塊 定義虛擬機(jī)內(nèi)部操作系統(tǒng)的版本信息,例如Microsoft Windows Server 2008。
另一個(gè)值得一提的是OVF 環(huán)境文件。OVF 環(huán)境文件則常常用在部署階段,里面主要存放并維護(hù)來(lái)自O(shè)VF信封內(nèi)的,產(chǎn)品模塊里面的配置信息。也就是說(shuō),信封文件的產(chǎn)品模塊里會(huì)定義有哪些值需要在部署之前輸入,而這些值實(shí)際存儲(chǔ)在環(huán)境文件中。此文件在部署時(shí)具體的使用流程是:首先,部署工具會(huì)讓用戶回答并確認(rèn)信封的產(chǎn)品模塊內(nèi)的軟件配置選項(xiàng),例如Linux 系統(tǒng)的IP地址等。接著,部署工具會(huì)通過(guò)剛才的輸入生成新的OVF環(huán)境文件,并通過(guò)虛擬光驅(qū)或者虛擬軟驅(qū)將環(huán)境文件傳入虛擬機(jī)中。***,虛擬機(jī)上軟件會(huì)讀取這個(gè)文件,并執(zhí)行相關(guān)的操作。
#p#
如何利用OVF協(xié)議部署應(yīng)用
在這里,我們以一個(gè)典型的Lamp(Linux-Apache-MySQL-PHP)應(yīng)用為例,來(lái)講述如何利用OVF協(xié)議來(lái)部署應(yīng)用。
***步,啟動(dòng)兩個(gè)空白的虛擬機(jī)。首先,在***臺(tái)虛擬機(jī)上安裝Linux操作系統(tǒng)、Apache Web服務(wù)器和用于設(shè)置網(wǎng)絡(luò)和軟件配置的激活軟件(例如IBM Activation Engine),并加載PHP應(yīng)用。其次,在另一臺(tái)虛擬機(jī)上安裝Linux 操作系統(tǒng)、MySQL數(shù)據(jù)庫(kù)和激活軟件,并創(chuàng)建應(yīng)用的數(shù)據(jù)庫(kù)表。***,關(guān)閉這兩臺(tái)已經(jīng)安裝成功的虛擬機(jī),并導(dǎo)出它們的磁盤(pán)鏡像。
第二步,在OVF工具(例如IBM OVF Toolkit)上創(chuàng)建和編輯Lamp應(yīng)用的OVF 信封,并在工具上導(dǎo)入在***個(gè)步驟中生成的兩塊磁盤(pán)鏡像,***在工具上生成文件名為L(zhǎng)amp.ova的OVF包。需要說(shuō)明的是,清單文件和認(rèn)證文件一般都由OVF工具自動(dòng)生成并放置在OVF包內(nèi)。圖2為部署之前Lamp應(yīng)用的內(nèi)部結(jié)構(gòu):
圖2.部署之前的Lamp應(yīng)用
第三步,在虛擬化平臺(tái)上面(例如VMware vSphere 4)部署這個(gè)OVF包。首先,在部署時(shí),虛擬化平臺(tái)會(huì)讓用戶確認(rèn)信封內(nèi)的產(chǎn)品模塊里面定義的軟件配置選項(xiàng),例如兩個(gè)虛擬機(jī)的網(wǎng)絡(luò)地址和Apache等軟件的配置。接著,虛擬機(jī)平臺(tái)會(huì)根據(jù)剛才的設(shè)置自動(dòng)生成一個(gè)OVF環(huán)境文件,并為這個(gè)文件創(chuàng)建一個(gè)ISO。***將生成的ISO做為虛擬的CD-ROM插入到虛擬機(jī)的虛擬光驅(qū)內(nèi)。
第四步,在兩臺(tái)虛擬機(jī)(VM)啟動(dòng)的時(shí)候,激活軟件會(huì)作為一個(gè)服務(wù)被啟動(dòng)。首先,它會(huì)讀取虛擬光驅(qū)內(nèi)的OVF環(huán)境文件。接著,它會(huì)根據(jù)OVF環(huán)境文件來(lái)設(shè)置虛擬機(jī)的網(wǎng)絡(luò)地址和相關(guān)軟件配置,***,確保應(yīng)用能正常運(yùn)行。圖3為部署之后Lamp應(yīng)用的內(nèi)部結(jié)構(gòu):
圖3.部署之后的Lamp應(yīng)用
從這個(gè)流程來(lái)看,利用OVF協(xié)議來(lái)部署應(yīng)用是非常方便和快捷的。更重要的是,當(dāng)下次再部署相同應(yīng)用的時(shí)候,只需通過(guò)點(diǎn)擊幾下鼠標(biāo)部署之前制作好的OVF包即可。
OVF的不足之處
雖然OVF協(xié)議在很多方面都很優(yōu)秀,但是還是存在一些不足之處。
首先,它在跨平臺(tái)方面一定存在缺陷,雖然OVF協(xié)議支持跨平臺(tái),但因?yàn)殓R像格式的限制,所以現(xiàn)在部分虛擬器件無(wú)法跨平臺(tái),其原因是現(xiàn)有的虛擬器件主要使用VMware的VMDK作為鏡像格式,而此格式在非VMware的平臺(tái)缺乏支持。
其次,缺乏一部分業(yè)界巨頭強(qiáng)力的支持。首先,Amazon已經(jīng)在OVF協(xié)議之前推出了類(lèi)似于OVF的私有格式AMI(Amazon Machine Images,Amazon機(jī)器鏡像),同時(shí)使用者甚眾,且短期內(nèi)似乎沒(méi)有支持OVF的跡象。其次,雖然微軟已經(jīng)表明了對(duì)OVF支持的態(tài)度,但可惜到現(xiàn)在還未推出相關(guān)的產(chǎn)品。
此外,OVF包體積龐大——因?yàn)镺VF包需攜帶磁盤(pán)鏡像的原因,使得OVF包通常以GB為單位,導(dǎo)致其難于通過(guò)網(wǎng)絡(luò)傳輸,這將影響其用戶體驗(yàn)。雖然VMware已經(jīng)提出了Delta Disk和Stream等技術(shù),但在短期內(nèi)這個(gè)問(wèn)題很難被克服。
OVF的未來(lái)
談到OVF的未來(lái),首先,肯定是對(duì)現(xiàn)有功能的強(qiáng)化,就像OVF最近推出1.1版本那樣,并沒(méi)有在范圍的擴(kuò)展上做文章,而是增強(qiáng)其原有的部署功能,例如支持文件系統(tǒng)格式的鏡像。其次,OVF協(xié)議身為VMAN計(jì)劃的一個(gè)核心的組成部分,在將來(lái)會(huì)進(jìn)一步為整個(gè)VMAN計(jì)劃服務(wù),同時(shí)OVF很有可能在已成為美國(guó)國(guó)家標(biāo)準(zhǔn)的情況下向ISO(國(guó)際標(biāo)準(zhǔn)化組織)和IEC(國(guó)際電工委員會(huì))這兩個(gè)組織提交申請(qǐng),力爭(zhēng)成為國(guó)際標(biāo)準(zhǔn)。
在2007年10月初,當(dāng)我***次看到OVF協(xié)議初稿的時(shí)候,我不禁暗暗贊嘆這奇思妙想,并深信它將有助于整個(gè)IT事業(yè)的發(fā)展。3年后,當(dāng)我看到OVF協(xié)議已經(jīng)茁壯成長(zhǎng)的時(shí)候,我不僅更堅(jiān)定了當(dāng)初對(duì)它的期望,更覺(jué)得在今后云計(jì)算的時(shí)代它將進(jìn)一步推動(dòng)應(yīng)用的發(fā)展,使應(yīng)用依舊為王。
第三篇章 OVF與云計(jì)算實(shí)踐
雖然,OVF 1.0協(xié)議正式發(fā)布才半年,但是支持OVF協(xié)議的云計(jì)算產(chǎn)品有如雨后春筍般不斷涌現(xiàn), 例如開(kāi)源的Xen Cloud Platform和IBM的Systems Director等 ,而且產(chǎn)品的范圍橫跨公有云和私有云這兩個(gè)范疇。接下來(lái),我將從這兩個(gè)范疇中各選取一個(gè)產(chǎn)品,來(lái)給大家分析一下OVF協(xié)議在這些產(chǎn)品中所發(fā)揮的作用,一個(gè)是VMware的vCloud Express,另一個(gè)是IBM的WebSphere CloudBurst Appliance(簡(jiǎn)稱(chēng)WCA)。
OVF與VMware vCloud Express
在2009 VMworld大會(huì)上,VMware攜手眾多供應(yīng)商推出了VMware vCloud Express。它是基于VMware vSphere 虛擬化平臺(tái)構(gòu)建的企業(yè)級(jí)公有云解決方案,提供可靠和隨需應(yīng)變的“Infrastructure as a Service(基礎(chǔ)設(shè)施即服務(wù))”。
VMware vCloud Express***的特色是靈活的遷移。今后用戶的工作負(fù)載不僅可以在兩個(gè)支持vCloud技術(shù)的企業(yè)數(shù)據(jù)中心之間實(shí)現(xiàn)靈活地遷移,從而提高可用性和優(yōu)化資源,而且還可以將工作負(fù)載在企業(yè)數(shù)據(jù)中心和vCloud公有云之間進(jìn)行遷移,以應(yīng)對(duì)突發(fā)情況或者減少初始投入。
在VMware vCloud Express中,OVF協(xié)議處于非常核心地位。這是因?yàn)閂Mware vCloud Express默認(rèn)的部署模型就是基于OVF協(xié)議的vApp,通過(guò)vApp模型能方便用戶上傳本地的應(yīng)用。并且,vCloud API的核心也是基于OVF協(xié)議的。我們說(shuō)過(guò),OVF協(xié)議以是應(yīng)用為核心的思想,它能夠幫助用戶理解和使用這套API。
此外,通過(guò)使用公開(kāi)的OVF協(xié)議將提升vCloud的互操作性和兼容性,使得應(yīng)用能在多個(gè)數(shù)據(jù)中心或者云之間進(jìn)行自由的遷移。
OVF與IBM WCA
WCA是 IBM 在2009年推出的一款云計(jì)算產(chǎn)品,提供了構(gòu)建、部署、管理和維護(hù) WebSphere虛擬器件的功能,并能高效地利用企業(yè)的共享資源池或者私有云 ,從而有效地降低相關(guān)基礎(chǔ)設(shè)施的投入。在這里值得一提的是,我個(gè)人非常有幸地參與了這個(gè)旗艦級(jí)產(chǎn)品的研發(fā),更從中獲益匪淺。
基于OVF協(xié)議的WebSphere虛擬器件是構(gòu)建WCA的核心元素,同時(shí)WCA整個(gè)工作流程都是圍繞著這些虛擬器件展開(kāi)的,這些虛擬器件中***代表性就屬簡(jiǎn)稱(chēng)為“WAS HV”的WebSphere Application Server 的虛擬化版本,它包括WAS的二進(jìn)制文件和配置文件、IBM HTTP 服務(wù)器和一個(gè) Novell 企業(yè)級(jí)SUSE操作系統(tǒng)。但它不僅僅只是一個(gè)簡(jiǎn)單虛擬化版WAS而已,通過(guò)與WCA的協(xié)同工作,它還能提供很多“靈丹妙藥”:
◇ 不僅能定制從簡(jiǎn)單的單獨(dú)部署到復(fù)雜的集群部署等多種部署模式,而且能設(shè)置一些WAS的高級(jí)屬性,例如會(huì)話持久性和全局安全性等。
◇ 預(yù)優(yōu)化。基于多年實(shí)戰(zhàn)經(jīng)驗(yàn),IBM的工程師對(duì)WAS HV整個(gè)軟件堆棧進(jìn)行了調(diào)優(yōu)。
◇ 激活。每個(gè)WAS HV都自帶IBM Activation Engine來(lái)自動(dòng)激活系統(tǒng)網(wǎng)絡(luò)和WAS等。
第四篇章 OVF的“對(duì)手”
談到OVF的對(duì)手,其中最引入注目的莫過(guò)于AMI,AMI全稱(chēng)為“Amazon Machine Image(Amazon系統(tǒng)鏡像)”,它主要用于Amazon以提供虛擬機(jī)著稱(chēng)的 EC2(Elastic Compute Cloud,彈性計(jì)算云)云服務(wù)。簡(jiǎn)單地說(shuō),AMI可以被認(rèn)為是基于Xen虛擬技術(shù)的虛擬器件,在鏡像里面包含了操作系統(tǒng)和一些軟件,例如Apache和MySQL等。但和標(biāo)準(zhǔn)的虛擬器件不同的是,AMI并不是基于OVF協(xié)議,而是基于Amazon EC2自己的一套規(guī)范來(lái)進(jìn)行配置和調(diào)整,例如關(guān)于SSH認(rèn)證的設(shè)定等。
用戶在創(chuàng)建虛擬機(jī)的時(shí)候,需要為這個(gè)虛擬機(jī)選定一個(gè)AMI,在這個(gè)虛擬機(jī)啟動(dòng)的時(shí)候,會(huì)通過(guò)讀寫(xiě)這個(gè)AMI來(lái)啟動(dòng)相關(guān)的操作系統(tǒng),接著執(zhí)行一些預(yù)先設(shè)定的程序,例如進(jìn)行SSH相關(guān)的設(shè)置等。根據(jù)性質(zhì)的不同,AMI主要可分為三種:
1. 私有的:用戶個(gè)人創(chuàng)建的AMI,在默認(rèn)情況下是設(shè)為私有的,但也可以授權(quán)其他用戶來(lái)使用這個(gè)AMI。
2. 公共的:用戶創(chuàng)建并發(fā)布到 Amazon Web Services 社區(qū)的AMI,任何用戶都可以使用這個(gè)AMI來(lái)啟動(dòng)實(shí)例。
3. 付費(fèi)的:開(kāi)發(fā)者可以創(chuàng)建提供獨(dú)特功能的AMI,如果其他用戶想使用這個(gè)AMI,需要按照使用的時(shí)間來(lái)向開(kāi)發(fā)者付費(fèi)。
現(xiàn)在開(kāi)發(fā)人員或者用戶主要使用名為“Amazon EC2 AMI Tools”的工具來(lái)創(chuàng)建AMI,當(dāng)AMI創(chuàng)建成功之后,需要將這個(gè)AMI上傳至S3中,并將這個(gè)AMI注冊(cè)至EC2中。
截止到目前,AMI支持的操作系統(tǒng)有:Red Hat Enterprise Linux、Windows Server 2003/2008、OpenSolaris、openSUSE Linux和Ubuntu Linux等。現(xiàn)有的AMI所支持的軟件更是數(shù)不勝數(shù),例如在數(shù)據(jù)庫(kù)方面有IBM DB2、微軟 SQL Server 2005、Oracle數(shù)據(jù)庫(kù)11g和MySQL等;在批處理方面有Hadoop、Condor和Open MPI等;在應(yīng)用服務(wù)器方面有IBM的WebSphere和Oracle的WebLogic等;當(dāng)然還支持許許多多的開(kāi)源軟件,例如Apache、Nginx和Ruby on Rails等。
和OVF相比, AMI不僅在使用率方面超越了OVF,而且在配套工具和社區(qū)方面的支持也毫不遜色,甚至被很多國(guó)外云計(jì)算專(zhuān)家稱(chēng)為虛擬器件領(lǐng)域“事實(shí)的標(biāo)準(zhǔn)”,但是由于在開(kāi)放性方面,OVF比私有的AMI優(yōu)秀很多,這也導(dǎo)致在廠商支持方面,OVF遠(yuǎn)甚于AMI,所以從長(zhǎng)遠(yuǎn)而言,我更看好OVF的發(fā)展。
作者簡(jiǎn)介
吳朱華,曾在IBM中國(guó)研究院參與過(guò)多個(gè)云計(jì)算產(chǎn)品的開(kāi)發(fā)工作,現(xiàn)在專(zhuān)注于YunTable(http://code.google.com/p/yuntable/)和YunEngine(http://yunengine.com/)的研發(fā),并且即將發(fā)表《剖析云計(jì)算》一書(shū),敬請(qǐng)期待。