任延吾

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