虛擬化的定義就是“將計算機的資源不斷抽象化的過程”。在抽象的過程,對於不同的資源(如存儲設備、cpu、內存、網絡等),而有不同的虛擬化類別,較為常見的有:
1、資源虛擬化:主要是將計算機的某些系統資源抽象化。如存儲設備、網絡、網絡名稱等。
磁盤分區和RAID就是存儲設備虛擬化的例子。
虛擬主機是網絡名稱虛擬化的例子。
2、應用軟件虛擬化:主要將軟件抽象化,使之不需要依賴特定的運行環境,就是我們常說的綠色軟件(portable)
常用的應用軟件虛擬化工具有:softGRID、XenAPP 以及VMware的ThinAPP
能用於企業級的廠商主要三個:VMware,Citrix,MS
三個廠商對應的較成熟產品是VMware ESXi,Xenserver,Hyper-V,都是裸機虛擬化
VMware ESXi重點於服務器虛擬化,技術較成熟,功能也多,支持虛機系統多;
Xenserver重點在於桌面虛擬化,性價比高,網絡性能好,適用於快速與大規模部署,支持系統也不少,但做桌面能發布出來的只有MS系統;
Hyper-V起步的最晚,目前貌似只支持MS自家的系統,屬於服務器級的
3、平台虛擬化:主要就是將計算機的主要資源(cpu、內存、網卡)抽象化,並且讓訪問這些資源的對象都通過抽象層訪問,也就是虛擬機。
(一) 虛擬化起因及技術分類
a、最常見的虛擬機軟件包括以下幾個重要產品:
VMware Workstation/Server/ESX Server;
微軟的Virtual PC/Server/Hyper-V;
Citrix的Xen;
Sun的xVM、QEMU等。
b、企業采用虛擬機的起因
就是因為硬件資源的浪費,主要針對的問題就是硬件資源效率的低落。
c、不同的虛擬技術
在軟件方面,針對不同的實現技術,虛擬機的產品也分成幾個類別:
1)完全虛擬化:目前主流都是這種。主要是客戶端操作系統在這種虛擬產品上運行時,不需要做任何修改。如VMware Workstation、vSphere、微軟的Hypervisor等。
2)硬件輔助虛擬化(硬件虛擬機HVM):操作系統在其上運行時,必須靠系統的硬件來完成虛擬化的過程。如Intel的VT和ADM的ADM-V還有VMware的Workstation6.5.1。
3)部分虛擬化:虛擬機在運行時,系統只提供部分虛擬化,無法正常安裝完整的操作系統。
4)半虛擬化(泛虛擬化):操作系統在此產品上運行時,必須修改核心才能順利安裝。如早起的Xen
5)操作系統等級虛擬化:這一類虛擬機只能仿真出主機的系統。如windows上只能運行windows,linux上只能運行linux系統。
6)寄居環境:最常見的是linux下User Mode,可以在一個linux下,以應用軟件的方式來運行其他的linux。!這和寄居架構的完全虛擬化是有區別的。
d、虛擬機產品運行層。
不管哪個架構,所有的虛擬機既然要抽象化計算機的硬件資源,就必須有一個仲裁機制來管理抽象化之后的資源。這個仲裁機制一般稱為Hypervisor或者是Virtual Machine Monitor(VMM)。
*Hypervisor*:
Hypervisor是一種運行在物理服務器和操作系統之間的中間軟件層,可允許多個操作系統和應用共享一套基礎物理硬件,因此也可以看作是虛擬環境中的“元”操作系統,它可以協調訪問服務器上的所有物理設備和虛擬機,也叫虛擬機監視器(Virtual Machine Monitor)。Hypervisor是所有虛擬化技術的核心。非中斷地支持多工作負載遷移的能力是Hypervisor的基本功能。當服務器啟動並執行Hypervisor時,它會給每一台虛擬機分配適量的內存、CPU、網絡和磁盤,並加載所有虛擬機的客戶操作系統。
原生架構(Bare-Metal):
虛擬機在安裝時,會在系統的硬件之上插入一層Hyperviso接管硬件,然后再安裝操作系統。操作系統和硬件之間幾乎沒有直接關系。
原生架構上,Hypervisor直接安裝在硬件上,將所有的硬件資源接管。由於Hypervisor層極小(可小到32MB footprint),並且不管理太復雜的事項,僅負責和上層的VM操作系統溝通及資源協調,藍屏的概率更小。在其上的任何一個操作系統藍屏了,都不會影響其他的客戶端,因此較適合於企業應用。
在原生架構下,Hypervisor直接和計算機的硬件接觸(如上圖)。
當然原生架構的虛擬機為了保持其穩定性及微內核,自然不可能將所有桌面產品的驅動程序都放入,因此最大的問題就是硬件兼容性。大部分的原生架構產品都支持主流服務器及存儲設備,如NAS、iSCSI或FC SAN,並且強調這些設備都經過了官方測試,為的就是確保在企業運行環境中的穩定性。一般PC所使用的硬件,大部分無法在原生架構的虛擬機下運行。
原生架構的主流產品:
VMware vSphere
微軟Hyper-V 2008 R2(免費)
微軟Windows 2008 R2 Hyper-V Role
Citrix XenServer/XenDesktop
Xen(Linux,開源)
Qemm(Linux,開源)
原生架構為了保證穩定性,必須是硬件兼容表中(HCL)支持的硬件才能運行。
在開始安裝配置ESXi之前,建議先根據VMware官方的VSAN兼容性指南來驗
證一下硬件配置。VSAN兼容性指南可以在下面的網站找到:
http://vmwa.re/vsanhcl
http://readynas.netgear.cn/Hardware_Compatibility_List/
VSAN對磁盤、閃存設備和磁盤控制器有嚴格的要求。
因為選擇眾多,配置一台完美的VSAN主機可能是一件復雜的事情。
在逐個討論這些組件之前,你應該知道還有另外一個選擇:VSAN Ready Nodes。
*寄居架構*(Hosted):
在寄居架構中,Hypervisor是存在於操作系統之上的。寄居架構,則是Hypervisor被看成一個應用軟件或是服務,運行在已經安裝好的操作系統上才能運行。
這一類產品最大的特色就是必須在一個已經安裝好的操作系統上進行,稱為寄居架構(Hosted)。這么做的好處就是硬件的兼容性。只要寄居的操作系統能使用的硬件,虛擬機中的操作系統都能使用到。然而這種運行在桌面操作系統上的Hypervisor,被視為寄居操作系統上的一個應用軟件,雖然在安裝時會將不少Hypervisor的部件放入內核,但在寄居的操作系統出現任何問題時,VM中的操作系統將無法使用,無法滿足重視安全及穩定的企業應用上。
舉例來說,最有名的虛擬產品VMware Workstation或是微軟的Virtual PC/Server,都必須安裝在一個操作系統之上,如Windows 7或Windows Server 2003。如果這個操作系統藍屏了,其上運作的VM客戶端當然就全部一起藍屏。這就是寄居架構。
寄居架構的主流產品
VMware Workstation(有Windows及Linux版本)
VMware Server(有Windows及Linux版本,免費)
VMware Player(有Windows及Linux版本,免費)
微軟Virtual PC 2007
微軟Virtual Server 2005 SP2(免費)
微軟Windows Virtual PC(只能在Windows 7上運行,免費)
Parallels Workstation
UN Virtual Box(已被Oracle收購)
e、硬件支持的虛擬化
目前大部分的X86廠商都推出了支持虛擬機指令的CPU,如Intel的VT以及AMD
的AMD-V。這些硬件上的技術對虛擬機有什么幫助嗎?
1)在沒有虛擬機的時候,操作系統在硬件上運行時,通常核心會在Ring0層次運行應用程序在Ring3的層次運行。
2)在原生架構的虛擬機上,Hypervisor在Ring0的地方進行操作,操作系統被降級到Ring1。
3)使用了硬件支持的虛擬化,Hypervisor降至Ring1,操作系統重新回到Ring0
硬件支持的虛擬化好處是:
1)加快客戶端操作系統的運行速度,解決了兼容性問題。
2)在做虛擬機環境測試時,可以做出巢狀(Nested)虛擬環境。
(二) 企業環境注重的虛擬機
硬件選擇正確后,企業用的虛擬機架構要考慮的因素有安全、穩定、高運行效率、高可用性、成本以及管理。
1)服務隔離(Isolation)的原則。
一個操作系統上只安裝一個服務。
2)提高硬件資源效率。
在單一的實體服務器上運行多個操作系統。這樣可以讓每一個系統服務可以在單一的操作系統上運行,而多個操作系統可以在同一台實體服務器上並行運行,
不僅保持了服務隔離,更提高了硬件資源效率。這就是:服務器合並(Server Consolidation)。
3)高可用性。
可以一並解決High Availability、容錯、負載均衡、備份等復雜問題。
可以解決目前設備無法解決的問題。如動態主機遷移、快速刪除數據、統一桌面管理、企業集成環境(永不宕機)。
在VDI環境中,一個桌面操作系統就是一個虛擬文件,可以快速部署。
4)企業桌面環境管理(多人)
是將客戶端的桌面操作系統全部移到服務器的虛擬機上。每一個桌面用戶都連入自己的虛擬機(使用RDP或者是特殊的聯機軟件,如Citrix的ICA)。
好處是除了可以省下一大筆升級硬件的預算外,更可以將所有的桌面操作系統集中管理,無論是打補丁、安裝應用程序、管理用戶權限等都很方便。
VMware的企業桌面管理產品是:VMware View
Citrix的企業桌面管理產品是:XenDesktop和XenServer5
原生標桿產品:
VMware V13/vSphere
各種不同專用功能:
最大特色是多台ESX加入后,可以完成虛擬機轉移的魔法。
VMotion是V13中最重要的功能,可選擇最需要的資源來運行。
HA可以讓虛擬機在實體機死機時立即在另一台重啟。