Kvm-Virtualization

QEMU 在伺服器虛擬化中的作用是什麼?

  • April 20, 2020

我知道 KVM 通過利用 CPU 晶片(如 Intel VT)中的虛擬化擴展來提供硬體加速功能。這樣 VCPU 可以直接映射到物理 CPU 以達到幾乎原生的速度。

由於 Linux 核心包含硬碟、網路和記憶體的驅動程序。為什麼我們需要 QEMU 來進行伺服器虛擬化?(假設我們不需要模擬顯卡等設備)。

除此之外,還有由 virtio 驅動程序提供的準虛擬化支持。磁碟 I/O 和網路性能顯著提高。為什麼我們不能只使用 KVM 和 virtio。QEMU 在這種情況下的作用是什麼?

QEMU 是虛擬硬體。CPU、晶片組、I/O 匯流排、中斷控制器、基本外設和其他使平台工作的零碎硬體 API。仿真足夠好,可以在外星硬體上執行十幾個平台。慢慢地,由於重寫 CPU 指令的成本,但有可能。相對於本機來說速度較慢,也就是說,QEMU 是一個“快速仿真器”。

主機 Linux 核心類似於虛擬韌體和驅動程序。低級刺激實際硬體以使其執行。Linux 當然可以自己執行使用者空間程序,在這種情況下,這些程序是模擬硬體的虛擬機。

KVM 添加了利用硬體輔助虛擬化的加速驅動程序。消除仿真和其他成本使其更快。不再可能模擬任何硬體平台。但在實踐中,購買 ARM、POWER 或 x86 並各自執行其本機架構的客戶機更為有效。

引用自:https://serverfault.com/questions/1013178