体系结构

libvirt 是一个 C 工具包,管理着新版本 linux 的虚拟化功能(包括其它操作系统)。
目标 本文档中定义:

  • node:物理机
  • hypervisor :将 node 虚拟化成一系列(可不同配置的)虚拟机的软件层
  • domain :虚拟机中的一个 OS 实例(或虚拟化容器中的子系统)
    体系结构
    文章图片
  • goal : 提供一个统一的、稳定的软件层安全的管理 node 上的(远程) domain .
因此, libvirt 要提供所有管理 domain 的接口,例如:规定、创建、修改、监视、控制、迁移和停止。当然,这些操作都必须在 hypervisor 能支持的基础之上。在某一时刻,libvirt 可访问多个 node,但是每个接口只能访问一个 node。为了管理和提供资源给 domains,libvirt 接口可在 node 资源上进行操作,例如:界面设置、防火墙规则、存储管理和通用配置的接口。libvirt 也提供state 监测的接口,检查 domain state,显示本地 node 资源的消耗。
【体系结构】这意味着以下几个 sub-goals:
  • 所有接口可以都远程操作
  • 尽管大多数接口在 hypervisor 或主机OS上通用,但是某些接口可能针对单个虚拟化环境的,只要从 domain 管理角度来看,(接口)操作的语义很清楚。

    推荐阅读