虛擬化對未被充分利用的服務器進行整合,不再為新項目另外購置硬件,從而降低資本成本,同時,精簡 數據中心服務器的數量,又可以成比例地減少供電、制冷和場地方面的運營成本。
利用先進的虛擬化管理和云運營管理軟件,建立安全的、可審核的數據中心環境,為業務部門提供 成本更低、服務水平更高的基礎架構,從而能夠針對業務部門的需求做出快速的響應。
通過虛擬化管理和云運營管理軟件,完全實現數據中心 IT 基礎設施的集中化管理,這樣不僅可以精簡IT操作,提高管理效率,而且還可以簡化監控、管理、報告和遠程訪問等操作。
最初的x86架構不適合于虛擬化
X86架構存在17條敏感的非特權指令,運行時不會產生異常,這些指令在客戶操作系統上的執行會破壞整個系統。
解決方法1:半虛擬化(Para-Virtualization)
Xen 半虛擬化(Para-Virtualization)架構
在Hypervisor上運行的Guest OS已經集成了與半虛擬化有關的代碼,使得Guest OS能夠非常好地配合Hypervisor來實現虛擬化。
Hypervisor提供Hypercall接口來滿足Guest OS的關鍵內核操作,如內存管理、中斷和時間同步等。
解決方法2:BT(Binary Translation,二進制翻譯)
全虛擬化
VMware ESX 的軟件系統架構
Guest OS指令段在執行前進行整段翻譯,將其中的敏感非特權指令替換為Ring0中執行對應特權指令。
非特權指令直接執行。
特權指令首先被陷入到VMM,并VMM通過一系列的模擬操作來實現此特權指令,然后返回給Guest OS,Guest OS從上次被中斷的地方繼續執行。
硬件輔助虛擬化
硬件輔助虛擬化-CPU
CPU硬件虛擬化—Intel VT-i
硬件輔助虛擬化—內存
IO虛擬化
客戶機的設備驅動程序發起 I/O 請求操作請求,KVM 模塊中的 I/O 操作捕獲代碼攔截這次 I/O 請求
經過處理后將本次 I/O 請求的信息放到 I/O 共享頁 (sharing page),并通知用戶空間的 QEMU 程序。
QEMU 程序獲得 I/O 操作的具體信息之后,交由硬件模擬代碼來模擬出本次I/O 操作。
完成之后,QEMU 將結果放回 I/O 共享頁,并通知 KMV 模塊中的 I/O 操作捕獲代碼。
KVM 模塊的捕獲代碼讀取 I/O 共享頁中的操作結果,并把結果放回客戶機。
主流的Hypervisor產品
在 x86 架構中,與根模式相對應的是非根模式(non-root mode),非根模式即傳統的 CPU 模 式,包括Ring 0~Ring 3 的權限級;而在根模式中,也有對應的 Ring 0~Ring 3 的權限級。也就是說,根模式和非根模式是平行的;
而在 ARM 中,虛擬化模式和原有的幾種模式是并列的,只是虛擬化模式擁有比管理模式更高 的權限等級。
KVM/ARM 虛擬化技術原理
本文來自“計算虛擬化基礎介紹”,主要介紹虛擬化的產生與發展,KVM的CPU、內存和IO虛擬化,ARM和X86的比較。
-
模塊
+關注
關注
7文章
2695瀏覽量
47431 -
服務器
+關注
關注
12文章
9123瀏覽量
85324 -
操作系統
+關注
關注
37文章
6801瀏覽量
123283 -
虛擬化
+關注
關注
1文章
371瀏覽量
29790
原文標題:計算虛擬化基礎介紹
文章出處:【微信號:架構師技術聯盟,微信公眾號:架構師技術聯盟】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論