为什么需要Libvirt?
1.Hypervisor比如qemu-kvm 的命令行虚拟机管理工具参数众多,难于使用。
2.Hypervisor 种类众多,没有统一的编程接口来管理它们,这对云环境来说非常重要。
3.没有统一的方式来方便地定义虚拟机相关的各种可管理对象。
Libvirt是什么?
libvirt是用于管理平台虚拟化的一个开源API、守护进程(libvirtd)和管理工具(virsh)。
在基于云计算的解决方案中,这些API被广泛的用在虚拟机监控的编排(orchestration)层。
- 是管理虚拟化平台的成套工具;
- 使用C语言开发,并且在C、Python、Perl、Java或者其他语言中可以很容易的被使用;
- 由RedHat公司主导开发,并在开源协议下开源;
- 支持KVM, QEMU, Xen, Virtuozzo, VMWare ESX, LXC, BHyve等;
- 目标平台可以是Linux、FreeBSD、Windows和OS-X;
- 被许多应用使用,比如Virtual Machine Manager、virsh、Ovirt和OpenStack;
Libvirt的关键优势
作为中间适配层,让底层Hypervisor对上层用户空间的管理工具是可以做到完全透明的,因为libvirt屏蔽了底层各种Hypervisor的细节,为上层管理工具提供了一个统一的、较稳定的接口(API)。
最后说明
本文仅仅是了解Libvirt,如果需要进一步学习,建议移步参考部分的4和5。
2018.05.03
参考
1.维基百科-libvirt;
2.github-libvirt;
3.libvirt.org;
4.libvirt介绍;
5.(KVM连载) 6.1.1 LIBVIRT简介