網頁

搜尋此網誌

2013年4月5日 星期五

Virtualization 虛擬化技術

這篇文章將簡述虛擬化技術(virtualization),主要目的是將一些觀念說明清楚,因為現在大家對於虛擬化好像都只知道CPU的虛擬化,其實虛擬化的範圍很廣,有必要讓大家都知道。主要參考資料是『雲端策略』這本書,由陳瀅 等著,天下文化所出版。

虛擬化概念是在1950年代首次提出,到1960年代才在IBM大型主機上實現商用。電腦系統之所以可以虛擬化,原因在於電腦系統分為若干層次,在這些不同層次之間建構虛擬化層,對使用者提供與真實系統相同或類似的功能,使得上層系統可以運行在該中間層(虛擬化層)之上。由於中間層解除上下兩層間原本存在的耦合關係,使上層的運行不依賴下層的具體實作方式。

虛擬化的對象主要是各式各樣的電腦資源,經過虛擬化後的邏輯資源對使用者隱藏了不必要的細節,使用者可以在虛擬環境中實現其在真實環境中的部分或者全部功能。以電腦資源區分虛擬化技術有:
  • 硬體資源
    • CPU虛擬化
      • 軟體:全虛擬化(Full Virtualization)、半虛擬化(Para-Virtualization)
      • 硬體(硬體輔助虛擬化,hardware assisted virtualization ):Intel®VTAMD-V™
    • 記憶體虛擬化(虛擬記憶體)
      • 影子分頁表法
      • 分頁表寫入法
    • I/O虛擬化
    • 伺服器虛擬化:CPU虛擬化+記憶體虛擬化+I/O虛擬化
      • 原生虛擬化:虛擬化平台(hypervisor)
      • 寄宿虛擬化:虛擬機監視器(Virtual Machine Monitor, VMM)
    • 儲存虛擬化
      • 基於儲存設備虛擬化:磁碟陣列(Redundant Array of Inexpensive Disks, RAID)
      • 基於網路虛擬化:網路附加儲存(Network Attached Storage, NAS)與儲存區域網(Storage Area Network, SAN)
    • 網路虛擬化
      • 區域網路虛擬化:虛擬區域網路(Virtual LAN, VLAN)
      • 廣域網路虛擬化:虛擬私有網路(Virtual Private Network, VPN)
  • 軟體資源
    • 作業系統虛擬化
    • 檔案系統虛擬化
    • 桌面虛擬化(Desktop Virtualization)
    • 應用程式虛擬化(Application Virtualization)
    • 高階語言虛擬化
可以看到在CPU虛擬化的部份,一般大家說的全虛擬化、半虛擬化是指用軟體去模擬CPU,顯然這種方式一定比硬體輔助虛擬化的方式效率要差,目前幾乎都是使用硬體輔助虛擬化。注意到,除了CPU虛擬化之外,其實還有記憶體虛擬化、I/O虛擬化、儲存虛擬化、網路虛擬化等不同的資源虛擬化,不要只認為虛擬化都是指硬體CPU的部份,這是不完整的觀念!

###

沒有留言:

張貼留言

熱門文章