没有使用Libvirt的虚拟机运行架构的管理方式如图1所示。
Libvirt的体系结构,为支持各种虚拟机监控程序的可扩展性,Libvirt实施了一种基于驱动程序的架构,该架构允许一种通用的API以通用方式为大量潜在的虚拟机监控程序提供服务。
图2展示了Libvirt API与相关驱动程序的层次结构。这里也需要注意,Libvirtd提供从远程应用程序访问本地域的方式。
图1 无Libvirt管理时虚拟机运行架构
图2 使用Libvirt API管理时虚拟机运行架构
Libvirt的控制方式有两种:
①管理应用程序和域位于同一结点上。管理应用程序通过Libvirt工作,以控制本地域。图3所示为管理应用程序和域位于同一结点时的虚拟机运行架构。
②管理应用程序和域位于不同结点上。该模式使用一种运行于远程结点上、名为Libvirtd的特殊守护进程。当在新结点上安装Libvirt时该程序会自动启动,且可自动确定本地虚拟机监控程序并为其安装驱动程序。
该管理应用程序通过一种通用协议从本地Libvirt连接到远程libvirtd。图4所示为管理应用程序和域位于不同结点时的虚拟机运行架构。
图3 管理应用程序和域位于同一结点
图4 管理应用程序和域位于不同结点上