Virtual Machine Manager 和 KVM/QEMU 有什麼關係?
- Virtual Machine Manager和 KVM/QEMU有什麼關係?維基百科連結說
在計算中,紅帽虛擬機管理器,也稱為 virt-manager,是一個桌面虛擬機管理器
並將“虛擬機管理器”連結到 https://en.wikipedia.org/wiki/Hypervisor。那麼如果 Virtual Machine Manager 是一個管理程序,那麼什麼是 KVM/QEMU? 2. 為什麼VirtualBox沒有分成兩部分並行Virtual Machine Manager和KVM/QEMU?在VirtualBox中,哪個部分類似於Virtual Machine Manager,哪個部分類似於KVM/QEMU?還是 VirtualBox 本身更類似於 Virtual Machine Manager 或 KVM/QEMU? 3. libvirt 是伺服器程序而 VMM 是客戶端程序是否正確?QEMU 也是 VMM 的伺服器嗎?QEMU 和 libvirt 程序有什麼關係和區別?這四個組件是否都通過 KVM <->QEMU <-> libvirt <-> VMM 進行通信?
謝謝。
- 我不確定為什麼 Wikipedia 文章將特定片語連結到管理程序文章;Virtual Machine Manager在其自己的網站上的描述更準確:
virt-manager應用程序是一個桌面使用者界面,用於通過 libvirt 管理虛擬機。
VMM 本身不是管理程序,它是用於管理虛擬機(和 LXC 容器)的 GUI。VMM 及其管理的虛擬機在不同的程序中執行;在 QEMU 的情況下,VMM 和 QEMU 使用 Unix 域套接字(在 下
/var/lib/libvirt/qemu
)進行通信。 2. VirtualBox 被分成多個組件。您可能習慣的 GUI 是一個組件。VM 可以單獨執行並使用其他工具進行管理,例如 VBoxManage。GUI 類似於 Virtual Machine Manager,VM 引擎類似於 KVM/QEMU。它們也在不同的程序中執行。 3. 正如這裡所解釋的,libvirtd
是一個守護程序,在您的術語中它可能有資格作為伺服器程序。VMM 是一個 libvirt 客戶端。VMM 不直接與 QEMU 通信,因此它不是 QEMU 客戶端。QEMU 執行虛擬機(即模擬底層硬體並處理與主機的通信),libvirtd
管理虛擬機(即管理映像、儲存、啟動和停止 VM 等)。KVM 在提供硬體管理程序支持的系統上提供硬體加速;當使用 KVM 執行時,QEMU 不需要處理不可虛擬化的 CPU 指令,硬體會處理它們。您提到的四個組件之間的通信如下:
- QEMU通過其
/dev/kvm
設備節點使用 KVM ;- libvirt 使用域套接字連接到 QEMU,如上所述;
- 據我所知,VMM 也使用域套接字連接到 libvirt。整個 libvirt 設置是鬆散耦合的:即使 VMM 和/或
libvirtd
停止,VM 也會繼續執行,並且libvirtd
可以重新連接到它管理的 VM(如果它具有 VM 的 XML 描述符)。