前言
之前認識玩虛擬機的基礎概念,今天來講講 PVE 是如何運用這些概念打造一個易於應用且效能強大的虛擬化環境。
QEMU/KVN 介紹
如前面所述,PVE 作為一個伺服器虛擬化環境,裡頭採用的是較新的 QEMU/KVM架構。
- QEMU(Quick EMUlato):顧名思義,就是一個軟體模擬器,從運行 Qemu 的主機系統的角度來看,Qemu 是一個用戶程式,通常用來模擬一些不存在的硬體裝置。
- KVM(Kernel-based Virtual Machine):如前面所說,是一種運用硬體加速的虛擬化技術。
值得得一提的是:
- QEMU 最早並不需要與 KVM 一起合作才能運行與使用,若無KVM的話則將僅使用軟體模擬。是直到後頭的版本,兩者的關係才變得如此密不可分。
- KVM 也不是最早就綑綁著 Kernel 一同發行,是直到 2007 年才被導入 Linux 2.6.20 核心(也意味著使用在在這之前的 Linux Kernel ,對虛擬化支援將不如此完善)
QEMU/KVN 架構
PVE 詳細的 QEMU/KVM 架構如下:
從底層往上看,在 CPU 支援硬體虛擬化技術(如 Intel VT-x),KVM 作為 Linux Kernel 的一個 Module,得以運用其加速優勢,在 Kernel Space 運行虛擬機 VMM 程式,在其之上,由 QEMU 在 User Space 提供其他硬體模擬的服務。
結語
明天,我們將繼續討論 KVM 與 QEMU 如何溝通,又其詳細的交流過曾為何。