虚拟化——libvirt

。_饼干妹妹 提交于 2019-12-10 02:03:51

一句话:一个工具,用于统一管理不同的虚拟化设施(xen、qemu、vmware……)。

官网:http://libvirt.org

图示:

image

image

第一个图,表现出使用libvirt的一种情况(用例),第二个图远程监控,正如openstack,一般各个计算节点运行虚拟化,控制节点可以管理、监控虚拟化。

网上更多的定义:

Libvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等。这些软件包括一个API库、一个daemon(libvirtd)和一个命令行工具(virsh)。Libvirt的主要目标是:提供一种单一的方式管理多种不同的虚拟化提供方式和hypervisor。比如,命令行“virsh list -- all”可以列出所有任何支持的、基于hypervisor的虚拟机,这就避免学习、使用不同hypervisor的特定工具。

libvirt功能:

“使用libvirt”,意味着使用virsh、virt-manager、virt-install等工具管理虚拟机,这些工具都是围绕着libvirt开发的。人们不再直接使用基于XEN的xm、或是qemu/qemu-kvm等二进制工具。

虚拟机管理:

包括不同的领域生命周期操作,比如:启动、停止、暂停、保存、恢复和迁移。支持多种设备类型的热插拔操作,包括:磁盘、网卡、内存和CPU。

远程机器支持:

只要机器上运行了libvirt daemon,包括远程机器,所有的libvirt功能就都可以访问和使用。支持多种网络远程传输,使用最简单的SSH,不需要额外配置工作。比如:example.com运行了libvirt,而且允许SSH访问,下面的命令行就可以在远程的主机上使用virsh命令行。 (可参考 http://libvirt.org/remote.html )

         virsh --connect qemu+ssh://root@example.com/system

存储管理:

任何运行了libvirt daemon的主机都可以用来管理不同类型的存储:创建不同格式的文件映像(qcow2、vmdk、raw等)、挂接NFS共享、列出现有的LVM卷组、创建新的LVM卷组和逻辑卷、对未处理过的磁盘设备分区、挂接iSCSI共享,等等等等。因为libvirt可以远程工作,所有这些都可以通过远程主机使用。(可参考http://libvirt.org/storage.html

网络接口管理:

任何运行了libvirt daemon的主机都可以用来管理物理和逻辑的网络接口。可以列出现有的接口卡,配置、创建接口,以及桥接、vlan和关联设备等,通过netcf都可以支持。

虚拟NAT和基于路由的网络:

任何运行了libvirt daemon的主机都可以用来管理和创建虚拟网络。Libvirt虚拟网络使用防火墙规则作为路由器,让虚拟机可以透明访问主机的网络。(可参考:http://libvirt.org/archnetwork.html

Libvirt支持的Hypervisor列表:

http://libvirt.org/drivers.html

Xen
QEMU
LXC
Test
OpenVZ
VirtualBox
OpenNebula
VMware ESX

Libvirt基于GNU Lesser General Public License协议。

参考:

1.IBM,Libvirt 虚拟化库剖析:http://www.ibm.com/developerworks/cn/linux/l-libvirt/index.html

2.Libvirt简介http://blog.csdn.net/MagBryan/article/details/5403907

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!