Virtualization
能大幅提高企業IT架構的整合度,提供即時動態調節能力

這個詞彙涵蓋的範圍相當廣泛,最精簡,也是最全面的說法是:將實體電腦的運算資源「抽象化」或「邏輯化」就是虛擬化,換句話說,就是單一的實體(physical)運算資源,包含伺服器、作業系統、應用程式、儲存裝置/容量等,設法同時呈現出多個邏輯(logical)狀態;相反地,將多個實體資源,整合為單一邏輯狀態也算是虛擬化。

虛擬化其實一點都不難理解,這種做法最關鍵的概念就是模擬(Emulation或simulation)。隨著軟、硬體多工處理能力的不斷增強,只要運算資源夠充裕,在一臺電腦模擬出其他臺電腦,並且同時穩定地執行,並非難事。比如在個人電腦上模擬大型電玩機臺或特定家用遊樂器的遊戲軟體。

近年來,虛擬化之所以盛行,主要還是和x86平臺的運算效能過剩,以及市面上開始出現能運作在x86平臺的虛擬環境有關。而且2006年VMware和微軟都分別提供可免費下載使用的Virtual Server環境。
此外,2003年由XenSource所開發的開放原始碼虛擬環境Xen,也將虛擬化的風潮推向新的巔峰,這套技術透過不同於上述兩家廠商的方式,被模擬的電腦系統可以更直接地利用實體電腦的資源,從而提升效能,而非經由模擬過的虛擬硬體。文⊙李宗翰

Full Virtualization
全虛擬化

完全模擬電腦底層硬體裝置,使得所有能在一般硬體規格電腦中執行的軟體,不經修改,就能在虛擬機器上執行。

因為模擬硬體的程度很高,作業系統無須修改,但模擬的軟體必須安裝在一套既有的主機作業系統上,因為虛擬層需依賴主機作業系統取得周邊裝置的支援和實體的資源管理。

目前全虛擬化的產品包括VMware Workstation、Server、 Virtual PC、Virtual Iron等。

Paravirtualization
半虛擬化

半虛擬化是一種更接近裸機(Bare Metal)的模擬方式,系統更簡潔。單靠虛擬化軟體本身,就可以提供底層硬體的周邊裝置和核心驅動程式支援,不需要預裝作業系統。

它不需要模擬硬體,而是使用一套特定的API,透過Hypervisor呼叫作業系統,但作業系統需經過修改。採用這類技術的產品包括VMware ESX Server、Xen,能讓虛擬機器獲得更多的系統資源。

Hypervisor
虛擬機器監視器

作業系統呼叫硬體的控制程式稱為Supervisor call,而虛擬機器作業系統呼叫控制程式時,稱為Hypervisor call或Hypercall。它又稱為Virtual Machine Monitor(VMM)。

VMM分成兩類,一種稱為主機式(hosted),等於前述的全虛擬化,另一種則是裸機式(bare-metal),也就是半虛擬化。發展至今,虛擬化平臺除了大型主機、伺服器、個人電腦,現在嵌入式系統也包含在內。

Kernel-based Virtual Machine,KVM
以核心層級執行的虛擬機器

KVM有別於VMM,是一種以Linux核心為主的x86虛擬化架構,從作業系統的核心,直接使用Intel VT或AMD-V等兩種處理器的虛擬化技術。

它可做到全虛擬化,至於半虛擬化的支援較有限,在虛擬機器中安裝Linux和Windows時,需搭配半虛擬的網路驅動程式、虛擬記憶體管理程式與處理器最佳化程式。目前以可執行的核心模組呈現,已包含在2.6.20版的Linux核心。

Application Virtualization
應用系統虛擬化

軟體直接執行在「系統」中。以這樣的方式所模擬執行的應用程式,所需的單機系統資源更小,只需包含執行時需要參照的登錄機碼、環境變數、使用者介面元件、全域物件等檔案;在應用系統與作業系統之間插入一個虛擬層後,程式均在虛擬層上執行,用以消除應用程式之間,以及應用程式與作業系統之間的衝突。舉例來說,像是Sun的JVM、微軟.NET的CLR、被微軟併購的Softricity、被賽門鐵克併購的Altiris等。

Presentation Virtualization
展示層的虛擬化

Citrix將同類產品歸類為應用系統虛擬化,但微軟將Terminal Services獨立出來,額外定義了虛擬化類型,不過。這類應用主要透過集中式的系統,所有程序、資料都由主機予以處理、儲存,個人端和主機系統之間的鍵盤與滑鼠輸入、視訊畫面的更新,全都不再從個人端電腦中發出,而是利用網路傳遞至伺服器端,統一處理互動,所有的操作均可做到彼此隔離、獨立運作。在這架構下,企業的資料可集中保管。

Network Virtualization
網路虛擬化

將多個網路軟硬體資源與功能結合到單一的管理主控臺,方便整體監控與管理,所有伺服器與網路服務集中後,可即時重新分配與部署,以因應變更與交易需求。

網路虛擬化目前被認為有外部和內部兩大類,前者是指利用VLAN和交換器,設法結合多個網路,形成虛擬的單位,後者則提供類似網路的功能給單一系統上的軟體容器,例如虛擬化系統中的虛擬網路介面卡。

Storage Virtualization
儲存虛擬化

這類虛擬化能為多個實體的儲存設備,提供一套邏輯的、抽象的檢視方式,它可以讓多個使用者與應用程式存取,卻不需要注意這些設備的實際位置和管理方式。這種做法使得實體的儲存設備能同時受多個應用伺服器所共用,而且透過虛擬層形成一個大型的儲存池後,就沒有實體的邊界問題,一樣可以檢視與管理。伺服器上的磁碟將隱藏起來,未經授權即無法存取,並且取得變更的彈性,以應付後續增加的磁碟。

Virtual Hard Disk
虛擬硬碟

將整臺電腦環境封裝在單一檔案,格式中描述虛擬機器的環境和儲存方式。隨著x86虛擬化日漸普及,這些格式開始被當作磁碟映像檔使用,可做到實體電腦轉換成虛擬機器的功能。

在Windows Vista內,將整臺磁碟的方式建立磁碟映像的功能,正是採用微軟VHD的格式。Symantec的Ghost目前也同時支援VHD和VMware的VMDK,而Acronis的True Image Echo則可同時支援微軟、VMware等四種格式。

專欄作者

熱門新聞

Advertisement