aboutsummaryrefslogtreecommitdiff
blob: 9a8ffc0ba108c387b19d671e6466b676df8a33db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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
135
136
137
138
139
140
141
142
143
144
145
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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
<html>
  <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. 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>
    </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
        upto 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="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>
    </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>
        A 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 plugins</a></h2>
    <dl>
      <dt><a href="http://collectd.org/plugins/libvirt.shtml">for 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">for munin</a></dt>
      <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>.
      </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>
    </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>
    </dl>

  </body>
</html>