為什么需要Libvirt?
1.Hypervisor比如qemu-kvm 的命令行虛擬機管理工具參數(shù)眾多,難于使用。
2.Hypervisor 種類眾多,沒有統(tǒng)一的編程接口來管理它們,這對云環(huán)境來說非常重要。
3.沒有統(tǒng)一的方式來方便地定義虛擬機相關的各種可管理對象。
Libvirt是什么?
libvirt是用于管理平臺虛擬化的一個開源API、守護進程(libvirtd)和管理工具(virsh)。
在基于云計算的解決方案中,這些API被廣泛的用在虛擬機監(jiān)控的編排(orchestration)層。
- 是管理虛擬化平臺的成套工具;
- 使用C語言開發(fā),并且在C、Python、Perl、Java或者其他語言中可以很容易的被使用;
- 由RedHat公司主導開發(fā),并在開源協(xié)議下開源;
- 支持KVM, QEMU, Xen, Virtuozzo, VMWare ESX, LXC, BHyve等;
- 目標平臺可以是Linux、FreeBSD、Windows和OS-X;
- 被許多應用使用,比如Virtual Machine Manager、virsh、Ovirt和OpenStack;
Libvirt的關鍵優(yōu)勢
作為中間適配層,讓底層Hypervisor對上層用戶空間的管理工具是可以做到完全透明的,因為libvirt屏蔽了底層各種Hypervisor的細節(jié),為上層管理工具提供了一個統(tǒng)一的、較穩(wěn)定的接口(API)。
最后說明
本文僅僅是了解Libvirt,如果需要進一步學習,建議移步參考部分的4和5。
2018.05.03
參考
1.維基百科-libvirt;
2.github-libvirt;
3.libvirt.org;
4.libvirt介紹;
5.(KVM連載) 6.1.1 LIBVIRT簡介