任延吾
摘 要 計算機虛擬化作為一種可以對物理資源實現(xiàn)優(yōu)化分配的技術(shù),因具有能有效節(jié)約成本、提高工作效率和增強系統(tǒng)安全性的特點而受到人們的青睞。其中虛擬機技術(shù)和操作系統(tǒng)虛擬化技術(shù)往往被認為是指同一種技術(shù),而實際上兩種技術(shù)并不能混為一談。本文從兩種虛擬化技術(shù)的起源開始,深入分析它們的工作原理和特點。
【關(guān)鍵詞】計算機 操作系統(tǒng)虛擬化 虛擬機 技術(shù)分析
1 虛擬機技術(shù)分析
1.1 虛擬機技術(shù)的起源
當(dāng)今時代是智能化、數(shù)字化時代,虛擬化技術(shù)得到迅猛發(fā)展、推廣,特別是在x86服務(wù)器上的應(yīng)用引發(fā)了該技術(shù)的熱潮,但是僅限于在大型主機上使用。從根源而言,可追溯至上世紀(jì)60-70年代,IBM公司研發(fā)了一種操作系統(tǒng)虛擬分區(qū)技術(shù),允許用戶在特定的主機上進行多系統(tǒng)操作,以便實現(xiàn)大型機資源的充分利用,同時也能降低使用成本。隨后與虛擬機技術(shù)相關(guān)的新產(chǎn)品(例如IBM360/40,VM/370等)不斷涌現(xiàn),均具有虛擬機功能,可通過使用虛擬機監(jiān)控器技術(shù)生成多種可獨立運行的系統(tǒng)操作軟件,實現(xiàn)虛擬功能的延伸使用。
1.2 虛擬機技術(shù)的發(fā)展
新世紀(jì)以來,IBM公司對虛擬機技術(shù)的研究步入了更深的層次,在不斷的實踐中,AIX5L v5.2問世,首先包括了IBM實現(xiàn)的動態(tài)邏輯分區(qū)。在動態(tài)邏輯分區(qū)中,能夠允許機器在無需重啟系統(tǒng)的情況下實現(xiàn)處理器、內(nèi)存等各種組件在內(nèi)的系統(tǒng)資源實時同步分配,在一定程度上提高了智能化,降低了系統(tǒng)管理難度,同時也因為資源使用效率不斷提高而促使管理成本下降。然而這種虛擬化技術(shù)只能應(yīng)用在大型機和小型機中,但是由于大型機和小型機普及程度較低,再加之不同型號產(chǎn)品與技術(shù)之間存在明顯的兼容問題,導(dǎo)致該技術(shù)仍然得不到大眾關(guān)注重視?,F(xiàn)如今,虛擬化技術(shù)在x86服務(wù)器架構(gòu)中得到推廣應(yīng)用,可以為技術(shù)的普及提供更為便宜、高性能以及穩(wěn)定性高的服務(wù)器,首次向人們展示了該技術(shù)的廣闊前景。此外一些用戶已經(jīng)將該技術(shù)投入使用于生產(chǎn)領(lǐng)域,通過虛擬化技術(shù)配置虛擬化的生產(chǎn)環(huán)境,這個過程中需要進行管理工具更新,因此為虛擬化技術(shù)的發(fā)展改進提供了必要的外部環(huán)境。
1.3 虛擬機技術(shù)的概念
虛擬機技術(shù)是虛擬化技術(shù)的一種,所謂虛擬化技術(shù)就是將事物從一種形式轉(zhuǎn)變成另一種形式,具體而言即是在一個宿主計算機體系結(jié)構(gòu)上進行客戶機各種操作系統(tǒng)模擬運行,對宿主計算機、客戶機體系結(jié)構(gòu)無明確要求,例如可以在一個x86計算機上運行基于ARM體系結(jié)構(gòu)的不需要做任何修改的系統(tǒng)。從這個角度來為虛擬機下定義,可知虛擬機主要是指虛擬技術(shù)運行的媒介,即通過軟件模擬的具有完整硬件系統(tǒng)功能的、在一個完全隔離環(huán)境中運行的一個完整的計算機系統(tǒng)。
1.4 虛擬機技術(shù)的原理
虛擬化技術(shù)可應(yīng)用的領(lǐng)域十分廣泛,但是在不同的領(lǐng)域中應(yīng)用原理存在著明顯差異。具體而言,虛擬化技術(shù)主要是通過拆分、整合、遷移這三項內(nèi)容得以實現(xiàn)。虛擬機技術(shù)的應(yīng)用多采用拆分原理,當(dāng)某臺計算機性能較高但是工作負荷與其不相匹配時,容易造成資源的浪費,使用拆分虛擬技術(shù)即可將該計算機拆分為邏輯上的多臺,實現(xiàn)了多名用戶共同使用,在此情況下該計算機硬件資源利用程度將會明顯提高。如圖1所示。
1.5 虛擬機技術(shù)分類
1.5.1 虛擬硬件模式
該技術(shù)模式最為傳統(tǒng)、常見,具有明顯的特征:不同類型、型號的產(chǎn)品只要使用虛擬硬件模式,都能采用系統(tǒng)處理器獲取執(zhí)行CPU命令,無需涉及虛擬層;其次該技術(shù)能夠真正將分區(qū)隔離落到實處(包括磁盤I/O、網(wǎng)絡(luò)帶寬),保證各部分系統(tǒng)資源能夠各自運轉(zhuǎn),不互相干擾,保證了系統(tǒng)運行的整體性、安全性;再者如果使用高端的虛擬服務(wù)器產(chǎn)品無需使用宿主計算機操作系統(tǒng),用戶可直接在硬件上進行虛擬機,方便可行;另外通過管理軟件,可減少對系統(tǒng)資源的管理成本,對于虛擬機小號的物理資源也能實現(xiàn)精確控制。
1.5.2 虛擬操作系統(tǒng)模式
虛擬操作系統(tǒng)模式即是在主機操作系統(tǒng)(利用虛擬機運行)創(chuàng)設(shè)了虛擬層,在這個層面中可根據(jù)自身的需要創(chuàng)建多個差異化的虛擬專用服務(wù)器(VPS),能夠促使硬件、軟件以及管理資源最大程度得以享用。另外該模式能夠適應(yīng)多種產(chǎn)品的使用需求,不同服務(wù)期之間均實現(xiàn)了安全隔離,相互不受干擾,可實現(xiàn)計算機資源的靈活控制、硬件抽象操作、強化管理功能等。
1.5.3 Xen
Xen是一種虛擬硬件虛擬機,相對其它技術(shù)模式而言,該技術(shù)模式特殊性強,是當(dāng)前最受關(guān)注的虛擬化技術(shù),能夠?qū)崿F(xiàn)系統(tǒng)管理程序的調(diào)整,可根據(jù)實際操控的需要選擇性進行修改,且不會干擾系統(tǒng)中運行的應(yīng)用程序。另外Xen具有虛擬硬件虛擬機的多數(shù)特性,但是也有明顯的差異,即使用過程中需要修改操作系統(tǒng)內(nèi)核。
1.6 虛擬機技術(shù)特點
虛擬機技術(shù)是將一個物理計算機劃分為一個或多個完全孤立的虛擬機技術(shù),這些虛擬機并非運行在物理硬件之上,而是運行在通過虛擬化軟件來生成一個虛擬的物理硬件層之上。實際上對于操作系統(tǒng)來說就是運行在其之上的應(yīng)用程序。但是虛擬機使用中會共享計算機的物理硬件,且具有明顯的優(yōu)勢:資源共享和隔離。在虛擬機的狀態(tài)下,各種資源可以根據(jù)需要分配,甚至可以不用重啟虛擬機即可分配硬件資源;虛擬機環(huán)境能夠?qū)崿F(xiàn)隔離,即能夠根據(jù)自身使用的需求在物理計算機上運行幾個不同的操作系統(tǒng),它們之間獨立運行,但各自互不干擾??梢允峭环N操作系統(tǒng),也可以是不同的操作系統(tǒng)。這也是虛擬機技術(shù)和操作系統(tǒng)虛擬化技術(shù)的最大區(qū)別。
2 操作系統(tǒng)虛擬化技術(shù)分析
2.1 操作系統(tǒng)虛擬化技術(shù)的定義
操作系統(tǒng)虛擬化是虛擬化技術(shù)的第三種實現(xiàn)方式,SWsoft的Virutozzo和Sun的Solaris Container是這種技術(shù)的兩種實現(xiàn)。例如VMware就是虛擬PC的一個代表企業(yè),其產(chǎn)品能夠使用戶在一臺機器上同時運行2個或更多Windows、DOS、LINUX系統(tǒng),與“多啟動”系統(tǒng)相比,VMWare采用了完全不同的概念,每個操作系統(tǒng)都可進行虛擬分區(qū)、配置且能夠不影響真實硬盤的數(shù)據(jù),用戶甚至可以通過網(wǎng)卡將幾臺虛擬機連接為一個局域網(wǎng),極其方便。從上述分析可知,操作系統(tǒng)虛擬化技術(shù)即是指基于共享的操作系統(tǒng),能夠允許多種不同的應(yīng)用系統(tǒng)在一份操作系統(tǒng)拷貝的控制下實現(xiàn)獨立運行。該技術(shù)達到的效果與虛擬機技術(shù)類似,通過分區(qū)實現(xiàn)不同資源的合理利用,當(dāng)前在服務(wù)器整合、測試研發(fā)等場景中得到推廣,實現(xiàn)了操作系統(tǒng)資源訪問虛擬化。
2.2 操作系統(tǒng)虛擬化技術(shù)的原理
操作系統(tǒng)虛擬化技術(shù)也屬于虛擬化技術(shù),因此其原理也是屬于三大原理——拆分、整合、遷移之中。操作系統(tǒng)虛擬化技術(shù)與虛擬機操作系統(tǒng)類似,同樣是使用了拆分原理,但由于操作系統(tǒng)虛擬化技術(shù)的應(yīng)用范圍是在服務(wù)器上,是為云服務(wù)的。因此其同樣也使用了遷移的原理:即將某臺服務(wù)器中閑置的資源動態(tài)添加至另一臺服務(wù)器中,便于另一方服務(wù)器性能的提高,或通過網(wǎng)絡(luò)連接實現(xiàn)資源的遠程共享。例如Windows下的共享目錄,Linux下的NFS等,還包括遠程桌面等。實現(xiàn)操作系統(tǒng)虛擬化的方法就是在操作系統(tǒng)層面增添虛擬服務(wù)器功能。針對操作系統(tǒng)層而言,其并沒有相對獨立的hypervisor層,主要負責(zé)多種虛擬服務(wù)器硬件資源的合理分配,同時能夠保證不同服務(wù)器之間彼此相互獨立。但明顯存在差異的是,如果使用操作系統(tǒng)虛擬化技術(shù)需要所有正在運行的服務(wù)器必須采用同一操作系統(tǒng)。
2.3 操作系統(tǒng)虛擬化技術(shù)的特點
與虛擬機技術(shù)明顯存在差異,即主要是指在宿主操作系統(tǒng)內(nèi)核實例的基礎(chǔ)上實現(xiàn)虛擬化。虛擬機技術(shù)可實現(xiàn)多種操作系統(tǒng)(例如hypervisor、VMM等)并行虛擬化,但是需要在虛擬的硬件層中根據(jù)需要安裝Guest操作系統(tǒng),然后應(yīng)用程序才能得以運行。另外研究也可發(fā)現(xiàn),兩種虛擬化技術(shù)操作系統(tǒng)實例數(shù)量明顯存在差異,以致造成了操作系統(tǒng)虛擬化技術(shù)存在明顯的優(yōu)劣勢,使用中只能實現(xiàn)同一種操作系統(tǒng)的劃分、衍生,與異種操作系統(tǒng)無法并行于一個服務(wù)器;另外虛擬環(huán)境與安全操作系統(tǒng)無法完全等同,造成了某些需要直接訪問硬件層的應(yīng)用系統(tǒng)無法在該種虛擬化技術(shù)中得到運行。
2.4 操作系統(tǒng)虛擬化的優(yōu)劣
由于只有一個操作系統(tǒng)內(nèi)核,且無需通過虛擬機和Guest操作系統(tǒng)實現(xiàn)虛擬操作,可有效減少管理資源消耗,因此操作系統(tǒng)虛擬化技術(shù)運行效率、運行性能、理論最大密度優(yōu)勢明顯更為優(yōu)化,在減少操作系統(tǒng)實例數(shù)量的同時也能保證在安裝部署、效率管理、數(shù)據(jù)備份遷移等方面的優(yōu)勢。
但是操作系統(tǒng)虛擬化技術(shù)也存在一定的不足,在當(dāng)前虛擬化技術(shù)應(yīng)用中要想全面取代虛擬機技術(shù)仍然存在難度。例如在用戶需要在一個相對完整的虛擬環(huán)境中進行研發(fā)或者整合多種不同操作系統(tǒng)時,操作系統(tǒng)虛擬化技術(shù)是不符合要求的。另外虛擬機技術(shù)雖然運行效率、運行性能等方面不強,但是在靈活性方面,操作系統(tǒng)虛擬化技術(shù)卻無法與其媲美。再者當(dāng)前企業(yè)在引入虛擬化技術(shù)的過程時,均需要進行全方位、多角度的測試,著重于為企業(yè)內(nèi)部多種應(yīng)用找到最為合適的虛擬化部署方案,由于兩種技術(shù)更有其優(yōu)勢,從這個角度而言,兩種虛擬化技術(shù)的并存存在必然性。在此種技術(shù)應(yīng)用的環(huán)境下,為了滿足未來物理+虛擬機+操作系統(tǒng)虛擬化的實際IT基礎(chǔ)設(shè)施應(yīng)用需求,管理工具更新和改變勢在必行。
雖然操作系統(tǒng)層虛擬化的靈活性比較差,但本機速度性能比較高。此外,操作系統(tǒng)虛擬化技術(shù)具備虛擬機技術(shù)所不具備的特點就是其強大的遷移性,這種遷移性在云服務(wù)器上使用十分廣泛。這種技術(shù)可以讓操作系統(tǒng)在不同的服務(wù)器之間任意遷移,因為其服務(wù)器架構(gòu)相同,操作系統(tǒng)也相同,遷移到其他服務(wù)器時不會出現(xiàn)問題。由于操作中所有服務(wù)器上操作系統(tǒng)單一、標(biāo)準(zhǔn),管理難度以及耗費的成本相對較低。
3 虛擬化的實施步驟
虛擬化技術(shù)在數(shù)據(jù)中心管理中具有明顯的特征優(yōu)勢:
(1)能夠最大程度提高了資源的利用效率,降低了不同操作系統(tǒng)的運行成本;
(2)整合資源、安排部署、業(yè)務(wù)管理方便快捷。
正因如此,如何實現(xiàn)虛擬化技術(shù)在數(shù)據(jù)中心管理中的推廣應(yīng)用以及改良實施過程中的關(guān)鍵環(huán)節(jié)成為技術(shù)人員共同關(guān)注的重點問題。簡單而言,虛擬化技術(shù)實施主要從3個方面來進行:
3.1 創(chuàng)建階段
由服務(wù)提供商、集成商合作完成該階段,包括創(chuàng)建、發(fā)布、管理虛擬器件鏡像以及遷移到虛擬化環(huán)境幾個部分的內(nèi)容。
3.2 部署階段
提供商、集成商完成技術(shù)創(chuàng)建工作后,需要采用劃部署環(huán)境、部署以及激活虛擬器件等步驟將技術(shù)引用部署至數(shù)據(jù)中心,方便于用戶獲取信息以及使用。
3.3 管理階段
數(shù)據(jù)中心管理過程中需要資源合理調(diào)度、業(yè)務(wù)相關(guān)的智能操作系統(tǒng),不均要實現(xiàn)獨立業(yè)務(wù)之間的自動化管理,也需要一個把控全局的協(xié)調(diào)中心節(jié)點實現(xiàn)數(shù)據(jù)中心業(yè)務(wù)、資源的監(jiān)控、管理。該階段關(guān)鍵工作在于為數(shù)據(jù)中心管理和監(jiān)控創(chuàng)設(shè)便利條件,最為常見的手段為集中監(jiān)控、快捷管理、動態(tài)優(yōu)化和高效備份。
4 小結(jié)
無論是操作系統(tǒng)虛擬化技術(shù)還是虛擬機技術(shù),均具有虛擬化技術(shù)的共性,都需要在一臺計算機上創(chuàng)建并運行操作系統(tǒng)。但是虛擬機可以創(chuàng)建不同操作系統(tǒng),操作系統(tǒng)虛擬化只能夠創(chuàng)建同一種操作系統(tǒng)。在實現(xiàn)方式上虛擬機是通過創(chuàng)建多個虛擬的硬件層,再在上安裝多個Guest操作系統(tǒng),然后實現(xiàn)應(yīng)用程序再運行。然而操作系統(tǒng)虛擬化是在單一操作系統(tǒng)內(nèi)核實例的基礎(chǔ)上實現(xiàn)虛擬化,是沒有虛擬機和Guess操作系統(tǒng)的。在運行效率上操作系統(tǒng)虛擬化技術(shù)是要強于虛擬機技術(shù)的,在遷移和管理上也要比虛擬機簡單,但是虛擬機在靈活性上要更好一些。兩種技術(shù)各有優(yōu)劣,都是重要的計算機虛擬技術(shù)。
參考文獻
[1]嚴(yán)紀(jì)珊.淺談虛擬化技術(shù)及服務(wù)器虛擬化[J].科技致富向?qū)В?013(26):163-163.
[2]馬秀芳,李紅巖.計算機虛擬化技術(shù)淺析[J].電腦知識與技術(shù),2010,06(33):9408-9409.