一、虛擬化技術介紹
- 資源抽象成共享資源池,操作系統與硬件解耦,從資源池中分配資源。
- 本質:分區→一個物理服務器上運行多個虛擬機、隔離→同一服務器上虛擬機間相互隔離、封裝→虛擬機都保存在文件中、獨立→獨立于硬件,無需修改即可在任何服務器上運行
- 類型
- 寄居虛擬化 vmware workstation,virtual PC→簡單易于實現;管理開銷,性能損耗大。
- 裸金屬虛擬化 vmware esxserver,citrix xenserver,redhat KVM,微軟hyper V,華為 fusionshpers→不依賴于操作系統,支持多種系統多種應用;虛擬化層內核開發難度大。
- 操作系統虛擬化,docker。→簡單易于實現,管理開銷低
- 裸金屬虛擬化主要實現兩個基本功能:
- 識別、捕獲和響應虛擬機發出的CPU特權指令或保護指令
- 處理虛擬機隊列和調度,并將屋里硬件的處理結果返回給相應的虛擬機。
二、計算虛擬化
- 包括:CPU虛擬化,內存虛擬化,IO虛擬化
- CPU虛擬化
- 利用與原始操作系統類似的機制-通過定時器中斷,在中斷觸發時陷入VMM,從而根據調度機制進行調度。
- 經典虛擬化方法主要使用特權解除和陷入-模擬的方式→客戶OS在運行在非特權級,VMM運行在最高特權級。客戶OS的大部分指令仍然可以在硬件上直接運行,當執行特權指令時,陷入到VMM模擬執行。
- X86架構的虛擬化漏洞:敏感指令需要讀取系統關鍵資源,但不是特權指令。
- 解決方法:半虛擬化,全虛擬化,硬件輔助虛擬化
- 半虛擬化:敏感指令修改為對VMM的調用指令→性能損耗小;只能是可修改的操作系統
- 全虛擬化:將敏感指令翻譯成特權指令后進行→支持廣泛的OS;引入新的復雜性,性能損耗大
- 硬件輔助虛擬化:利用CPU新增的虛擬化指令進行特權和非特權的交換→簡化VMM軟件→發展趨勢
- 內存虛擬化
- 物理操作系統內存特點:從物理地址0開始;內存連續;
- 虛擬化后的問題:只有一個0地址;地址連續分配使用效率不高,缺乏靈活性。
- 內存虛擬化核心→引入客戶機物理地址空間→通過VMM在客戶機物理地址空間和物理地址空間中建立映射表。
- IO虛擬化
- 目的在于復用有限的外設資源。
- 原理:VMM截獲客戶OS對設備訪問的請求,然后通過軟件方式來模擬真實設備的效果。
- 問題:設備發現,控制各虛擬機能訪問的設備;訪問截獲
- 實現:前后端驅動模型;Intel硬件虛擬化技術
- 硬件虛擬化技術:VT-x,VT-d,VT-c,TXT
三、存儲虛擬化
- 概念:存儲設備上加入邏輯層,通過邏輯層訪問存儲資源
- 作用:管理員→方便調整存儲資源,提高存儲利用率;終端用戶→更好的性能和易用性
- 實現方式:裸設備+邏輯卷;存儲設備虛擬化;主機存儲虛擬化+文件系統
- 裸設備+邏輯卷:直接在通用塊上建立邏輯卷→實現簡單,性能好;支持業務少
- 存儲設備虛擬化:通過存儲設備的能力,進行卷的維護操作→支持業務相對較多,需要特定的存儲設備
- 存儲虛擬化+文件系統:在通用塊層上建立文件系統,通過文件系統管理虛擬機磁盤→支持異構存儲和異構服務器,高級功能豐富;IO路徑長,性能損耗大。→目前采用較多的方式。
四、網絡虛擬化
- 背景:一臺服務器上多個虛擬機→傳統網絡無法滿足虛擬機間通信;虛擬機動態遷移→傳統網絡無法很好滿足。
- 網絡虛擬化包括:
- 物理設備虛擬化:QBG、QBR,TRILL,SPB
- 服務器虛擬化:VMDQ、SR-IOV,VXLAN(疊加大二層網絡技術)
- 虛擬交換技術:
- vSwitch:服務器內部CPU實現虛擬交換功能→功能擴展靈活;消耗CPU,性能低
- eSwitch:網卡實現→性能高,節省CPU資源;依賴特殊網卡;
- QBG:物理交換機實現→可繼承交換機的二層特性;規格小,擴展困難,Hypervisor均不支持
- 華為網絡虛擬化解決方案→分布式虛擬交換,集中管理,分布式虛擬交換支持vSwitch和eSwitch兩種方式。
五、創建虛擬機簡介
- 創建流程:
- 使用者提出業務需求,確定虛擬機規格
- 管理員從存儲池中劃分虛擬硬盤
- 管理員選擇符合所需CPU,內存,虛擬網卡的物理服務器
- 將虛擬硬盤掛載到物理服務器上
- 用CPU,內存,硬盤啟動一個無系統的虛擬機
- 使用CIFS協議將ISO掛載到VNA節點,設置虛擬機從虛擬光驅啟動,加載ISO文件,安裝系統
- 沒有操作系統的虛擬機,可以使用ISO文件安裝操作系統,或者掛載瘦終端上的光驅安裝