劉英哲
(陜西陸軍預(yù)備役高炮師,西安 710077)
虛擬化(英語:Virtualization)是個(gè)通用的術(shù)語,就計(jì)算機(jī)領(lǐng)域而言,它是一種資源管理技術(shù),它通常是將各種物理資源進(jìn)行抽象轉(zhuǎn)換后用邏輯來表示,從而擺脫物理硬件的約束,使用戶可以發(fā)更高的效率和更好的方式來應(yīng)用這些資源。目前的云計(jì)算也依賴于虛擬化。
虛擬機(jī)是對真實(shí)計(jì)算環(huán)境的抽象和模擬,在操作系統(tǒng)中加入一個(gè)虛擬化層(VMM),VMM 需要為每個(gè)虛擬機(jī)分配一套數(shù)據(jù)結(jié)構(gòu)來管理它們狀態(tài),它可以對下層(HostOS)的基礎(chǔ)硬件資源,如物理內(nèi)存、寄存器組、存儲器等硬件設(shè)備進(jìn)行整體的封裝、隔離、抽象、轉(zhuǎn)換,將這些硬件資源抽以邏輯資源的形式表現(xiàn)出來。并將這些邏輯資源提供給客戶(GuestOS)調(diào)用。我們也可以將VMM看作是聯(lián)系HostOS和GuestOS的一個(gè)橋梁和紐帶。虛擬化可以將一個(gè)物理資源抽象轉(zhuǎn)化為多個(gè)邏輯資源,也可以將多個(gè)物理資源抽象轉(zhuǎn)化為一個(gè)邏輯資源。通常,我們將物理主機(jī)稱為HostOS(宿主),而將虛擬機(jī)稱為GuestOS(客戶)。
全軟件技術(shù)理論上可以模擬所有已知的硬件,甚至不存在的硬件,但由于是軟件模擬方式,所以效率很低,不適合商業(yè)化推廣。采用這種技術(shù)的軟件有Bochs以及早期的QEMU等。
在虛擬化發(fā)展的早期,技術(shù)主流是借助軟件實(shí)現(xiàn)的全虛擬化和半虛擬化這兩種虛擬化層翻譯技術(shù),這兩種技術(shù)各有優(yōu)缺點(diǎn),為充分發(fā)揮兩者的優(yōu)越性,就要根據(jù)實(shí)際情況,靈活的對兩種技術(shù)加以應(yīng)用。
以Intel為代表的硬件廠商的介入則開啟了硬件虛擬化的新時(shí)代,這也使全虛擬化與半虛擬化技術(shù)有了合二為一的趨勢。當(dāng)前,單純靠虛擬化軟件來解決問題已不是行業(yè)的主流,以軟硬件結(jié)合的虛擬化平臺來解決問題是未來的發(fā)展趨勢。虛擬化層翻譯技術(shù)主要的包括硬件輔助虛擬化、全虛擬化、半虛擬化、總線虛擬化、內(nèi)存虛擬化等。
容器虛擬化不是一種硬件虛擬化方法,它不同于虛擬機(jī)方式的虛擬化技術(shù),而是一個(gè)操作系統(tǒng)級的虛擬化方法。具體實(shí)施可分為三步:第一步要安裝主機(jī)操作系統(tǒng),主機(jī)操作系統(tǒng)通常是Linux變種。第二步,在主機(jī)操作系統(tǒng)之上安裝容器層。第三步,在以上操作都完成后,就可以將容器實(shí)例分配到系統(tǒng)的可用計(jì)算資源中,并在容器中部署企業(yè)應(yīng)用,所有這些容器化應(yīng)用都共享同一個(gè)主機(jī)操作系統(tǒng)。
容器虛擬化的實(shí)質(zhì)是以容器為虛擬化的載體單位,容器可以為應(yīng)用程序提供隔離的運(yùn)行空間,從而使所有應(yīng)用都相互獨(dú)立,互不影響,且容器之間也是相互獨(dú)立與隔離的,即一個(gè)容器內(nèi)的變動(dòng)不會影響其它容器的運(yùn)行。與虛擬機(jī)相比較,容器的資源利用率更高,它的規(guī)模更小,創(chuàng)建速度更快,消耗的資源更少,這是因?yàn)槿萜鞑恍枰獮槊總€(gè)應(yīng)用分配一個(gè)單獨(dú)的操作系統(tǒng),從而減輕了系統(tǒng)負(fù)擔(dān),提高了效率和資源利用率。這也意味著,相對于虛擬機(jī)而言,同樣的操作系統(tǒng)能夠容納與承載更多的容器。對于云提供商而言,容器技術(shù)更符合實(shí)際需求,因?yàn)樵谟布O(shè)備相同的條件下,可以部署數(shù)量更多的容器實(shí)例,這也意味著更高的效率和更大的效益。然而,容器是將應(yīng)用打包并以進(jìn)程的形式運(yùn)行在操作系統(tǒng)上的,因此應(yīng)用之間并不是完全隔離,這是容器虛擬化的一大缺陷。
大多數(shù)虛擬機(jī)在性能與物理機(jī)十分接近,這是因?yàn)樘摂M機(jī)可直接對硬件進(jìn)行操控,其指令可直接在硬件上運(yùn)行,當(dāng)然也有少數(shù)敏感指令會由VMM來處理。從用戶層面上看,通過對物理資源的封裝抽象、實(shí)現(xiàn)負(fù)載管理自動(dòng)化等途徑,虛擬機(jī)可在很大程度上減少對物理資源管理的難度和復(fù)雜性,從而有效提高工作人員的效率:
虛擬化技術(shù)可根據(jù)應(yīng)用的實(shí)際需要,實(shí)現(xiàn)對物理資源和資源池的動(dòng)態(tài)分配與共享,從而提高資源利用率,尤其對于需求量遠(yuǎn)高于實(shí)際擁有量的資源,這種動(dòng)態(tài)分配能最大限度提高有限資源的利用率。
虛擬技術(shù)一方面可通過動(dòng)態(tài)的資源部署和重配置,滿足不斷變化的業(yè)務(wù)需求。另一方面也支持多種操作系統(tǒng)和硬件平臺,并能提供底層物理資源無法提供的與各種接口和協(xié)議的兼容性。
虛擬機(jī)可提供隔離封閉的運(yùn)行空間,從而確保對數(shù)據(jù)和服務(wù)的訪問能以可控和安全的方式進(jìn)行。同時(shí),在虛擬機(jī)的支持下,對物理資源進(jìn)行刪除、更改、升級等操作,并不影響用戶應(yīng)用的正常運(yùn)行。如果物理主機(jī)發(fā)生故障或者因?yàn)槠渌蛲C(jī),虛擬機(jī)可以迅速移植到其它物理主機(jī)上,從而生產(chǎn)或者服務(wù)不會停止;物理主機(jī)故障修復(fù)后,還可以迅速移植回去,從而充分利用硬件資源。
就當(dāng)前來看,隨著硬件輔助虛擬化技術(shù)的日趨成熟以及各個(gè)虛擬化廠商對自身軟件虛擬化產(chǎn)品的持續(xù)優(yōu)化,不同的服務(wù)器虛擬化技術(shù)在性能方面的差異日益減小。虛擬化技術(shù)的持續(xù)擴(kuò)張遇到的障礙將主要集中在虛擬化的性能、虛擬化軟件與存儲等設(shè)備的兼容性、虛擬化環(huán)境的安全以及其他管理方面的問題,未來,虛擬化技術(shù)的發(fā)展熱點(diǎn)將主要集中在安全、存儲、管理。
點(diǎn)
現(xiàn)階段,資源整合主要是通過服務(wù)器虛擬化實(shí)現(xiàn)的,這也是虛擬化技術(shù)得到廣泛應(yīng)用的主要原動(dòng)力,服務(wù)器虛擬化的部署遠(yuǎn)比桌面或者存儲虛擬化等多。但從整體來看,桌面和應(yīng)用虛擬化在虛擬化技術(shù)的下一步發(fā)展中處于優(yōu)先地位,僅次于服務(wù)器虛擬化。未來,桌面平臺虛擬化將得到大量部署。目前,主要的桌面虛擬化連接協(xié)議包括MicroSoft的RDP,VMware的PCOIP,Citrix的ICA等。國內(nèi)比較有影響的是方物軟件的FAP。由于多種連接協(xié)議存在,且沒有統(tǒng)一的標(biāo)準(zhǔn),因此,針對不同的云平臺,終端將需要支持和安裝多種虛擬化客戶端軟件,這將造成終端的復(fù)雜性和資源的浪費(fèi),也給用戶的使用帶來不便,從而制約整個(gè)行業(yè)的發(fā)展。所以,標(biāo)準(zhǔn)化的桌面連接協(xié)議是下一步研究的重點(diǎn),它將解決終端和云平臺之間的兼容性問題,為整個(gè)云應(yīng)用的發(fā)展奠定基礎(chǔ)。
目前,與傳統(tǒng)計(jì)算機(jī)所擁用的豐富的多媒體設(shè)備相比較,由于桌面虛擬化和應(yīng)用虛擬化技術(shù)的相對滯后,其帶給客戶的體驗(yàn)遠(yuǎn)遠(yuǎn)不及前者。這主要是因?yàn)獒槍Ω幻襟w硬件輔助虛擬化技術(shù)還處于起步階段,但隨著虛擬化技術(shù)的不斷成熟和應(yīng)用的進(jìn)一步擴(kuò)展,對富媒體的硬件輔助虛擬技術(shù)將不斷加強(qiáng),從而全方位提升終端用戶體驗(yàn)的質(zhì)量和感觀。尤其是對于數(shù)量眾多的擁有智能手機(jī)的移動(dòng)用戶而言,如果虛擬化技術(shù)能不斷發(fā)展達(dá)到用戶要求而被接受,將極大提升虛擬化技術(shù)的應(yīng)用規(guī)模和水平。