mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-03 20:01:16 +00:00
8b9ec18d68
These tools have been rewritten upstream, so you don't need to link to the old tools, link to the new ones and mention they are part of libguestfs. Also remove the link to "Poor man's P2V". There's no real reason to use that technique any longer since the rewritten tools are simple, fast and highly capable.
422 lines
18 KiB
XML
422 lines
18 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<body>
|
|
<h1>Applications using <strong>libvirt</strong></h1>
|
|
|
|
<p>
|
|
This page provides an illustration of the wide variety of
|
|
applications using the libvirt management API.
|
|
</p>
|
|
|
|
<ul id="toc"></ul>
|
|
|
|
<h2><a name="add">Add an application</a></h2>
|
|
|
|
<p>
|
|
To add an application not listed on this page, send a message
|
|
to the <a href="contact.html">mailing list</a>, requesting it
|
|
be added here, or simply send a patch against the documentation
|
|
in the libvirt.git docs subdirectory.
|
|
If your application uses libvirt as its API,
|
|
the following graphic is available for your website to advertise
|
|
support for libvirt:
|
|
</p>
|
|
|
|
<p class="image">
|
|
<img src="madeWith.png" alt="Made with libvirt"/>
|
|
</p>
|
|
|
|
<h2><a name="clientserver">Client/Server applications</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://archipelproject.org">Archipel</a></dt>
|
|
<dd>
|
|
Archipel is a libvirt-based solution to manage and supervise virtual
|
|
machines. It uses XMPP for all communication. There is no web
|
|
service or custom protocol. You just need at least one XMPP server,
|
|
like eJabberd, to start playing with it. This allows Archipel to
|
|
work completely real time. You never have to refresh the user
|
|
interface, you'll be notified as soon as something happens. You can
|
|
even use your favorite chat clients to command your infrastructure.
|
|
</dd>
|
|
<dd>
|
|
Isn't it great to be able to open a chat conversation with your
|
|
virtual machine and say things like "How are you today?" or "Hey,
|
|
please reboot"?
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="command">Command line tools</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://libguestfs.org">guestfish</a></dt>
|
|
<dd>
|
|
Guestfish is an interactive shell and command-line tool for examining
|
|
and modifying virtual machine filesystems. It uses libvirt to find
|
|
guests and their associated disks.
|
|
</dd>
|
|
<dt>virsh</dt>
|
|
<dd>
|
|
An interactive shell, and batch scriptable tool for performing
|
|
management tasks on all libvirt managed domains, networks and
|
|
storage. This is part of the libvirt core distribution.
|
|
</dd>
|
|
<dt><a href="http://virt-manager.org/">virt-clone</a></dt>
|
|
<dd>
|
|
Allows the disk image(s) and configuration for an existing
|
|
virtual machine to be cloned to form a new virtual machine.
|
|
It automates copying of data across to new disk images, and
|
|
updates the UUID, MAC address, and name in the configuration.
|
|
</dd>
|
|
<dt><a href="http://et.redhat.com/~rjones/virt-df/">virt-df</a></dt>
|
|
<dd>
|
|
Examine the utilization of each filesystem in a virtual machine
|
|
from the comfort of the host machine. This tool peeks into the
|
|
guest disks and determines how much space is used. It can cope
|
|
with common Linux filesystems and LVM volumes.
|
|
</dd>
|
|
<dt><a href="http://virt-manager.org/">virt-image</a></dt>
|
|
<dd>
|
|
Provides a way to deploy virtual appliances. It defines a
|
|
simplified portable XML format describing the pre-requisites
|
|
of a virtual machine. At time of deployment this is translated
|
|
into the domain XML format for execution under any libvirt
|
|
hypervisor meeting the pre-requisites.
|
|
</dd>
|
|
<dt><a href="http://virt-manager.org/">virt-install</a></dt>
|
|
<dd>
|
|
Provides a way to provision new virtual machines from a
|
|
OS distribution install tree. It supports provisioning from
|
|
local CD images, and the network over NFS, HTTP and FTP.
|
|
</dd>
|
|
<dt><a href="http://et.redhat.com/~rjones/virt-top/">virt-top</a></dt>
|
|
<dd>
|
|
Watch the CPU, memory, network and disk utilization of all
|
|
virtual machines running on a host.
|
|
</dd>
|
|
<dt>
|
|
<a href="http://people.redhat.com/~rjones/virt-what/">virt-what</a>
|
|
</dt>
|
|
<dd>
|
|
virt-what is a shell script for detecting if the program is running
|
|
in a virtual machine. It prints out a list of facts about the
|
|
virtual machine, derived from heuristics.
|
|
</dd>
|
|
<dt><a href="http://sourceware.org/systemtap/">stap</a></dt>
|
|
<dd>
|
|
SystemTap is a tool used to gather rich information about a running
|
|
system through the use of scripts. Starting from v2.4, the front-end
|
|
application stap can use libvirt to gather data within virtual
|
|
machines.
|
|
</dd>
|
|
<dt><a href="https://github.com/pradels/vagrant-libvirt/">vagrant-libvirt</a></dt>
|
|
<dd>
|
|
Vagrant-Libvirt is a Vagrant plugin that uses libvirt to manage virtual
|
|
machines. It is a command line tool for developers that makes it very
|
|
fast and easy to deploy and re-deploy an environment of vm's.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="configmgmt">Configuration Management</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="https://wiki.lcfg.org/bin/view/LCFG/LcfgLibvirt">LCFG</a></dt>
|
|
<dd>
|
|
LCFG is a system for automatically installing and managing the
|
|
configuration of large numbers of Unix systems. It is particularly
|
|
suitable for sites with very diverse and rapidly changing
|
|
configurations.
|
|
</dd>
|
|
<dd>
|
|
The lcfg-libvirt package adds support for virtualized systems to
|
|
LCFG, with both Xen and KVM known to work. Cloning guests is
|
|
supported, as are the bridged, routed, and isolated modes for
|
|
Virtual Networking.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="continuousintegration">Continuous Integration</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://buildbot.net/buildbot/docs/current/Libvirt.html">BuildBot</a></dt>
|
|
<dd>
|
|
BuildBot is a system to automate the compile/test cycle required
|
|
by most software projects. CVS commits trigger new builds, run on
|
|
a variety of client machines. Build status (pass/fail/etc) are
|
|
displayed on a web page or through other protocols.
|
|
</dd>
|
|
</dl>
|
|
|
|
<dl>
|
|
<dt><a href="http://wiki.jenkins-ci.org/display/JENKINS/Libvirt+Slaves+Plugin">Jenkins</a></dt>
|
|
<dd>
|
|
This plugin for Jenkins adds a way to control guest domains hosted
|
|
on Xen or QEMU/KVM. You configure a Jenkins Slave,
|
|
selecting the guest domain and hypervisor. When you need to build a
|
|
job on a specific Slave, its guest domain is started, then the job is
|
|
run. When the build process is finished, the guest domain is shut
|
|
down, ready to be used again as required.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="conversion">Conversion</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://libguestfs.org/virt-p2v.1.html">virt-p2v</a></dt>
|
|
<dd>
|
|
Convert a physical machine to run on KVM. It is a LiveCD
|
|
which is booted on the machine to be converted. It collects a
|
|
little information from the user, then copies the disks over
|
|
to a remote machine and defines the XML for a domain to run
|
|
the guest. (Note this tool is included with libguestfs)
|
|
</dd>
|
|
<dt><a href="http://libguestfs.org/virt-v2v.1.html">virt-v2v</a></dt>
|
|
<dd>
|
|
virt-v2v converts guests from a foreign hypervisor to run on
|
|
KVM, managed by libvirt. It can convert guests from VMware or
|
|
Xen to run on OpenStack, oVirt (RHEV-M), or local libvirt. It
|
|
will enable VirtIO drivers in the converted guest if possible.
|
|
(Note this tool is included with libguestfs)
|
|
</dd>
|
|
<dd>
|
|
For RHEL customers of Red Hat, conversion of Windows guests is also
|
|
possible. This conversion requires some Microsoft signed pieces,
|
|
that Red Hat can provide.
|
|
</dd>
|
|
<dt><a href="https://launchpad.net/virt-goodies">vmware2libvirt</a></dt>
|
|
<dd>
|
|
Part of the <i>virt-goodies</i> package, vmware2libvirt is a python
|
|
script for migrating a vmware image to libvirt.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="desktop">Desktop applications</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://virt-manager.org/">virt-manager</a></dt>
|
|
<dd>
|
|
A general purpose desktop management tool, able to manage
|
|
virtual machines across both local and remotely accessed
|
|
hypervisors. It is targeted at home and small office usage
|
|
up to managing 10-20 hosts and their VMs.
|
|
</dd>
|
|
<dt><a href="http://virt-manager.org/">virt-viewer</a></dt>
|
|
<dd>
|
|
A lightweight tool for accessing the graphical console
|
|
associated with a virtual machine. It can securely connect
|
|
to remote consoles supporting the VNC protocol. Also provides
|
|
an optional mozilla browser plugin.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="iaas">Infrastructure as a Service (IaaS)</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://cc1.ifj.edu.pl">Cracow Cloud One</a></dt>
|
|
<dd>The CC1 system provides a complete solution for Private
|
|
Cloud Computing. An intuitive web access interface with an
|
|
administration module and simple installation procedure make
|
|
it easy to benefit from private Cloud Computing technology.
|
|
</dd>
|
|
|
|
<dt><a href="http://www.emotivecloud.net">EMOTIVE Cloud</a></dt>
|
|
<dd>The EMOTIVE (Elastic Management Of Tasks In Virtualized
|
|
Environments) middleware allows executing tasks and providing
|
|
virtualized environments to the users with Xen, KVM or
|
|
VirtualBox hypervisor. EMOTIVE's main feature is VM management
|
|
with different scheduling policies. It can be also used as a
|
|
cloud provider and is very easy to extend thanks to its
|
|
modular Web Services architecture.
|
|
</dd>
|
|
|
|
<dt><a href="http://www.eucalyptus.com">Eucalyptus</a></dt>
|
|
<dd>
|
|
Eucalyptus is an on-premise Infrastructure as a Service cloud
|
|
software platform that is open source and
|
|
AWS-compatible. Eucalyptus uses libivrt virtualization API to
|
|
directly interact with Xen and KVM hypervisors.
|
|
</dd>
|
|
|
|
<dt><a href="http://www.nimbusproject.org">Nimbus</a></dt>
|
|
<dd>
|
|
Nimbus is an open-source toolkit focused on providing
|
|
Infrastructure-as-a-Service (IaaS) capabilities to the scientific
|
|
community. It uses libvirt for communication with all KVM and Xen
|
|
virtual machines.
|
|
</dd>
|
|
|
|
<dt><a href="http://snooze.inria.fr">Snooze</a></dt>
|
|
<dd>
|
|
Snooze is an open-source scalable, autonomic, and energy-efficient
|
|
virtual machine (VM) management framework for private clouds. It
|
|
integrates libvirt for VM monitoring, live migration, and life-cycle
|
|
management.
|
|
</dd>
|
|
|
|
<dt><a href="http://www.openstack.org">OpenStack</a></dt>
|
|
<dd>
|
|
OpenStack is a "cloud operating system" usable for both public
|
|
and private clouds. Its various parts take care of compute,
|
|
storage and networking resources and interface with the user
|
|
using a dashboard. Compute part uses libvirt to manage VM
|
|
life-cycle, monitoring and so on.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="libraries">Libraries</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://libguestfs.org">libguestfs</a></dt>
|
|
<dd>
|
|
A library and set of tools for accessing and modifying virtual
|
|
machine disk images. It can be linked with C and C++ management
|
|
programs, and has bindings for Perl, Python, Ruby, Java, OCaml,
|
|
PHP, Haskell, and C#.
|
|
</dd>
|
|
<dd>
|
|
Using its FUSE module, you can also mount guest filesystems on the
|
|
host, and there is a subproject to allow merging changes into the
|
|
Windows Registry in Windows guests.
|
|
</dd>
|
|
|
|
<dt><a href="http://sandbox.libvirt.org">libvirt-sandbox</a></dt>
|
|
<dd>
|
|
A library and command line tools for simplifying the creation of
|
|
application sandboxes using virtualization technology. It currently
|
|
supports either KVM, QEMU or LXC as backends. Integration with
|
|
systemd facilitates sandboxing of system services like apache.
|
|
</dd>
|
|
<dt><a href="https://github.com/ohadlevy/virt#readme">Ruby
|
|
Libvirt Object bindings</a></dt>
|
|
<dd>
|
|
Allows using simple ruby objects to manipulate
|
|
hypervisors, guests, storage, network etc. It is
|
|
based on top of
|
|
the <a href="http://libvirt.org/ruby">native ruby bindings</a>.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="livecd">LiveCD / Appliances</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://et.redhat.com/~rjones/virt-p2v/">virt-p2v</a></dt>
|
|
<dd>
|
|
An older tool for converting a physical machine into a virtual
|
|
machine. It is a LiveCD which is booted on the machine to be
|
|
converted. It collects a little information from the user, then
|
|
copies the disks over to a remote machine and defines the XML for a
|
|
domain to run the guest.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="monitoring">Monitoring</a></h2>
|
|
<dl>
|
|
<dt><a href="http://collectd.org/plugins/libvirt.shtml">collectd</a></dt>
|
|
<dd>
|
|
The libvirt-plugin is part of <a href="http://collectd.org/">collectd</a>
|
|
and gathers statistics about virtualized guests on a system. This
|
|
way, you can collect CPU, network interface and block device usage
|
|
for each guest without installing collectd on the guest systems.
|
|
For a full description, please refer to the libvirt section in the
|
|
collectd.conf(5) manual page.
|
|
</dd>
|
|
<dt><a href="http://honk.sigxcpu.org/projects/libvirt/#munin">Munin</a></dt>
|
|
<dd>
|
|
The plugins provided by Guido Günther allow to monitor various things
|
|
like network and block I/O with
|
|
<a href="http://munin.projects.linpro.no/">Munin</a>.
|
|
</dd>
|
|
<dt><a href="http://et.redhat.com/~rjones/nagios-virt/">Nagios-virt</a></dt>
|
|
<dd>
|
|
Nagios-virt is a configuration tool to add monitoring of your
|
|
virtualised domains to <a href="http://www.nagios.org/">Nagios</a>.
|
|
You can use this tool to either set up a new Nagios installation for
|
|
your Xen or QEMU/KVM guests, or to integrate with your existing Nagios
|
|
installation.
|
|
</dd>
|
|
<dt><a href="http://community.zenoss.org/docs/DOC-4687">Zenoss</a></dt>
|
|
<dd>
|
|
The Zenoss libvirt Zenpack adds support for monitoring virtualization
|
|
servers. It has been tested with KVM, QEMU, VMware ESX, and VMware
|
|
GSX.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="provisioning">Provisioning</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://www.ibm.com/software/tivoli/products/prov-mgr/">Tivoli Provisioning Manager</a></dt>
|
|
<dd>
|
|
Part of the IBM Tivoli family, Tivoli Provisioning Manager (TPM) is
|
|
an IT lifecycle automation product. It
|
|
<a href="http://publib.boulder.ibm.com/infocenter/tivihelp/v38r1/index.jsp?topic=/com.ibm.tivoli.tpm.apk.doc/libvirt_package.html">uses libvirt</a>
|
|
for communication with virtualization hosts and guest domains.
|
|
</dd>
|
|
</dl>
|
|
|
|
<dl>
|
|
<dt><a href="http://theforeman.org">Foreman</a></dt>
|
|
<dd>
|
|
Foreman is an open source web based application aimed to be a
|
|
Single Address For All Machines Life Cycle Management. Foreman:
|
|
|
|
<ul>
|
|
<li>Creates everything you need when adding a new machine to
|
|
your network, its goal being automatically managing
|
|
everything you would normally manage manually (DNS, DHCP,
|
|
TFTP, Virtual Machines,CA, CMDB...)</li>
|
|
<li>Integrates with Puppet (and acts as web front end to it).</li>
|
|
<li>Takes care of provisioning until the point puppet is
|
|
running, allowing Puppet to do what it does best.</li>
|
|
<li>Shows you Systems Inventory (based on Facter) and
|
|
provides real time information about hosts status based on
|
|
Puppet reports.</li>
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
|
|
|
|
<h2><a name="web">Web applications</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="http://community.abiquo.com/display/AbiCloud">AbiCloud</a></dt>
|
|
<dd>
|
|
AbiCloud is an open source cloud platform manager which allows to
|
|
easily deploy a private cloud in your datacenter. One of the key
|
|
differences of AbiCloud is the web rich interface for managing the
|
|
infrastructure. You can deploy a new service just dragging and
|
|
dropping a VM.
|
|
</dd>
|
|
<dt><a href="http://ovirt.org/">oVirt</a></dt>
|
|
<dd>
|
|
oVirt provides the ability to manage large numbers of virtual
|
|
machines across an entire data center of hosts. It integrates
|
|
with FreeIPA for Kerberos authentication, and in the future,
|
|
certificate management.
|
|
</dd>
|
|
<dt><a href="http://ispsystem.com/en/software/vmmanager">VMmanager</a></dt>
|
|
<dd>
|
|
VMmanager is a software solution for virtualization management
|
|
that can be used both for hosting virtual machines and
|
|
building a cloud. VMmanager can manage not only one server,
|
|
but a large cluster of hypervisors. It delivers a number of
|
|
functions, such as live migration that allows for load
|
|
balancing between cluster nodes, monitoring CPU, memory.
|
|
</dd>
|
|
</dl>
|
|
|
|
<h2><a name="mobile">Mobile applications</a></h2>
|
|
|
|
<dl>
|
|
<dt><a href="https://market.android.com/details?id=vm.manager">VM Manager</a></dt>
|
|
<dd>
|
|
VM Manager is VM (libvirt) manager (over SSH) application. VM Manager
|
|
is an application for libvirt VM / Domain management over SSH.
|
|
Please keep in mind that this software is under heavy development.
|
|
</dd>
|
|
</dl>
|
|
|
|
</body>
|
|
</html>
|