apps.html.in 12.4 KB
Newer Older
1 2 3 4 5 6
<html>
  <body>
    <h1>Applications using <strong>libvirt</strong></h1>

    <p>
      This page provides an illustration of the wide variety of
7 8 9 10 11 12 13 14 15 16 17 18 19
      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. If your application uses libvirt as its API,
      the following graphic is available for your website to advertise
      support for libvirt:
20 21 22 23 24 25
    </p>

    <p class="image">
      <img src="madeWith.png" alt="Made with libvirt"/>
    </p>

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
    <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>

46
    <h2><a name="command">Command line tools</a></h2>
47 48

    <dl>
49 50 51 52 53 54
      <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>
55 56
      <dt>virsh</dt>
      <dd>
M
Matthew Booth 已提交
57 58 59
        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.
60 61 62
      </dd>
      <dt><a href="http://virt-manager.org/">virt-clone</a></dt>
      <dd>
M
Matthew Booth 已提交
63 64 65
        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
66 67 68 69 70 71 72 73
        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.
74 75 76
      </dd>
      <dt><a href="http://virt-manager.org/">virt-image</a></dt>
      <dd>
M
Matthew Booth 已提交
77 78 79 80 81
        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.
82
      </dd>
83
      <dt><a href="http://virt-manager.org/">virt-install</a></dt>
84
      <dd>
85 86 87
        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.
88 89 90
      </dd>
      <dt><a href="http://et.redhat.com/~rjones/virt-top/">virt-top</a></dt>
      <dd>
M
Matthew Booth 已提交
91 92
        Watch the CPU, memory, network and disk utilization of all
        virtual machines running on a host.
93
      </dd>
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
      <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>
    </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>
135
      <dt><a href="http://wiki.jenkins-ci.org/display/JENKINS/Libvirt+Slaves+Plugin">Jenkins</a></dt>
136
      <dd>
137 138
        This plugin for Jenkins adds a way to control guest domains hosted
        on Xen or QEMU/KVM.  You configure a Jenkins Slave,
139 140 141 142 143
        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>
144 145
    </dl>

146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
    <h2><a name="conversion">Conversion</a></h2>

    <dl>
      <dt><a href="https://rwmj.wordpress.com/2009/10/13/poor-mans-p2v/">Poor mans p2v</a></dt>
      <dd>
        A simple approach for converting a physical machine to a virtual
        machine, using a rescue CD.
      </dd>
      <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>
      <dt><a href="http://git.fedorahosted.org/git/?p=virt-v2v.git;a=summary">virt-v2v</a></dt>
      <dd>
        virt-v2v converts guests from a foreign hypervisor to run on KVM,
        managed by libvirt.  It can currently convert Red Hat Enterprise
        Linux (RHEL) and Fedora guests running on Xen and VMware ESX.  It
        will enable VirtIO drivers in the converted guest if possible.
      </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>
174
      <dt><a href="https://launchpad.net/virt-goodies">vmware2libvirt</a></dt>
175
      <dd>
176 177
        Part of the <i>virt-goodies</i> package, vmware2libvirt is a python
        script for migrating a vmware image to libvirt.
178 179 180
      </dd>
    </dl>

181
    <h2><a name="desktop">Desktop applications</a></h2>
182 183 184 185

    <dl>
      <dt><a href="http://virt-manager.org/">virt-manager</a></dt>
      <dd>
M
Matthew Booth 已提交
186 187 188 189
        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
        upto managing 10-20 hosts and their VMs.
190 191 192
      </dd>
      <dt><a href="http://virt-manager.org/">virt-viewer</a></dt>
      <dd>
M
Matthew Booth 已提交
193 194 195 196
        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.
197
      </dd>
198 199 200 201 202 203 204 205 206 207 208 209
    </dl>

    <h2><a name="iaas">Infrastructure as a Service (IaaS)</a></h2>

    <dl>
      <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>
210 211
    </dl>

212
    <h2><a name="libraries">Libraries</a></h2>
213 214

    <dl>
215
      <dt><a href="http://libguestfs.org">libguestfs</a></dt>
216
      <dd>
217 218 219 220
        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#.
221
      </dd>
222
      <dd>
223 224 225
        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.
226
      </dd>
227 228
    </dl>

229
    <h2><a name="livecd">LiveCD / Appliances</a></h2>
230 231 232 233

    <dl>
      <dt><a href="http://et.redhat.com/~rjones/virt-p2v/">virt-p2v</a></dt>
      <dd>
234 235 236 237 238
        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.
239 240 241
      </dd>
    </dl>

242
    <h2><a name="monitoring">Monitoring</a></h2>
243
    <dl>
244
      <dt><a href="http://collectd.org/plugins/libvirt.shtml">collectd</a></dt>
245
      <dd>
M
Matthew Booth 已提交
246
        The libvirt-plugin is part of <a href="http://collectd.org/">collectd</a>
247
        and gathers statistics about virtualized guests on a system. This
248 249
        way, you can collect CPU, network interface and block device usage
        for each guest without installing collectd on the guest systems.
250 251 252
        For a full description, please refer to the libvirt section in the
        collectd.conf(5) manual page.
      </dd>
253
      <dt><a href="http://honk.sigxcpu.org/projects/libvirt/#munin">Munin</a></dt>
254 255 256 257
      <dd>
        The plugins provided by Guido G&uuml;nther allow to monitor various things
        like network and block I/O with
        <a href="http://munin.projects.linpro.no/">Munin</a>.
258
      </dd>
259
      <dt><a href="http://et.redhat.com/~rjones/nagios-virt/">Nagios-virt</a></dt>
260
      <dd>
261
        Nagios-virt is a configuration tool to add monitoring of your
M
Matthew Booth 已提交
262
        virtualised domains to <a href="http://www.nagios.org/">Nagios</a>.
263 264 265 266
        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>
267 268 269 270 271 272
      <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>
273
    </dl>
274

275 276 277 278 279 280 281 282 283 284 285 286 287
    <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>


288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307
    <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>
    </dl>

308 309
  </body>
</html>