2014年4月28日 星期一

Virtualization虚擬化技術?為什麼要使用虛擬機器?

現代的伺服器效能的相當好,如果只拿來當作一台主機時常浪費了很多資源。所以就有了虚擬化技術。但是虚擬化技術常常版本一堆分不清楚。我們簡單的來想,虛擬機器的終極目標就是要把一台機器當作多台機器來用。但是發展過程中常會遇到有一好就沒有兩好。所以因應不同的需求就開發出不同的版本。但現今在各種技術截長補短下可說是虛擬化技術越來越好。正如汽車一樣,純油的和純電的各有優缺點,所以就有Hybrid的汽車。虛擬化也一樣。所以我們因該先了解一些技術或名詞,再去選我們需要的產品。

硬體支援虛擬化的技術(CPU,Memory,IO Driver)。
Intel虛擬化技術
早期的x86處理器上並沒有虛擬化的設計。所有在x86上的虛擬化都須靠軟體來實現。
效能上可想而知。後來才有intel虚擬化技術(Intel Virtualization Technology)。
http://www.intel.com/cd/business/enterprise/apac/zht/238198.htm

Hypervisor(最重要的概念)
超級管理者,顧名思義就是要管理。管理什麼? 就是管理虛擬機器和硬體。或著說他(program)去管理很多的作業系統如何去存取一個實體或物理的主機。

目前有兩種形式的超級管理者(two types of Hypervisors)
type 1. Bare metal or native hypervisors
type 2. Embedded or hosted hypervisors

type 1. Bare metal or native hypervisors
超級管理者類似作業系統直接安裝在硬體上面。其他Guest作業系統再架在上面。
Guest OS1
Guest OS2
Hypervisor (VMM)
Hardware

Host operating system: 不需要
Guest operating system: 需要
例如VMware vSphere Hypervisor
優點: 直接管理硬體,較快速且較有效率。較安全。錯誤回復較快。
缺點: 較難安裝。硬體相容性低。

type 2. Embedded or hosted hypervisors
超級管理者類似一個程式直接安裝在Host作業系統上。其他Guest作業系統再架在上面。
Guest OS1
Guest OS2
Hypervisor (VMM)
Host OS
Hardware

例如VirtualBox或VMWare Workstation安裝在Windows或Linux上。
Host operating system: 需要
Guest operating system: 需要
優點: 安裝容易。硬體相容性高(因為作業系統已處理硬體相容性)
缺點: 效率較差且速度較慢(管理還要透過作業系統)。錯誤回復較慢(開完host os還要一個個打開guest os)。

全虛擬化 (Full virtualization)
Guest operating system不用更改作業系統核心且完全不知道自己在虛擬化的環境。
例如windows無法修改作業系統核心,所以當作虛擬機器是屬於全虛擬化。
優點: Snapshots,clone容易。
缺點: 全都要靠Hypervisor管理和監控,造成效能下降。

半虛擬化 (Para virtualization)
修改作業系統核心使Guest operating system知道自己處於虛擬化環境中,減少Hypervisor的負荷。
優點: 效能比較好。
缺點: 不是所有系統可改核心。