虛擬化、云計算、開放源代碼及其他


時間:2012-10-16





  借國慶長假的機(jī)會寫了這篇長文,全面地整理了個人從虛擬化到云計算各個層面的看法。主要的內(nèi)容涉及虛擬化、虛擬化管理、數(shù)據(jù)中心虛擬化、云計算、公有云與私有云、以及開放源代碼。本文的全部內(nèi)容均屬于作者的個人觀點,而不代表任何公司的觀點。歡迎討論。

  A、虛擬化



  虛擬化是指在同一臺物理機(jī)器上模擬多臺虛擬機(jī)的能力。每臺虛擬機(jī)在邏輯上擁有獨(dú)立的處理器、內(nèi)存、硬盤和網(wǎng)絡(luò)接口。使用虛擬化技術(shù)能夠提高硬件資源的利用率,使得多個應(yīng)用能夠運(yùn)行在同一臺物理機(jī)上各自擁有彼此隔離的運(yùn)行環(huán)境。

  虛擬化的也有不同的層次,例如硬件層面的虛擬化和軟件層面的虛擬化。硬件虛擬化指的是通過模擬硬件的方式獲得一個類似于真實計算機(jī)的環(huán)境,可以運(yùn)行一個完整的操作系統(tǒng)。在硬件虛擬化這個層面,又有Full Virtualization全虛擬化,幾乎是完整地模擬一套真實的硬件設(shè)備。大部分操作系統(tǒng)無須進(jìn)行任何修改即可直接運(yùn)行在全虛擬化環(huán)境中。、Partial Virtualization部分虛擬化,僅僅提供了對關(guān)鍵性計算組件或者指令集的模擬。操作系統(tǒng)可能需要做某些修改才能夠運(yùn)行在部分虛擬化環(huán)境中。和Paravirtualization半虛擬化,不對硬件設(shè)備進(jìn)行模擬,虛擬機(jī)擁有獨(dú)立的運(yùn)行環(huán)境,通過虛擬機(jī)管理程序共享底層的硬件資源。大部分操作系統(tǒng)需要進(jìn)行修改才能夠運(yùn)行在半虛擬化環(huán)境中。等不同的實現(xiàn)方式。軟件層面的虛擬化,往往是指在同一個操作系統(tǒng)實例的基礎(chǔ)上提供多個隔離的虛擬運(yùn)行環(huán)境,也常常被稱為容器技術(shù)。

  在硬件虛擬化的層面,現(xiàn)代的虛擬化技術(shù)通常是全虛擬化和半虛擬化的混合體。常見的虛擬化技術(shù)例如VMWare、Xen和KVM都同時提供了對全虛擬化和半虛擬化的支持。以硬件虛擬化的方式所提供的虛擬機(jī),通常都在運(yùn)行一個完整的操作系統(tǒng),在同一臺宿主機(jī)上存在大量相同或者相似的進(jìn)程和內(nèi)存頁,從而導(dǎo)致明顯的性能損耗。目前,通過KSM等技術(shù)可以識別與合并含有相同內(nèi)容的內(nèi)存頁,但是還沒有對大量相同或者相似的進(jìn)程進(jìn)行優(yōu)化處理的有效手段。因此,硬件虛擬化也往往被稱為重量級虛擬化,在同一宿主機(jī)上能夠同時運(yùn)行的虛擬機(jī)數(shù)量是相當(dāng)有限的。在軟件虛擬化的層面,同一宿主機(jī)上的所有虛擬機(jī)共享同一個操作系統(tǒng)實例,不存在由于運(yùn)行多個操作系統(tǒng)實例所造成的性能損耗。因此,軟件虛擬化也往往被稱為輕量級虛擬化,在同一宿主機(jī)上能夠同時運(yùn)行的虛擬運(yùn)行環(huán)境數(shù)量是比較寬松的。以Solaris操作系統(tǒng)上的Container為例,一個Solaris操作系統(tǒng)的實例理論上可以支持多達(dá)8000個Container實際能夠運(yùn)行的Container數(shù)量取決于系統(tǒng)資源和負(fù)載。與此類似,Linux操作系統(tǒng)上的LXC可以輕松地在同一宿主機(jī)上同時支持?jǐn)?shù)量可觀的虛擬運(yùn)行環(huán)境。

  在虛擬化這個領(lǐng)域,國內(nèi)的公司對硬件虛擬化的興趣較大,在研發(fā)和生產(chǎn)環(huán)境中也大都采用硬件虛擬化技術(shù)。淘寶是國內(nèi)較早地研究并應(yīng)用軟件虛擬化技術(shù)的,他們在淘寶主站的實踐經(jīng)驗表明使用cgroup替代Xen能夠提升資源利用率。至于在一個實際的應(yīng)用場景中到底應(yīng)該選擇硬件虛擬化還是軟件虛擬化,則應(yīng)該重點考慮最終用戶是否需要對操作系統(tǒng)的完全控制權(quán)例如升級內(nèi)核版本。如果最終用戶僅僅需要對運(yùn)行環(huán)境的控制權(quán)例如PaaS層面的各種App Engine服務(wù),軟件虛擬化可能性價比更高。對于為同一應(yīng)用提供橫向擴(kuò)展能力的應(yīng)用場景,軟件虛擬化也是比較好的選擇。

  對于需要深入了解虛擬化技術(shù)的技術(shù)人員來說,VMWare發(fā)表的白皮書《Understanding Full Virtualization, Paravirtualization, and Hardware Assist》是一份很好的參考資料。

  通常來講,能夠直接使用虛擬化技術(shù)的用戶數(shù)量是比較少的。以Linux操作系統(tǒng)為例,能夠進(jìn)行虛擬機(jī)生命周期管理的用戶,一般就是具有訪問libvirt權(quán)限的用戶。在一個公司或者其他實體中,這些用戶通常是系統(tǒng)管理員。

  B、虛擬化管理

  早期的虛擬化技術(shù),解決的是在同一臺物理機(jī)上提供多個相互獨(dú)立的運(yùn)行環(huán)境的問題。當(dāng)需要管理的物理機(jī)數(shù)量較小時,系統(tǒng)管理員可以手動登錄到不同的物理機(jī)上進(jìn)行虛擬機(jī)生命周期管理資源配置、啟動、關(guān)閉等等。當(dāng)需要管理的物理機(jī)數(shù)量較大時,就需要寫一些腳本/程序來提高虛擬機(jī)生命周期管理的自動化程度。以管理和調(diào)度大量物理/虛擬計算資源為目的軟件,稱為虛擬化管理工具。虛擬化管理工具使得系統(tǒng)管理員可以從同一個位置執(zhí)行如下任務(wù):1對不同物理機(jī)上的虛擬機(jī)進(jìn)行生命周期管理;2對所有的物理機(jī)和虛擬機(jī)進(jìn)行查詢甚至監(jiān)控;3建立虛擬機(jī)命名與虛擬機(jī)實例直接的映射關(guān)系,使得虛擬機(jī)的識別和管理更加容易。Linux操作系統(tǒng)上的VirtManager是一個簡單的虛擬化管理工具。在VMWare產(chǎn)品家族中,VMWare vSphere是一個功能強(qiáng)大的虛擬化管理工具。



  版權(quán)及免責(zé)聲明:凡本網(wǎng)所屬版權(quán)作品,轉(zhuǎn)載時須獲得授權(quán)并注明來源“中國產(chǎn)業(yè)經(jīng)濟(jì)信息網(wǎng)”,違者本網(wǎng)將保留追究其相關(guān)法律責(zé)任的權(quán)力。凡轉(zhuǎn)載文章,不代表本網(wǎng)觀點和立場。版權(quán)事宜請聯(lián)系:010-65363056。

延伸閱讀

熱點視頻

第六屆中國報業(yè)黨建工作座談會(1) 第六屆中國報業(yè)黨建工作座談會(1)

熱點新聞

熱點輿情

特色小鎮(zhèn)

版權(quán)所有:中國產(chǎn)業(yè)經(jīng)濟(jì)信息網(wǎng)京ICP備11041399號-2京公網(wǎng)安備11010502003583