“雲計算”、“虛擬化”、“亞馬遜”相信大家都不陌生,我也是因為一個心血來潮認識了雲計算。那么是什么讓"雲"成為“無限”資源池呢,虛擬技術可謂功不可沒。那么什么是虛擬化技術呢,我花了一點時間對它有了一個粗淺的認識。
一、什么是虛擬化?
計算機的服務層級一般是下圖所示,從最底層的硬件,到操作系統、軟件運行框架、應用程序以及運用程序提供的服務,最后是最上層的用戶,各個層級是緊緊依賴的。操作系統是硬件與上層的溝通;底層框架是軟件運行的支撐;軟件呈現出來的功能稱為服務。沒有軟件服務就無法提供給用戶;沒有Framework軟件就無法運行;沒有操作系統就無法安裝Framework和軟件;而沒有硬件的話就什么都沒有了。因此,虛擬化被定義為“虛擬化,就是不斷抽離依賴的過程”。虛擬化的前提是硬件的利用率不佳。

計算機的服務層級
二、虛擬化種類
平台虛擬化就是“OSes in a OS”,虛擬機管理員(VMM)或者Hypervisor為各OS分配資源,Hypervisor是虛擬機產品差異的體現。從Hypervisor的觀點看虛擬化的不同種類。
2.1 以是否存在宿主操作系統看,虛擬機的Hypervisor主要分為原生和寄居兩種。
2.1.1 寄居類產品必須在安裝操作系統后運行,操作系統將其作為一個軟件看待。優點是具有良好的硬件兼容性,只要硬件支持操作系統,這類產品就能使用。缺點是當操作系統出現任何問題時,VM的操作系統將無法運行。有名的有VMware Workstation, Virtual PC/Server。
2.1.2 原生架構由Hypervisor直接管理硬件。優點是微內核,僅負責和上層VM操作系統溝通和資源協調,其上層的任何一個操作系統出現藍屏都不會影響其他操作系統,適合企業使用。缺點是硬件兼容性不好。主流產品有 VMware vSphere。
2.2 以虛擬化程度看
1)完全虛擬化(主流) 2)硬件輔助虛擬化 3)部分虛擬化 4)半虛擬化 5)操作系統級虛擬化:虛擬同類OS,Virtuozzo 6)寄居環境:Linux下的User Mode,在一個Linux下以軟件形式運行其他Linux。
三、虛擬化熱點
3.1 企業虛擬化兩大熱點:服務器合並和虛擬桌面架構,雲計算隨着兩大熱點應運而生。
3.2 虛擬化的熱點:IaaS,PaaS
3.3 虛擬機與雲計算結合:1)虛擬機定義最小的量化單位;2)快捷生成或消滅資源;3)在線配置軟件 on-demand
四、認識主流產品 VMWare vSphere
VMWare vSphere的基本還是原生架構的ESX/ESXi,以雲端系統為基礎,以Hypervisor為工具,發展出各式各樣的功能。下圖是VMWare vSphere整體架構。

VMWare vSphere架構
4.1 vSphere將其底端硬件(包括IaaS和PaaS)成為雲端,分為內部雲端和外部雲端。內部雲端是由各種硬件資源所組成;外部雲端是第三方廠家提供的各種IaaS和PaaS。
4.2 vSphere的底層:架構服務(Infrastructure Service),相當於vSphere的Hypervisor,集成資源並向上提供一個虛擬的硬件資源給VM使用,分為運算部分vCompute、存儲部分vStorage和網絡部分vNetwork。
4.2.1 vCompute
vCompute包括ESX\ESXi以及DRS。
ESX和ESXi就是安裝在物理服務器上的Hypervisor,將CPU資源累加后分配以及規划存儲空間;ESX同時也是一個操作系統,它本身就是完整的Red Hat Linux改良版;ESXi是規約版的ESX,能夠制作成USB可引導ESXi,這是ESX沒有的功能,只要服務器是是在VMWare ESX/ESXi的HCL支持范圍,就可以引導使用虛擬機的HypervCentersor。
分布式資源調度(Distributed Resource Scheduler,DRS)主要負責讓VM自己“找”最合適的物理服務器。
4.2.2 vStorage包括VM硬盤的文件系統VMFS以及動態分配大小的Thin Provisioning。
4.2.3 vNetwork,VM的網絡非常復雜。一台物理服務器上可能有很多個VM,每個VM都可以和物理服務器處於同一網段,也可以使用NAT或是VLAN。這么復雜的網絡可以只通過一個物理的網卡實現。
4.3 vSphere的底層:Application Service
應用軟件服務是針對VM的,可以讓多台虛擬機排列組合,達成企業應用的目的。企業使用vSphere主要是以其的功能為主。
4.3.1 可用性(Avalability),所謂可用性即企業的服務永遠不會中斷,vSphere在這方面提供的功能主要有:
- vMotion,VM動態轉移,從一台物理服務器轉移到另一台上。
- Storage vMotion,VM磁盤動態轉移,可以把VM磁盤從一個存儲設備轉移到另一台。
- HA(高可用性),VM在一台服務器藍屏后轉移到另一台上,服務永遠不會中斷。
- Fault Tolerance,隨時有一台動態的服務器待命,當有一台服務器藍屏時,無需HA或VMotion就立即接手。
- Data Recovery,服務器或VM藍屏后數據回退功能。
4.3.2 安全性(Security),包括vSheilds Zones和VMSafe兩種。讓物理機直接連上虛擬機,甚至是不同物理機上的虛擬機,而無需通過外接的防火牆或是路由器獲取監控。
4.3.3 可擴展性(Scalability),包括DRS和Hot Add。Hot Add可以讓VM在不關機的情況下直接添加vCPU或內存。
4.4 vSphere的神經中樞:VMWare vCenter
4.4.1 VMWare vCenter Client是Windows端的實用程序,用來直接控制單台的ESX/ESXi。在vSphere中,所有的VM管理、創建、運行、維護都靠vCenter Client。
4.4.2 VMWare vCenter Server管理多台ESX,但是仍用Client端登錄。
4.5 最重要部件:虛擬機,虛擬機是真正運行功能的地方,一個VM可以視為一台物理機,擁有自身的資源。在vSphere中一台虛擬機通常由配置文件VMX以及虛擬硬盤VMDK組成。
五、vSphere的硬件
利用HCL遍歷硬件兼容性。
5.1
為解決內部存儲設備的限制,采用外部“硬盤”。這個硬盤擁有自身的電源系統,不需要依賴一個“完整”的操作系統才能運作,更可以有多種文件格式、能容納多種異構的硬盤,且本身有防災機制。
*擁有自身生態系統
*多種硬盤界面
*多種防護機制
*多種副本機制
*多種聯機方式
*多種文件系統
*多種訪問方式
*彈性化的容量管理
5.2 選擇服務器要訣
1)尺寸——塔式、機架式或刀片
2)功能——芯片組(北橋及南橋)
3)IO速度——外置界面卡(PCI、PCI-E、PCI-X)
4)IO擴展性——PCI信道數及插槽數
5)內存——主板內存的規格
6)引導彈性——引導設備種類
7)CPU擴展槽——CPU插槽數
5.3 常用的外置存儲設備(DAS,NAS,SAN)直接連接存儲設備、網絡連接存儲設備、存儲局域網(Storage Area Network)
DAS只要能被操作系統或Hypervisor認出即可使用,NAS是以文件傳輸為基礎的傳輸方式,要訪問NAS的機器上必須安裝好操作系統。SAN綜合二者有點,不但可以將本地的操作系統安裝在SAN上,也可以用網絡連接的方式來訪問其上的文件。
5.4 vSphere最佳性價比伙伴:iSCSI,internet Small Computer System Interface,是IP通信協議和SCSI存儲設備的組合。SCSI是一個命令集,用來連接設備的接口。
六、vSphere軟件
6.1 RAID Reundant Arrays of Inexpensive Disks:低成本高可用的硬盤空間管理,意即使用一般商業產品的動態硬盤達到高可用性或是提高性能的目的。
6.2 RAID原理:利用XOR的計算方式來推算丟失的數據
6.3 只要是能使硬盤組合的實踐都可以叫做RAID
6.4 獨立存儲設備
在NAS和SAN的底層是RAID的磁盤數組。管理動輒上千TB的容量需要引入“分區”的概念,VG(Volume Group)是邏輯卷宗組的簡稱,主要目的就是用來管理多個物理磁盤的觀念。VG最大的特點就是由不同的物理存儲設備組成一個龐大的空間,系統將這個大空間視為一個大的虛擬硬盤。VG是完全透明的:管理時等同一般物理磁盤。
VG架構
- 物理卷與物理分區最大的區別,就是在SAN/NAS下,只有被給定成物理卷的分區才能供VG使用。
- VG是整個SAN架構中最底層的硬盤空間。
- LUN(Logical Unit Number)就是VG上的分區。
- LE(Logical Extent)邏輯存儲單位是VG系統中可被尋址的最小單位。
6.4.1 使用VG優點
1)分區能有更大彈性;2)管理上的方便;3)可動態調整分區大小;4)不需要關機操作——熱切換,熱插拔;
6.4.2 VG在SAN/NAS下的使用時機
1)需要管理動態存儲設備;2)子盤空間快捷使用;3)vSphere的HA環境
VMWare Workstation安裝Ubuntu體驗將在下一篇呈現。