libvirt是什么?
libvirt是一套用于管理硬件虚拟化的开源 API、守护进程与管理工具。此套组可用于管理 KVM、Xen、VMware ESXi、QEMU 及其他虚拟化技术。libvirt 内置的 API 广泛用于云解决方案开发中的虚拟机监视器编排层。
内部构造
libvirt 是一个 C 语言库,但也被其他语言的应用程序所应用,如最为人知的 Python、Perl、OCaml、Ruby、Java、JavaScript(使用 Node.js)及 PHP。 在这些语言中,libvirt 被封装为libvirtmod类或包。libvirtmod 的实现与其 C/C 语言的相应实现在语法和功能方面紧密相关。
支持应用
- LXC – 轻量级 Linux 容器系统
- OpenVZ – 轻量级 Linux 容器系统
- 基于内核的虚拟机/QEMU(KVM)– 支持 Linux 及 SmartOS 的开源虚拟机监视器
- Xen – 裸机虚拟机监视器
- 用户模式 Linux(UML)超虚拟化内核
- VirtualBox – 由 Oracle(先前为 Sun)开发、支持 Windows、Linux、MacOS 和 Solaris 的虚拟机监视器
- VMware ESXi 及 GSX – 英特尔硬件虚拟机监视器
- VMware Workstation 和 VMware Player – 适用于 Windows 及 Linux 的虚拟机监视器
- Hyper-V – 由微软为 Windows 打造的虚拟机监视器
- PowerVM – 由 IBM 为 AIX、Linux 和 IBM i 平台打造的虚拟机监视器
- Parallels Workstation – 由 Parallels IP Holdings GmbH 为 macOS 开发的虚拟机监视器
- Bhyve – 支持 FreeBSD 10 的虚拟机监视器。(于 libvirt 1.2.2 版本中添加支持)
用户界面
诸多虚拟化程序及平台均使用 libvirt。Virtual Machine Manager 和其他软件提供用户界面支持。最饱受欢迎的命令行界面程序为 virsh 和更为高级的工具(如 oVirt)。
GNOME 机柜也使用 libvirt。
合作关系
红帽公司支持 libvirt 的开发,同时其他组织及个体也做出了重大贡献。Libvirt 可用于多数 Linux 发行版中;其远程服务器端可被苹果公司的 macOS 及 Microsoft Windows 客户端访问。