沒有使用Libvirt的虛擬機運行架構的管理方式如圖1所示。
Libvirt的體系結構,為支持各種虛擬機監控程序的可擴展性,Libvirt實施了一種基于驅動程序的架構,該架構允許一種通用的API以通用方式為大量潛在的虛擬機監控程序提供服務。
圖2展示了Libvirt API與相關驅動程序的層次結構。這里也需要注意,Libvirtd提供從遠程應用程序訪問本地域的方式。
圖1 無Libvirt管理時虛擬機運行架構
圖2 使用Libvirt API管理時虛擬機運行架構
Libvirt的控制方式有兩種:
①管理應用程序和域位于同一結點上。管理應用程序通過Libvirt工作,以控制本地域。圖3所示為管理應用程序和域位于同一結點時的虛擬機運行架構。
②管理應用程序和域位于不同結點上。該模式使用一種運行于遠程結點上、名為Libvirtd的特殊守護進程。當在新結點上安裝Libvirt時該程序會自動啟動,且可自動確定本地虛擬機監控程序并為其安裝驅動程序。
該管理應用程序通過一種通用協議從本地Libvirt連接到遠程libvirtd。圖4所示為管理應用程序和域位于不同結點時的虛擬機運行架構。
圖3 管理應用程序和域位于同一結點
圖4 管理應用程序和域位于不同結點上