虛擬化技術(shù)簡介虛擬化技術(shù)發(fā)展史
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、項城網(wǎng)站維護(hù)、網(wǎng)站推廣。虛擬化技術(shù)最早出現(xiàn)在大型機時代。上世紀(jì)60年代,IBM開始在其CP-40大型機系統(tǒng)中嘗試虛擬化的實現(xiàn),后來在System/360-67中采用,并衍生出VM/CMS到后來的z/VM等產(chǎn)品線。大型機上的虛擬化技術(shù)在之后20多年的發(fā)展中愈發(fā)成熟,但隨著小型機以及x86的流行,大型機在新興的服務(wù)器市場中已經(jīng)失去了影響力。
由于處理器架構(gòu)的不同,在大型機上已經(jīng)成熟的虛擬化技術(shù)卻并不能為小型機及x86所用。直到2001年,VMware發(fā)布了第一個針對x86服務(wù)器的虛擬化產(chǎn)品。之后的幾年間,英國劍橋大學(xué)的一位講師發(fā)布了同樣針對x86虛擬化的開源虛擬化項目Xen,并成立XenSource公司(07年Citrix將其收購);惠普發(fā)布了針對HP-UX的Integrity虛擬機;Sun跟Solaris 10一同發(fā)布了同時支持x86/x64和SPARC架構(gòu)的Solaris Zone;而微軟也終于在2008年發(fā)布的Windows Server 2008 R2中加入了Hyper-V。期間,VMware被EMC收購,XenSource則被思杰收購。
之后的幾年間,VMware逐漸在企業(yè)級市場中被廣泛的接受,Xen也逐漸在互聯(lián)網(wǎng)領(lǐng)域展露頭角。在成熟的服務(wù)器操作系統(tǒng)當(dāng)中,Novell SUSE Linux Enterprise 10是第一個采用Xen技術(shù)的。當(dāng)時的Xen還很不成熟,乃至于紅帽還為此取笑了Novell一番;不過幾個月后,到了RHEL 5.0發(fā)布的時候,紅帽決定也將Xen加入到自己的默認(rèn)特性當(dāng)中——那是2006年。一時之間,在Linux服務(wù)器領(lǐng)域,Xen似乎成為了 VMware之外的虛擬化選擇(事實上也沒多少其他可選的)。
但是,作為一項Linux平臺上的虛擬化技術(shù),Xen在很長一段時間內(nèi)一直沒有被接受到Linux內(nèi)核的代碼當(dāng)中,這對于Xen的維護(hù)者而言,不僅意味著要多做很多工作,還意味著用戶在廢了半天勁裝好Xen之后可能遇到意想不到的問題(注:2011年6月發(fā)布的Linux內(nèi)核3.0中已經(jīng)加入了對Xen的支持——Xen的工程師們表示這是清理了7年遺留代碼、提交了600多個補丁的成果)。
而紅帽方面,也許是因為當(dāng)時對這種脫離內(nèi)核的維護(hù)方式很不爽,也許是因為采用Xen的RHEL在企業(yè)級虛擬化方面沒有贏得太多的市場,也許是因為思杰跟微軟走的太近了,種種原因,導(dǎo)致其萌生了放棄Xen的心思。2008年9月,紅帽收購了一家名叫Qumranet的以色列小公司,由此入手了一個叫做KVM的虛擬化技術(shù)(KVM,全稱Kernel-based Virtual Machine,意為基于內(nèi)核的虛擬機)。
總之紅帽決定選擇了一個新興的基于內(nèi)核的虛擬化技術(shù):KVM。而在正式采用KVM一年后,就宣布在新的產(chǎn)品線中徹底放棄Xen,集中資源和精力進(jìn)行KVM的工作。至此各大虛擬化技術(shù)VMware,Xen,KVM等均出現(xiàn),并找到自己位置。
全虛擬化(Full Virtualization)
全虛擬化也成為原始虛擬化技術(shù),該模型使用虛擬機協(xié)調(diào)Guest操作系統(tǒng)和原始硬件,VMM在Guest操作系統(tǒng)和裸硬件之間用于工作協(xié)調(diào),一些受保護(hù)指令必須由Hypervisor(虛擬機管理程序)來捕獲處理。
全虛擬化主要是在客戶操作系統(tǒng)和硬件之間捕捉和處理那些對虛擬化敏感的特權(quán)指令,使客戶操作系統(tǒng)無需修改就能運行,速度會根據(jù)不同的實現(xiàn)而不同,但大致能滿足用戶的需求。這種方式是業(yè)界現(xiàn)今最成熟和最常見的,而且屬于 Hosted 模式和 Hypervisor 模式的都有,知名的產(chǎn)品有IBM CP/CMS、VirtualBox、KVM、VMware Workstation和VMware ESX(它在其4.0版,被改名為VMware vSphere)。
全虛擬化的運行速度要快于硬件模擬,但是性能方面不如裸機,因為Hypervisor需要占用一些資源。
·優(yōu)點:Guest OS無需修改,速度和功能都非常不錯,更重要的是使用非常簡單,不論是 VMware 的產(chǎn)品,還是Oracle的 VirtualBox。
·缺點:基于Hosted模式的全虛擬產(chǎn)品性能方面不是特別優(yōu)異,特別是I/O方面。
未來:因為使用這種模式,不僅Guest OS免于修改,而且將通過引入硬件輔助虛擬化技術(shù)來提高其性能,在未來全虛擬化還是主流。
半虛擬化(Para Virtualization)
半虛擬化是另一種類似于全虛擬化技術(shù),它使用Hypervisor分享存取底層硬件,但是它的Guest操作系統(tǒng)集成了虛擬化方面代碼。該方法無需重新編譯或引起陷阱,因為操作系統(tǒng)自身能夠與虛擬進(jìn)程進(jìn)行很好的協(xié)作。
它與完全虛擬化有一些類似,它也利用Hypervisor來實現(xiàn)對底層硬件的共享訪問,但是由于在Hypervisor 上面運行的Guest OS已經(jīng)集成與半虛擬化有關(guān)的代碼,使得Guest OS能夠非常好地配合Hyperivosr來實現(xiàn)虛擬化。通過這種方法將無需重新編譯或捕獲特權(quán)指令,使其性能非常接近物理機,其最經(jīng)典的產(chǎn)品就是Xen,而且因為微軟的Hyper-V所采用技術(shù)和Xen類似,所以也可以把Hyper-V歸屬于半虛擬化。
(半虛擬化由于需要修改VM操作系統(tǒng)的內(nèi)核,所以沒法支持windows這樣閉源OS,于是后來Xen也利用CPU虛擬化技術(shù)開始支持全虛擬化了,所以目前Xen支持半虛擬化和全虛擬化兩種)
半虛擬化需要Guest操作系統(tǒng)做一些修改,使Guest操作系統(tǒng)意識到自己是處于虛擬化環(huán)境的,但是半虛擬化提供了與原操作系統(tǒng)相近的性能。
· 優(yōu)點:這種模式和全虛擬化相比架構(gòu)更精簡,而且在整體速度上有一定的優(yōu)勢。
· 缺點:需要對Guest OS進(jìn)行修改,所以在用戶體驗方面比較麻煩。
未來:情況比較類似,在公有云(比如Amazon EC2)平臺上應(yīng)該繼續(xù)占有一席之地,但是很難在其他方面和類似VMware vSphere這樣的全虛擬化產(chǎn)品競爭,同時它也將會利用其它技術(shù)來提高速度,并簡化架構(gòu)。
虛擬化廠商
VMware簡介
· VMware的歷史
早在1998年時,畢業(yè)于MIT的Diane Greene察覺到計算機資源的使用率過低,因此和Dr. Mendel Rosenblum、Scott Devine、Dr. Edward Wang以及Edouard Bugnion等人成立了VMware公司,專精于OS in OS的軟件,期待能完全發(fā)揮硬件的性能,并為當(dāng)時的專業(yè)IT人員提供一個測試、評估的低成本環(huán)境。
1.X86平臺上的第一個虛擬機產(chǎn)品:VMware Workstation
當(dāng)時VMware Workstation一上市就打響,使得VMware直接成為虛擬機的代名詞。然而Windows系統(tǒng)的相對不穩(wěn)定性,讓VMware的工程師們把目光投向了相對較穩(wěn)定的Linux系統(tǒng),因此在VMware Workstation成功推出不久之后,也出現(xiàn)了Linux版本的產(chǎn)品,讓Linux下的用戶也可以同時運行Windows或其他的Linux套件。
2.Linux下的虛擬機產(chǎn)品
雖然解決了Windows的問題,VMware Workstation仍然無法擺脫寄居在固定操作系統(tǒng)上的恐懼。既然選擇了較為穩(wěn)定的Linux,VMware也順勢推出了運行在RedHat、Mandrake和SUSE Linux下的VMware GSX Server,并且也擁有Web端的管理和客戶端的管理程序。在Linux下,VMware較不需要擔(dān)心病毒或黑客的攻擊,而操作系統(tǒng)本身宕機帶來的危險性也相對較小,因此在2000年初期,Linux成為VMware產(chǎn)品充分發(fā)揮的最好舞臺。而VMware也在2000年的初期在Linux下推出了VMware GSX Server產(chǎn)品,這也是后來推出VMware Server版的基礎(chǔ)。當(dāng)然在GSX Server上的特色,就是使用了Client/Server架構(gòu)的管理界面,更可以使用瀏覽器來連入GSX Server來管理。
KVM
KVM Kernel-based Virtual Machine的簡稱,是一個開源的系統(tǒng)虛擬化模塊,自Linux 2.6.20之后集成在Linux的各個主要發(fā)行版本中。它使用Linux自身的調(diào)度器進(jìn)行管理,所以相對于Xen,其核心源碼很少。KVM目前已成為學(xué)術(shù)界的主流VMM之一。06年之前,Linux內(nèi)核中還沒有任何虛擬化實現(xiàn),Xen和Vmware依靠自己獨有的技術(shù)分別在虛擬化不同領(lǐng)域如日中天,尤其值得一提的是,Xen在開源領(lǐng)域幾乎成為了虛擬化的事實標(biāo)準(zhǔn)。Avi Kivity和他所在的以色列初創(chuàng)公司Qumranet提出并推動KVM(基于Linux內(nèi)核的全虛擬化方案),以其精簡的架構(gòu),清晰的定位很快獲得Linux社區(qū)多數(shù)開發(fā)人員的支持得以快速被合并進(jìn)入主干,以Avi Kivity為主的工程師僅僅花了不到一年時間就讓Linux社區(qū)接受KVM的設(shè)計方案并且通過了代碼Review,最終于2006年10月合并進(jìn)入2.6.20主干,時至今日,人們依然對于KVM合并進(jìn)入Linux主干的速度之快感到不可思議。
為什么那么多的大公司對KVM感興趣?其中最明顯并且最重要的因素就是KVM是Linux內(nèi)核的一部分。這個輕量級的虛擬化管理程序模塊能直接與硬件交互,不需要修改虛擬化操作系統(tǒng),因此性能更好,并且補丁包能夠和Linux內(nèi)核兼容,輕松控制虛擬化進(jìn)程,同時減輕管理負(fù)擔(dān)。
當(dāng)然,KVM也有成長的煩惱。KVM究竟屬于Type 1還是Type 2hypervisor呢?出現(xiàn)這種疑惑的原因在于KVM的基因——它屬于操作系統(tǒng)的一部分,類似直接運行于硬件系統(tǒng)之上的裸機管理程序,不需要修改操作系統(tǒng)。這就符合Type 1 hypervisor的定義,也經(jīng)常被稱為硬件虛擬化引擎,更像是個安裝在客戶端上的操作系統(tǒng),性能佳,運行穩(wěn)定,減少了運行管理程序本身所需的花銷。
而Type 2 hypervisor更像是個應(yīng)用,運行在基礎(chǔ)操作系統(tǒng)上。如果將KVM看作Type 2,那么所強調(diào)的高性能難達(dá)到,還可能存在安全風(fēng)險。其實,對Type 1和Type 2的討論不是是否采納KVM的前提。無論KVM是“第一類”還是“第二類”,這都是語義上的概念。
此外,就是所有新生技術(shù)在發(fā)展中都會面臨的難題:技術(shù)不成熟。KVM的出現(xiàn)不過三四年時間,在可用資源、平臺支持、管理工具、實施經(jīng)驗方面當(dāng)然不能與出現(xiàn)八年之久的Xen相比。雖然目前KVM還缺少某些關(guān)鍵特性,例如存儲的動態(tài)遷移,但是在后續(xù)的版本中都會開發(fā)出來。
性能方面,KVM在逐漸顯示其威力。不久前的SPECvirt虛擬化對照基準(zhǔn)測試中,紅帽企業(yè)Linux 6.1、其內(nèi)嵌的KVM hypervisor以及惠普ProLiant DL980 G7服務(wù)器三者結(jié)合,創(chuàng)造了新的成績——的虛擬化性能和最多的計算區(qū)塊數(shù)量,并且六臺虛擬機能同時運行一個應(yīng)用程序。
雖然只是新生技術(shù),但是由于其性能和實施的簡易性,加上Linux企業(yè)市場中份額的紅帽不遺余力的推廣開發(fā),KVM將會持續(xù)成長壯大。
Hyper-V
在2006年VMware將其Server產(chǎn)品免費化之后,整個虛擬機的市場立即產(chǎn)生了變化。原來大家心中的"OS in OS"觀念立即提升到新的境界。微軟是第一個發(fā)現(xiàn)這個龐大市場的競爭對手,也在當(dāng)時立即宣稱投入企業(yè)級的虛擬機市場,并在2008年成功推出了Hyper-V。在2010年發(fā)布的Windows Server 2008 R2發(fā)布支持Live/Quick Migration的Hyper-V R2更新版,支持不需要重新啟動的立即轉(zhuǎn)移,
Hyper-V并不是一個獨立的產(chǎn)品,而是很適當(dāng)?shù)厝谌肓薟indows Server 2008系統(tǒng)中的"角色(Role)"。在Windows Server 2008中要安裝Hyper-V,必須以角色的方式將主機配置成虛擬機角色。這一點也讓初次接觸虛擬機的人直接懷疑Hyper-V原生是否真的是原生架構(gòu)。既然需要一個Windows Server 2008當(dāng)做宿主的操作系統(tǒng),Hyper-V原生怎么會是原生架構(gòu)的呢?
1. Windows Server 2008是第一個虛擬機
原生架構(gòu)的最重要特色反而不是宿主的OS,而是Hypervisor的位置。如果Hypervisor的位置是在Ring 0或是Ring 1,只要能掌控其上的客戶端OS,并且為客戶端OS提供監(jiān)控和分配的服務(wù),那么運行了Hyper-V的Windows Server 2008本身,是可以被視為一個客戶端OS的。
在啟動Hyper-V之前,Windows Server 2008就是一個普通的Windows Server操作系統(tǒng)。整個操作系統(tǒng)掌握了所有的資源,所有的硬件都被操作系統(tǒng)直接訪問。此時,計算機是沒有虛擬機功能的,安裝Virtual Server/PC或是VMware Workstation/Server均可以順利運行。
2.特殊的原生角色
然而啟動了Hyper-V的角色之后,系統(tǒng)的本質(zhì)即發(fā)生變化。首先在開機時,會載入hvboot.sys文件,這就是Hyper-V的Hypervisor;載入hvboot.sys之后,以后加載的操作系統(tǒng)都被視為虛擬機,包括已經(jīng)安裝好的Windows Server 2008。
此時Windows Server 2008會繼續(xù)啟動,但已經(jīng)變成了一個虛擬機了。在Hyper-V中,將啟動Hyper-V后的Windows Server 2008稱為"父虛擬分區(qū)(Parent partition)",算是一個最特殊的虛擬機。"父虛擬分區(qū)"這個虛擬機和其他之后安裝的虛擬機完全不同,其完全掌握著所有的資源,但CPU和網(wǎng)卡除外,因此這個Windows Server 2008也必須聽從Hypervisor的指揮。
文章標(biāo)題:詳細(xì)解析虛擬化的起源和分類\"
分享鏈接:http://www.rwnh.cn/article24/cgsece.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、Google、虛擬主機、微信小程序、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)