重点!!!计算虚拟化技术(HCIE云方向)
計算虛擬化技術
- 一、FusionSphere
- 1)FusionCompute
- 1) CNA
- 2 )VRM
- 2)FuisonManager
- 3)UltraVR(BCManager ereplication)
- 4)eBackup
- 5)FusionSphere應用場景
- 單虛擬化場景
- 多虛擬化場景
- 私有云場景
- 6)虛擬化和云計算有什么關系?
- 二、計算虛擬化
- 什么是虛擬化?
- 1、虛擬化前和虛擬化后的區別
- 1)虛擬化前
- 2)虛擬化后
- 2、CPU虛擬化
- 1)CPU運行級
- 2)CPU虛擬化模式
- 1、全虛擬化
- 2、半虛擬化
- 3、硬件輔助虛擬化
- 3)RISC的CPU虛擬化(全虛)
- 4)CISC的CPU虛擬化
- 3、虛擬機共享CPU虛擬化(基于硬件輔助虛擬化)
- 1)KVM的CPU虛擬化
- 2)CPU處理流程
- 4、CPU資源用量
- 5、內存虛擬化
- 1)無內存虛擬化時
- 2)有內存虛擬化(全虛)
- 1、三個地址
- 2、三張映射表
- 3、用語言表述
- 3)內存全虛擬化優化
- 1、影子頁表
- 4)內存硬件輔助虛擬化
- 1、EPT技術
- 2、原理
- 5)Huge Page和Transparent Huge Page
- 6)TLB
- 6、IO虛擬化(KVM)
- 1)全虛擬化(全模擬)
- 2)半虛擬化(virtio)
- 3)硬件輔助虛擬化(PCI設備直接分配)
- 7、FC平臺支持的QOS維度
- 1)CPU QOS
- 2)內存QOS---開啟內存復用
- 3)網絡的QOS
- 4)磁盤的QOS:
- 8) 內存復用
- (1)內存氣泡
- (2)內存交換
- (3)內存共享
- 9、NUMA技術
- (1)Host NUMA
- (2)Guest NUMA
- 10、HA的過程
- (1)虛擬機HA原理
一、FusionSphere
1、Fusionsphere是華為虛擬化解決方案,
由4個軟件套件組成。
他們分別是:
1)FusionCompute
服務器虛擬化產品,完成服務器計算資源虛擬化、服務器下掛存儲資源虛擬化(本地、共享)、軟件定義網絡。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-kEWEwRrP-1628818997296)(C:\Users\Jack\AppData\Roaming\Typora\typora-user-images\image-20210811213552950.png)]
1) CNA
CNA英文全稱:Compute Node Agent,CNA部署在需要虛擬化的服務器上。
1.提供虛擬計算功能。
2.管理計算節點上的虛擬機。
3.管理計算節點上的計算、存儲、網絡資源。
2 )VRM
VRM英文全稱:Virtual Resource Management,VRM可以部署成VM或者部署在物理服務器上;VRM對外提供網頁操作界面供管理維護人員。
?管理集群內的塊存儲資源。
?管理集群內的網絡資源(IP/VLAN),為虛擬機分配IP地址。
?管理集群內虛擬機的生命周期以及虛擬機在計算節點上的分布和遷移。
?管理集群內資源的動態調整。
?通過對虛擬資源、用戶數據的統一管理,對外提供彈性計算、存儲、IP等服務。
?通過提供統一的操作維護管理接口,操作維護人員通過WebUI遠程訪問FusionCompute對整個系統進行操作維護,包含資源管理、資源監控、資源報表等。
2)FuisonManager
FusionManager主要對云計算的軟件和硬件進行全面的監控和管理,實現同構,異構VMware虛擬化多資源池管理,軟硬件統一告警監控,并向內部運維管理人員提供管理門戶。
虛擬化管理軟件(華為自主研發的云管理專家平臺)
什么是異構?
即由不同的元素或部分組成,不一樣不均勻的意思
a、異構虛擬化資源統一管理(FC、VMware)
b、異構硬件統一監控(異構廠商服務器、存儲、交換機、防火墻等硬件設備運行狀態)
c、多數據中心資源統一管理,并創建VDC(虛擬數據中心)分配給租戶,VDC資源可跨多個物理DC。
d、提供安全的網絡隔離環境,VDC內部的VPC(虛擬私有云),為VDC內部的業務VM創造安全隔離的網絡
VPC網絡類型:
內部網絡—VPC內部VM間通信
直連網絡—VPC內部VM直連到網絡,網絡通信
路由網絡—VPC內部VM通過虛擬路由器與網絡,網絡通信
3)UltraVR(BCManager ereplication)
提供跨站點容災能力
容災管理軟件,在同城容災、異地容災、兩地三中心等容災場景下實現容災資源接管和一鍵式快速切換,最大程度降低生產數據中心業務中斷時間。
4)eBackup
提供虛擬機的備份能力
VM備份管理軟件,針對業務VM做備份策略以及備份和恢復實施,保障業務VM數據的安全性。
5)FusionSphere應用場景
單虛擬化場景
只采用FusionCompute作為統一的操作維護管理平臺對整個系統進行操作與維護的應用場景
多虛擬化場景
多套虛擬化環境需要進行統一管理
統一管理和維護:支持同時接入FusionCompute和VMware虛擬化環境,對多虛擬化環境的資源和業務進行統一的管理和維護。
統一監控告警:支持對多個虛擬化環境、多種物理設備的告警進行統一接入、監控和管理。
私有云場景
多租戶共享VPC場景
多租戶私有VPC場景
6)虛擬化和云計算有什么關系?
虛擬化是云計算的基礎,但不等于云計算
二、計算虛擬化
什么是虛擬化?
其實就是一個抽象層,可以屏蔽底層物理資源的差異,將物理資源抽象成統一規格的邏輯資源
舉個栗子:我不管底層的服務器是哪個廠家的,華為、H3C,浪潮、聯想的,只要你是統一X86架構或者ARM架構的。我都將你的物理資源進行池化給上層使用,我們只知道在池化后CPU量化成多少VCPU給上層使用,上層的虛擬機只是從量化后的虛擬池中取資源,內存,存儲類似
1、虛擬化前和虛擬化后的區別
1)虛擬化前
缺陷:
a、資源利用率底下或者不均衡
b、HOS和APP與底層硬件緊耦合
如果服務器硬件故障或者HOS崩潰將造成APP應用無法使用,中斷業務**(模塊或者系統之間關系太緊密,存在相互調用的關系 )**
c、資源擴容不方便
擴容周期長、考慮硬件兼容性、中斷業務實現擴容
d、遷移不靈活
HOS+APP從一臺物理主機遷移至另外一臺物理主機,需要中斷業務,手動制作HOS+APP打包鏡像,遷移至目標主機考慮驅動兼容問題,是否需要重裝驅動。
2)虛擬化后
將服務器物理資源抽象成邏輯資源
優勢:
a、資源利用率提升
一臺物理主機上的虛擬化層運行多臺VM,多臺VM運行不同GOS以及APP。
b、GOS和APP與物理服務器解耦
物理服務器故障或者VMM故障,通過HA機制可以保障VM的GOS和APP還能正常在集群內其他物理服務器上運行(會有短暫業務中斷)
c、資源擴容方便
VM側:在線VCPU、VMEM、VDISK、VNIC擴容,不影響業務
離線虛擬資源兼容,使空閑資源回收到虛擬資源池
主機側:通過熱遷移將主機上VM遷移走之后下電擴容硬件資源,實現不中斷業務的物理資源擴容。
d、遷移靈活
FC平臺可以實現VM熱遷移(源主機和目的主機可以是不同廠商服務器)
異構虛擬化平臺的VM遷移,rainbow(華為遷移工具),實現VM從第三方虛擬化平臺遷移至華為虛擬化平臺。
2、CPU虛擬化
1)CPU運行級
CPU有四個運行級別分別是:
ring0-特權級–OS內核使用
ring1/ring2–一般驅動程序使用
ring3–用戶態應用使用
敏感指令—影響系統正常運行的指令
特權指令:決大多數的敏感指令是特權指令,特權指令只能在處理器的最高特權級 (內核態)執行。
RISC—精簡指令集CPU—敏感指令在ring0 大型機/小型機/手機 arm架構
CISC—復雜指令集CPU—敏感指令打散在各個ring級別 X86架構
2)CPU虛擬化模式
1、全虛擬化
app或者OS下發指令全被vmm截獲并進行轉譯,會對r0和r3進行分類,if r3指令集那么直接放行給cpu,由cpu調度。if r0或者敏感指令則還是交給vmm由vmm進行特權解除,陷入vmm進行模擬調用
2、半虛擬化
通過對OS的修改,讓ring0和敏感級別指令集直接交給vmm,ring3直接放行
3、硬件輔助虛擬化
支持硬件輔助虛擬化的cpu(vt-x、amd-v),有兩種cpu模式,vmx root模式和vmx non-root模式,兩種模式都支持ring0-ring3,vmm運行于root模式下,Gos運行于non-root模式下,也就是在cpu硬件上做了區分,這樣vmm的陷入模擬就不需要了,徹底解放了vmm的壓力。
3)RISC的CPU虛擬化(全虛)
a、GOS的ring0、敏感指令下發到物理硬件上,CPU會觸發異常,VMM檢測到異常消息,會截獲GOS的R0、敏感指令,特權解除、陷入VMM、模擬執行到物理CPU。
4)CISC的CPU虛擬化
全虛擬化
VMM會主動截獲VM所有CPU操作,并進行過濾篩選;
如果是R0、敏感(可能在R0、R3上),進行二進制轉譯,轉換成安全指令下發給CPU模擬執行。
如果是R3級別,下發給物理CPU
特點:VMM開銷最大,但是VM GOS兼容高,支持所有VM運行的GOS。
半虛擬化
修改VM的GOS內核,
VM主動將R0和所有敏感指令(R0 R3)主動下發給VMM,VMM只需要模擬執行,降低VMM開銷。VM的R3級別指令直接下發到物理CPU。
特點:VMM開銷降低,但是VM GOS有要求,開源內核的GOS才支持CPU半虛擬化,例如linux。
硬件輔助虛擬化
修改CPU架構,通過intel VT-X AMD的AMD-V CPU架構實現上層VMM和VM所有CPU相關操作全部下發硬件,不需要VMM對VM做任何CPU相關操作。
VMX root模式:給VMM使用
VMX non root模式:給VM使用
當VM下發R0、敏感指令,先到non root模式中,通過VM-exit 陷入到root模式中,由root模式模擬執行,返回結果通過VM-entry動作 回退到non root模式,逐步返回結果給VM。
當VM下發R3指令,直接在non-root模式下處理。
特點:完全解放VMM,對CPU有特殊要求,對VM的GOS無要求。
3、虛擬機共享CPU虛擬化(基于硬件輔助虛擬化)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vfaxievU-1628818997302)(C:\Users\Jack\AppData\Roaming\Typora\typora-user-images\image-20210811232316346.png)]
1)KVM的CPU虛擬化
**guest模式:**VM運行模式-------CPU–non root
kernal模式:KVM運行模式-----CPU–root
user模式:QEMU運行模式------CPU–root**(Qemu是一款模擬計算機硬件設備的軟件,所以是ring3級別的指令,但它調用的是底層硬件設備所以在root模式)**
2)CPU處理流程
VM執行非IO類R3級別指令,訪問CPU直接在non-root模式下處理
VM執行非IO類R0、敏感指令,non-root<---->root模式
VM執行IO類指令,non-root—>root模式(KVM)—>root模式(QEMU)–>操作IO硬件
4、CPU資源用量
物理服務器VCPU總量=物理CPU個數X核數X超線程數(2)一個CPU有兩個超線程
用戶VM使用的VCPU數量=物理服務器VCPU總量-管理域預留VCPU數量
CNA主機提供給VM的CPU資源(主頻)=用戶VM使用的VCPU數量*物理CPU主頻
所有用戶VM使用的CPU主頻總量不能超過上述值
主機的CPU和內存資源分為兩部分:管理域和虛擬化域。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8cjTa4tT-1628818997304)(C:\Users\Jack\AppData\Roaming\Typora\typora-user-images\image-20210812110437310.png)]
管理域CPU和內存:用于運行FusionCompute管理系統。
虛擬化域CPU和內存:用于運行虛擬機。
其中,管理域CPU占兩個超線程,其余為虛擬化域CPU。
管理域2vCPU 用戶VM創建只能看到22vCPU
5、內存虛擬化
1)無內存虛擬化時
HOS為所有APP應用維護VA–MA地址映射關系,使得所有APP都能使用從0開始連續的內存地址空間,多應用間邏輯隔離,互不影響。
虛擬內存地址(Virtual MemoryAddress,即 VA)
機器內存地址(Machine Memory Address,即 MA)
2)有內存虛擬化(全虛)
1、三個地址
虛擬內存地址(Virtual MemoryAddress,即 VA)
物理內存地址(Physical Memory Address,即 PA)
機器內存地址(Machine Memory Address,即 MA)
2、三張映射表
GOS維護:APP— GVA—GPA映射表
VMM(KVM)維護:VM— GPA–HVA映射表
HOS維護:虛擬化層+APP HVA—HPA映射表
VM內部應用訪問內存,需要查三張映射表才能訪問到物理內存,開銷較大
3、用語言表述
虛擬化后的操作系統可以分為HostOS也就是宿主操作系統,往上是VMM層也就是虛擬化層,最上面可以跑很多GuestOS也就是來賓操作系統,GuestOS上面跑的有應用。
那么這些應用要訪問內存的物理內存需要查三個表,分別是GuestOS維護的GVA和GPA,
由GPA查詢由VMM維護的GPA和HVA的關系
由HVA繼續查詢HOS維護的HVA和HPA關系表,從而找到HPA得到具體的物理地址
3)內存全虛擬化優化
1、影子頁表
VMM向上查詢GOS內部的 GVA–GPA映射表
VMM向下查詢HOS內部的 HVA–HPA映射表
結合自己GPA–HVA映射表,將三張映射表整合形成GVA–HPA影子頁表,并載入CPU的MMU中,提升查表速度。
MMU是內存管理單元
4)內存硬件輔助虛擬化
1、EPT技術
Intel EPT AMD NPT 技術
Intel的CPU提供了**EPT (Extended Page Tables,擴展頁表)**技術,直接在硬件上支持GVA->GPA->HPA的地址轉換,從而降低內存虛擬化實現的復雜度,也進一步提升內存虛擬化性能。
2、原理
先查找在整合!
CPU查找GOS內部的GVA–GPA映射表,載入CPU內部形成CR3表
CPU整合 GPA–HVA映射表+HVA—HPA映射表,形成EPT擴展頁表
查表動作不在由VMM參與,CPU硬件實現查表 CR3+EPT,如果缺頁,才觸發異常,轉由VMM和HOS分配頁表項,重新載入到CPU內部的EPT中。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mdiboGsR-1628818997309)(C:\Users\Jack\AppData\Roaming\Typora\typora-user-images\image-20210812113707447.png)]
5)Huge Page和Transparent Huge Page
內存管理的最小塊級單位叫頁,一個page是4096個字節,1M有256個page
cpu通過MMU(內存管理單元)維護page表記錄
所以條目越少,查詢越簡單
Huge pages是通過使用大頁內存來取代傳統的 4kb 內存頁面,以適應越來越大的系統內存,讓操作系統可以支持現代硬件架構的大頁面容量功能。
Huge pages 有兩種格式大小: 2MB 和 1GB , 2MB 頁塊大小適合用于 GB 大小的內存, 1GB 頁塊大小適合用于 TB 級別的內存; 2MB 是默認的頁大小。
THP 是一個抽象層,能夠自動創建、管理和使用傳統大頁。
標準大頁管理是預分配的方式
而透明大頁管理則是動態分配的方式。
一頁內存越大,條目越少,TLB緩存越容易查詢
6)TLB
頁表緩存、轉址旁路緩存,為CPU的一種緩存
6、IO虛擬化(KVM)
1)全虛擬化(全模擬)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-g0fvVan6-1628818997312)(C:\Users\Jack\AppData\Roaming\Typora\typora-user-images\image-20210812212317351.png)]
IO全虛擬化:VM使用的IO設備是由VMM層模擬出來的,VMM層負責對VM的IO請求進行監測、截獲、模擬執行動作,對VMM層損耗較大,但對VM的GOS無需做任何操作,實現簡單。
IO處理流程:APP—GOS—虛擬IO設備驅動—KVM(IO trap)----IO共享環(一段內存)—QEMU—HOS內核 IO設備硬件驅動—物理IO硬件
優點:VM的GOS不需要做修改,兼容大部分的GOS,兼容大部分的IO設備
缺點:IO訪問路徑長,VMM(KVM)開銷大,IO處理性能差,VM數量較多時,并發處理性能非常低。
2)半虛擬化(virtio)
IO半虛擬化:VM使用的IO設備任然是由VMM層模擬出來,但是GOS內部需要做修改,安裝pv driver,使得VM能夠主動將IO請求下發給VMM,VMM無需監測、截獲動作,制作模擬執行,降低VMM層性能損耗,但是對GOS有操作要求,是折中的解決方式。
IO處理流程:APP—GOS—virtio前端驅動—IO共享環(一段內存)—QEMU—HOS內核 IO設備硬件驅動—物理IO硬件
KVM只做通知
優點:IO訪問路徑變短,VMM(KVM)開銷降低,IO處理性能高,支持批量IO處理
缺點:VM的GOS需要修改(安裝前端驅動),對IO設備兼容性有要求,老舊IO設備可能不支持
3)硬件輔助虛擬化(PCI設備直接分配)
IO硬件輔助虛擬化:需要特殊硬件支持(支持虛擬化能力的IO板件),VM的GOS安裝硬件驅動,使得VM下發IO請求通過硬件驅動直接到達硬件,無需VMM做任何處理,性能最高,成本最高,能夠實現一個硬件被多臺VM共用。
優點:IO性能最高,VMM(KVM)不需要參與
缺點:特殊IO設備才能實現,主板PCI插槽有限,支持VM的數量有限,成本高
VM失去很多高級特性(HA DRS 內存快照等等)
?
7、FC平臺支持的QOS維度
1)CPU QOS
(1)份額:cpu資源搶占時
(2)預留:cpu資源搶占時
(3)限制:
2)內存QOS—開啟內存復用
(1)份額:內存搶占時
(2)預留:
(3)限制:
3)網絡的QOS
可以通過流量整形限制虛擬機網卡的網絡流量發送和接收速率
操作:網絡—DVS—端口組—網絡設置—發送和接收方向的流量整形
(1)平均帶寬:
(2)峰值帶寬:
(3)突發大小:
4)磁盤的QOS:
vm—配置—磁盤----更多—設置磁盤IO上限
(1)每秒的讀或寫或讀寫字節數(BPS):
(2)每秒的讀或寫或讀寫個數(IOPS)
8) 內存復用
(1)內存氣泡
系統主動回收虛擬機暫時不用的物理內存,分配給需要復用內存的虛擬機。內存的回收和分配均為系統動態執行,虛擬機上的應用無感知。整個物理服務器上的所有虛擬機使用的分配內存總量不能超過該服務器的物理內存總量。
(2)內存交換
將外部存儲虛擬成內存給虛擬機使用,將虛擬機上暫時不用的數據存放到外部存儲上。系統需要使用這些數據時,再與預留在內存上的數據進行交換。
(3)內存共享
多臺虛擬機共享數據內容相同的內存頁。
注意:可以增加主機的內存交換分區
內存交換分區目前只支持虛擬化本地硬盤的數據存儲
9、NUMA技術
(1)Host NUMA
物理服務器內部按node調度cpu和內存,本地調用性能最高,跨node調用性能損耗大,所以host numa可以實現主機上層應用調用cpu和內存時在hostnuma的控制下盡量從同一物理node內調用
(2)Guest NUMA
讓虛擬機也呈現NUMA架構,虛擬機上層應用調用虛擬機的vcpu和vRAM時也能盡量從同一vnode內來調用(一個vnode的vcpu和vRAM來源一個物理node)—虛擬機上層應用調用cpu和內存資源時最終會映射到一個物理node內去調用
一個虛擬機的不同vnode可以對應底層的不同物理node
10、HA的過程
(1)虛擬機HA原理
1.VM故障或者物理節點故障
2.VRM查詢VM狀態,發現VM故障
3.VRM節點判斷VM有HA特性,則根據保存的VM信息選擇可用的CNA主機啟動VM
4.CNA節點收到HA請求,根據VM規格,卷信息創建新的VM
5.啟動過程中,將VM之前的卷重新掛載,包括用戶卷
總結
以上是生活随笔為你收集整理的重点!!!计算虚拟化技术(HCIE云方向)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [LeetCode] 620.Not B
- 下一篇: 苹果手机怎么解屏幕锁_手机屏幕密码忘了怎