虛擬化是繼互聯網后,又一個對信息產業有著突破性意義的信息技術。隨著各行各業信息化建設工作的相繼展開,各企事業單位機房建設、運行成本等信息化建設支出急劇增長,數據中心壓力以及硬件標準不斷攀升,急需采用先進的科學技術來指導企事業單位的信息化建設工作,虛擬化技術由此應運而生。
“虛”是相對“實”而言的。在IT行業,所謂的“實”,就是指看得見、摸得著的服務器、CPU等硬件產品以及部分可視化軟件等,用“虛”的軟件來代替或者模擬這些實際存在的東西就是虛擬化。
虛擬化的本質就是把軟件變成可以按需遞交的動態服務,從而減輕IT管理的成本,提升IT服務的響應速度。計算機系統的抽象層次通過分層組織,由底層的硬件和高層的軟件實現,虛擬化就是由位于底層的軟件,通過向上一層軟件提供一個與它原來所運行環境完全一致的接口的方法,抽象出一個虛擬的軟件或硬件接口,使高層的軟件可以直接運行在虛擬的環境上。
虛擬化技術是一種將操作系統及其應用從平臺硬件資源中互相分離出來的解決方案。虛擬化技術可以擴大硬件的容量,簡化軟件的重新配置過程,大幅度提高系統中資源和應用程序的效率和可用性。虛擬化技術也被稱為虛擬機監視器(virtualMachineMonitor,vMM),虛擬機監視器可以提供一種完全模擬硬件的應用環境,使客戶操作系統在使用虛擬機時,認為其自身直接運行在硬件之上。虛擬機監視器是一個軟件組件層用來分配資源,從而使多個虛擬機能夠同時利用所有資源。某種程度上說,虛擬機監視器所起的作用就是提供一種抽象,讓多個虛擬實例運行在一個硬件平臺上。虛擬機監視器除了提供虛擬CPU的功能之外,還提供包括內存管理等系統設備的虛擬化功能。

所謂的虛擬環境和真實環境,他們的區別主要體現在底層的不同實現機制。對于應用程序來說,虛擬世界可呈現出完全不同于硬件平臺的環境,讓應用程序產生錯覺。簡單來說就是虛擬化把物理資源轉變為邏輯上可以管理的資源,以打破物理結構之間的壁壘,所有的資源都透明地運行在各種各樣的物理平臺上。同時,資源的管理都將按邏輯方式進行,實現資源的自動化分配。用戶在信息化應用過程中,感覺不到物理設備的差異,這是因為虛擬化技術將此過程完美實現,并使用戶按照自己日常的操作習慣,進行所需信息資源的調用和交互。
當前的虛擬化技術主要有:服務器虛擬化、CPU虛擬化、程序虛擬化、操作系統虛擬化、硬件虛擬化、完全虛擬、超虛擬化、桌面虛擬化、操作系統級的虛擬化等。
早在上世紀60年代,虛擬化技術在美國的計算機學術界開始萌芽。1959年,克里斯托弗發表了一篇名為《大型高速計算機中的時間共享》(Time Sharing in Large Fast Computers)的學術報告,他在文中提出了虛擬化的基本概念,這篇文章被認為是虛擬化技術的最早論述。
最初,虛擬化技術只是應用在大型主機上。大型機上的虛擬分區技術最早可以追溯到上世紀六、七十年代。上世紀60年代,IBM公司發明了一種操作系統虛擬機技術,允許用戶在一臺主機上運行多個操作系統,讓用戶盡可能地充分利用昂貴的大型機資源。之后,IBM公司開發的“M44/44X”計算機項目,定義了虛擬內存管理機制,用戶程序可以運行在虛擬的內存中,對于用戶來說虛擬內存就好像一個個“虛擬機”,為多個用戶的程序提供了獨立的運行環境。
IBM提出的虛擬機技術,使一批新產品不斷涌現了出來,例如:IBM360/40、IBM360/67以及VM/370,這些機器在當時都具有虛擬機功能。通過一種叫VMM(虛擬機監控器)的技術在物理硬件之上生成很多可以運行獨立操作系統軟件的虛擬機實例。
由于虛擬化技術在商業應用上的優勢,RISC服務器與小型機成為了虛擬化技術第二代受益者。1999年,IBM公司在AS/400上提出了“邏輯分區(LPAR)”技術和新的高可用性集群解決方案。2002年,IBM 更進一步,首次實現動態邏輯分區(DLPAR),DLPAR允許在無需重啟系統的情況下,將包括處理器、內存和其它組件在內的系統資源分配給獨立的分區。這種在不中斷運行的情況下進行資源分配的能力不僅令系統管理變得更加輕松,而且能夠更好地使用資源從而幫助降低總擁有成本。
隨后,惠普、Sun公司等也跟隨IBM腳步,在自己的RISC服務器上提供了虛擬化技術,但由于真正使用大型機和小型機的用戶數量有限,加之各家產品和技術之間互不兼容,虛擬化技術不太被公眾所關注。而隨著VMware創造性的將虛擬化引入x86平臺,讓x86芯片可以同時運行不同的幾種操作系統,并且確保性能的穩定性和安全性,虛擬化技術首次向人們展示了其應用的廣闊前景。
此前,虛擬化技術在x86架構上進展緩慢的主要原因是x86架構本身不適合進行虛擬化,不過這個障礙已經由英特爾、AMD改變,x86處理器的指令集得到解決。還有一個原因是x86處理器的性能不足,這一原因也由于x86處理器在性能上的飛速提高得到了解決。x86架構的廣泛普及,使x86架構上的虛擬化技術也得到了比以前更大的關注,由于x86平臺可以提供便宜的、高性能和高可靠的服務器,一些用戶已經開始配置虛擬化的生產環境,利用新的信息技術來獲取更多的收益。
目前的x86平臺上能夠實現在處理器級別的虛擬化,但在I/O以及其他方面的虛擬化還需要進一步的發展。不僅如此,x86架構上的虛擬化技術還無法完美實現虛擬分區之間動態遷移,而這些在UNIX平臺、大型主機上早已不是問題。目前,x86架構上的虛擬化技術的最高規劃是支持8路SMP系統,可以實現對單個CPU資源的配置。
2006年以來,從處理器層面的AMD到Intel再到操作系統層面的微軟的加入,從數量眾多的第三方軟件廠商的涌現到服務器系統廠商的高調加盟,一個趨于完整的虛擬化技術產業生態系統正在逐漸形成。虛擬化開始成為廣受關注的熱點話題之一,隨著計算機新技術的快速發展,虛擬化技術的前景較為樂觀。
提到虛擬化技術,很多人第一反應是主機虛擬化,這個定義太過狹窄。在虛擬化技術發展的幾十年間,虛擬化技術已經從最初的主機虛擬化發展到了今天的服務器虛擬化、網絡虛擬化、存儲虛擬化、桌面虛擬化、內存虛擬化、操作系統虛擬化等多個方面,而每種虛擬化都有其所對應的優勢與技術。
服務器虛擬化又稱主機虛擬化,它將服務器物理資源抽象成邏輯資源,讓一臺服務器變成幾臺甚至上百臺相互隔離的虛擬服務器,不再受限于物理上的界限,讓CPU、內存、磁盤、I/O等硬件變成可以動態管理的“資源池”,從而提高資源的利用率,簡化系統管理,實現服務器整合,讓IT對業務的變化更具適應力。

通過將服務器資源分配到多個虛擬機,同一物理平臺能夠同時運行多個相同或不同類型的操作系統,作為不同業務和應用的支撐平臺。其中,虛擬機并不是真正的機器,但它能夠像真正的機器一樣工作,每個虛擬機如同一臺獨立運行的服務器,有自己的一套虛擬硬件(如 RAM、CPU、網卡等)。在上層的操作系統和軟件看來,它們就是一臺臺相對獨立的服務器,就像在自己的硬件上運行一樣。如此一來,在一臺服務器上運行多個虛擬機不僅能夠提高服務器的效率,減少管理和維護費用,同時,當應用需求增加時,還可以迅速創建更多虛擬機而不增加物理服務器,從而降低硬件成本。
服務器虛擬化的實現通常使用兩類虛擬化技術,一類是硬件輔助虛擬化技術,代表廠商為VMware和微軟;另一類是軟件虛擬化技術,SWsoft 的Virtuozzo 和Sun的Solaris容器(Sun Containers)是其主要代表。
桌面虛擬化,顧名思義就是一種將桌面的軟件進行虛擬化改造的技術。即通過某種技術在中央服務器上虛擬出大量的虛擬桌面,并提供給成千上萬的用戶使用,以達到桌面使用的安全性和靈活性,使得用戶可以通過任何設備,在任何地點,任何時間訪問網絡上屬于個人的桌面系統。
一種方式是通過遠程登錄使用服務器上的桌面。典型的有Windows下的Remote Desktop以及VNC(Virtual Network Computing)等,他們的特點是所有的軟件都在服務器端執行,客戶端只需運行一個遠程的登錄界面,登錄到服務器就能夠看到桌面,并打開遠程的程序。還有一種方式是通過網絡服務器的方式,運行改寫過的桌面。典型的有Google的Office軟件,它通過對原來的桌面軟件進行重寫,從而能夠在瀏覽器里運行完整的桌面或者程序。再有就是通過應用層虛擬化的方式提供桌面虛擬化。這種方式是通過軟件打包,將軟件在需要的時間推送到用戶的桌面,在不需要的時候收回,可以減少軟件許可的使用。
簡單來說,桌面虛擬化可以支持企業或者政府機構實現桌面系統的遠程動態訪問與數據中心統一托管的技術。例如企業高層領導在外出過程中需要做出重要決策,就可以利用桌面虛擬化技術,通過任何設備、在任何地點,任何時間訪問在網絡上自己的郵件系統或者網盤。
網絡虛擬化技術是目前業界關于虛擬化細分領域界定不明確,存在爭議較多的一個概念。網絡虛擬化指虛擬專用網絡 (VPN)。VPN 對網絡連接的概念進行了抽象,允許遠程用戶訪問組織的內部網絡,就像物理上連接到該網絡一樣。網絡虛擬化可以幫助保護IT環境,防止來自網絡的威脅,同時使用戶能夠快速安全的訪問應用程序和數據。

基于網絡的虛擬化產品還處在初級發展階段,網絡虛擬化技術分布在企業網絡應用的各個層面與各個方面,不管是用戶還是企業網絡管理者都離不開網絡虛擬化,利用這一技術可以對數據進行高度加密,達到安全使用互聯網的目的。
存儲虛擬化是將實際的物理存儲實體與存儲的邏輯表示分離開,通過將一個或多個目標服務或功能與其它附加的功能集成,統一提供有用的全面功能服務。
從專業的角度來看,虛擬存儲是介于物理存儲設備和用戶之間的一個中間層。從用戶的角度來看,用戶所看到的是存儲空間不是具體的物理存儲設備,用戶所管理的存儲空間也不是具體的物理存儲設備。用戶可隨意使用存儲空間而不用關注物理存儲硬件,即不必關心底層物理設備的容量、類型和特性等,而只需要把注意力集中在其存儲容量及安全模式的需求上。虛擬存儲技術的使用有助于更充分地發揮現有存儲硬件的能力和提高存儲效率,增強安全性。
虛擬化技術正變得愈加趨于完整而有活力,它的發展方向更像是一個全面的操作系統,未來的虛擬化也將為信息技術產業發展帶來新的機遇。