KVM 虚拟化技术以及 KVM 和云计算的关系
KVM 是 Kernel-based Virtual Machine 的簡稱,KVM 要求 CPU 支持硬件虛擬化技術(如 intel VT 或 AMD-V),是 Linux 下的全虛擬化解決方案。KVM 由處于內核態的 KVM 模塊和用戶態的 QEMU 兩部分構成。內核模塊實現了 CPU 和內存虛擬化等決定關鍵性能和核心安全的功能并向用戶空間提供了使用這些功能的接口,QEMU 利用 KVM 模塊提供的接口來實現設備模擬、 IO 虛擬化和網絡虛擬化等。單個虛擬機是宿主機上的一個普通 QEMU 進程,虛擬機中的 CPU 核(vCPU)是 QEMU 的一個線程,VM 的物理地址空間是 QEMU 的虛擬地址空間(圖 1)。
vCPU 線程經過 KVM 模塊提供的系統調用進入到宿主機內核態,在內核態切換到 CPU 的非根模式,即 guest 模式,此時虛擬機內的 CPU 獲得宿主機 CPU 資源,得以執行。在 guest 模式中,遇到敏感指令無法直接執行,或者有特定的內部異常和外部中斷產生,vCPU 會退出到根模式由 KVM 內核或 QEMU 來模擬執行(圖 2)。
KVM 虛擬化技術是當前云計算中計算虛擬化的主流技術,是云計算的核心底層能力,使用 KVM 把多臺物理機虛擬化后,組成一個大的虛擬資源池,方便用戶從資源池中按需分配計算能力,提升資源的使用效率,同時保證多用戶資源之間的隔離性、安全性。
肖光榮,騰訊云開源團隊負責人,操作系統專家。肖光榮在 Linux 內核、KVM 社區工作近十年,是 Ftrace, MM, Networking 等子系統的活躍貢獻者。近幾年主要工作在虛擬化領域,是 KVM 的核心開發者,Virtual NVDIMM 子系統的維護者。肖光榮向社區提交了大量 Patch,在華人內核貢獻者中排名 Top 15,在內核和 KVM 社區擁有巨大影響力。
總結
以上是生活随笔為你收集整理的KVM 虚拟化技术以及 KVM 和云计算的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java spring-webflux
- 下一篇: 世界正在走向实时化,谈谈Twitter对