① 常見的虛擬化技術
虛擬化技術和分區(Partition)技術是緊密結合在一起,從60年代Unix誕生起,虛擬化技術和分區技術就開始了發展,並且經歷了從「硬體分區」->「虛擬機」->「准虛擬機」->「虛擬操作系統」的發展歷程。最早的分區技術誕生自人們想提升大型主機利用率需求。比如在金融、科學等領域,大型Unix伺服器通 常價值數千萬乃至上億元,但是實際使用中多個部門卻不能很好的共享其計算能力,常導致需要計算的部門無法獲得計算能力,而不需要大量計算能力的部門佔有了 過多的資源。這個時候分區技術出現了,它可以將一台大型伺服器分割成若干分區,分別提供給生產部門、測試部門、研發部門以及其他部門。
幾種常見的虛擬化技術代表產品如下:
類型
代表產品
硬體分區
IBM/HP等大型機硬體分區技術
虛擬機 (Virtual Machine Monitor)
EMC VMware Mircosoft Virtual PC/Server Parallels
准虛擬機 (Para-Virtualization)
Xen Project
虛擬操作系統 (OS Virtualization)
SWsoft Virtuozzo/OpenVZ Project Sun Solaris Container
HP vSE FreeBSD Jail
Linux Vserver
硬體分區技術
硬體資源被劃分成數個分區,每個分區享有獨立的CPU、內存,並安裝獨立的操作系統。在一台伺服器上,存在有多個系統實例,同時啟動了多個操作系統。這種分區方法的主要缺點是缺乏很好的靈活性,不能對資源做出有效調配。隨著技術的進步,現在對於資源劃分的顆粒已經遠遠提升,例如在IBM AIX系統上,對CPU資源的劃分顆粒可以達到0.1個CPU。這種分區方式,在目前的金融領域,比如在銀行信息中心得到了廣泛採用。
虛擬機技術
在虛擬機技術(Virtual Machine Monitor)中,不再對底層的硬體資源進行劃分,而是部署一個統一的Host系統。在Host系統上,加裝了Virtual Machine Monitor,虛擬層作為應用級別的軟體而存在,不涉及操作系統內核。虛擬層會給每個虛擬機模擬一套獨立的硬體設備,包含CPU、內存、主板、顯卡、網卡等硬體資源,在其上安裝所謂的Guest操作系統。最終用戶的應用程序,運行在Guest操作系統中。
這種虛擬機運行的方式有一定的優點,比如能在一個節點上安裝多個不同類型的操作系統;但缺點也非常明顯,虛擬硬體設備要消耗資源,大量代碼需要被翻譯執 行,造成了性能的損耗,使其更合適用於實驗室等特殊環境。其代表產品有EMC旗下的VMware系列、微軟旗下的Virtual PC/Server系列等。
准虛擬機技術
為了改善虛擬機技術(Virtual Machine Monitor)的性能,一種新的准虛擬化技術(Para-Virtualizion)技術誕生了。這種虛擬技術以Xen為代表,其特點是修改操作系統的 內核,加入一個Xen Hypervisor層。它允許安裝在同一硬體設備上的多個系統可以同時啟動,由Xen Hypervisor來進行資源調配。
在這種虛擬環境下,依然需要模擬硬體設備,安裝Guest操作系統,並且還需要修改操作系統的內核。Xen相對於傳統的Virtual Machine Monitor,性能稍有提高,但並不十分顯著。為了進一步提高性能,Intel和AMD分別開發了VT和Pacifica虛擬技術,將虛擬指令加入到了 CPU中。使用了CPU支持的硬體虛擬技術,將不再需要修改操作系統內核,而是由CPU指令集進行相應的轉換操作。
操作系統虛擬化技術
最新的虛擬化技術已經發展到了操作系統虛擬化,以SWsoft的Virtuozzo/OpenVZ和Sun基 於Solaris平台的Container技術為代表,其中Virtuozzo是商業解決方案,而OpenVZ是以Virtuozzo為基礎的開源項目。 他們的特點是一個單一的節點運行著唯一的操作系統實例。通過在這個系統上加裝虛擬化平台,可以將系統劃分成多個獨立隔離的容器,每個容器是一個虛擬的操作 系統,被稱為虛擬環境(即VE,Virtual Environment),也被稱為虛擬專用伺服器(即VPS,Virtual Private Server)。
在操作系統虛擬化技術中,每個節點上只有唯一的系統內核,不虛擬任何硬體設備。此外,多個虛擬環境以模板的方式共享一個文件系統,性能得以大幅度提升。在生產環境中,一台伺服器可根據環境需要,運行一個VE/VPS,或者運行上百個VE/VPS。所以,操作系統虛擬化技術是面向生產環境、商業運行環境的技術。
表:常見虛擬化技術對比
從最早的硬體分區到現階段的虛擬機和虛擬操作系統,虛擬化技術已經發展了好幾代,不同的技術路線也帶來了不同的優劣勢。選擇什麼樣的技術和產品,用戶還是應該結合自身的預算和應用實踐來決策。(本文作者系SWsoft中國首席工程師)
② 鉶氭嫙鍖栨妧鏈鍖呮嫭鍝浜
鉶氭嫙鍖栨妧鏈鍖呮嫭鍝浜涘備笅錛
鉶氭嫙鍖栨妧鏈鏄鎸囧皢璁$畻鏈鴻祫婧愶紙濡侰PU銆佸唴瀛樸佸瓨鍌ㄣ佺綉緇滐級榪涜屾娊璞″拰闆嗕腑綆$悊鐨勪竴縐嶆妧鏈錛屽彲浠ユ湁鏁堝湴鎻愰珮紜浠剁殑鍒╃敤鐜囥佺伒媧繪у拰鍙鎵╁睍鎬с傝櫄鎷熷寲鎶鏈鍖呮嫭浠ヤ笅鍑犵嶏細
1.鏈嶅姟鍣ㄨ櫄鎷熷寲錛氭湇鍔″櫒鉶氭嫙鍖栨槸鎸囧皢涓鍙扮墿鐞嗘湇鍔″櫒鍒嗗壊鎴愬氫釜鉶氭嫙鏈嶅姟鍣錛屾瘡涓鉶氭嫙鏈嶅姟鍣ㄩ兘鍙浠ヨ繍琛屼竴涓鎴栧氫釜鐙絝嬬殑鎿嶄綔緋葷粺鍜屽簲鐢ㄧ▼搴忋傛湇鍔″櫒鉶氭嫙鍖栧彲浠ユ彁楂樻湇鍔″櫒鐨勫埄鐢ㄧ巼銆侀檷浣庢垚鏈銆佹彁楂樺彲闈犳у拰鐏墊椿鎬с
浠ヤ笂鍏縐嶈櫄鎷熷寲鎶鏈錛屾瘡涓縐嶆妧鏈閮芥湁鑷宸辯殑鐗圭偣鍜屼紭鍔匡紝鍦ㄥ疄闄呭簲鐢ㄤ腑闇瑕佹牴鎹鍏蜂綋鐨勪笟鍔¢渶奼傚拰鎶鏈鐜澧冮夋嫨閫傚綋鐨勮櫄鎷熷寲鎶鏈榪涜屽疄鏂姐傚悓鏃訛紝鉶氭嫙鍖栨妧鏈涔熷瓨鍦ㄧ潃涓浜涙寫鎴樺拰闄愬埗錛屽傛ц兘銆佸彲闈犳с佸畨鍏ㄦх瓑鏂歸潰鐨勯棶棰橈紝闇瑕佽繘琛屾湁鏁堢殑綆$悊鍜岀洃鎺с
③ 虛擬化技術包括哪些
1.平台虛擬化(Platform Virtualization),它是針對計算機和操作系統的虛擬化,又分成伺服器虛擬化和桌面虛擬化。伺服器虛擬化是一種通過區分資源的優先次序...
2.資源虛擬化(Resource Virtualization),針對特定的計算資源進行的...
3.應用程序虛擬化(Application Virtualization),它包括模擬、模擬...
4.表示層虛擬化。在應用上與應用程序虛擬化類似,所不同的是表示層虛擬化中的應用程序運行在服務...