[one-users] Trying to understand the difference between OpenNebula vs. Libvirt

Willem van Engen wvengen at nikhef.nl
Wed Feb 24 07:14:31 PST 2010


Hi,

This is something I've asked myself as well.
(comments below)

Jack Jill wrote:
> On Tue, Feb 16, 2010 at 8:36 AM, Chintana Wilamuna <chintanaw at gmail.com 
> <mailto:chintanaw at gmail.com>> wrote:
> 
>     Hi,
> 
>     I'm trying to understand the difference between OpenNebula and
>     Libvirt.
>  
> OpenNebula is considered an IaaS solution than just a VM manager. It 
> orchestrates image storage (NFS, SCP, etc.). It handles setting up VMs 
> with a virtual network environment (VLANs). It interfaces with the 
> hypervisor to create and control VMs. OpenNebula comes with a default 
> scheduler for handling placement of VMs on hosts.
> It also supports contextualization in VMs such as setting up IP address, 
> ssh keys, etc.

The libvirt homepage www.libvirt.org mentions that it provides 
management of virtual machines, virtual networks and storage; so there 
is a little more overlap in functionality.

The documentation of libvirt notes (Goals): "libvirt is intended to be a 
building block for higher level management tools and for applications 
focusing on virtualization of a single node (the only exception being 
domain migration between node capabilities which involves more than one 
node).".
So I guess one could say that everything concerning a single node 
(physical machine) is covered by libvirt, and as such it would be 
comparable to OpenNebula's mads. (though I have seen no 
contextualisation in libvirt.)

>     Trying to build a tool on top of OpenNebula which will be
>     management interface. I'm really reluctant to use the XMLRPC
>     interface. That leaves me with using the libvirt driver for
>     OpenNebula. If I am to use that, as with my understanding OpenNebula
>     becomes redundant isn't it. Why not skip OpenNebula altogether and use
>     libvirt instead?
> 
>  
> You could use LibVirt directly, but then you would be missing out on the 
> information captured by OpenNebula information agents in the SQLite 
> database that you would perhaps want to display on the management interface.

So what does OpenNebula provide that libvirt doesn't? My take:
* Awareness of multiple physical nodes
* Contextualisation
* Allocation of IP and MAC addresses
Is this right?

Regards,
- Willem



More information about the Users mailing list