ONE 1.0 Overview

dsa-research.org is pleased to announce the first stable version (1.0) of OpenNebula (ONE) Virtual infrastructure engine is available for download under the terms of the Apache License, Version 2.0. ONE enables the dynamic allocation of virtual machines on a pool of physical resources, so extending the benefits of existing virtualization platforms from a single physical resource to a pool of resources, decoupling the server not only from the physical infrastructure but also from the physical location.

Feature Summary

The OpenNebula Virtual Infrastructure Engine differentiates from existing VM managers in its highly modular and open architecture designed to meet the requirements of cluster administrators. The last version supports Xen and KVM virtualization platforms to provide the following features and capabilities:

  • Efficient Resource Management. The scheduling module provides a generic framework to build any scheduling policy. The default scheduling policy determines the best host to start a VM according to requirement and rank expressions consisting on infrastructure parameters. Now including support to build any capacity provision policy and for advance reservation of capacity through the Haizea lease manager.
  • Powerful API and CLI interfaces for monitoring and controlling VMs and physical resources.
  • Fault tolerant design, state is kept in a SQLite database.
  • Centralized Management. A single access point to manage a pool of VMs and physical resources.
  • Multiple hypervisor support. Currently, ONE can interface both XEN and KVM hypervisors.
  • Support to access Amazon EC2 resources to supplement local resources with cloud resources to satisfy peak or fluctuating demands.
  • 3rd Party Software Integration. The OpenNebula Engine provides a command line interface for monitoring and controlling VMs and physical resources quite similar to that provided by well-known cluster management services. Such interface allows its integration with third-party tools, such as LRMs (Local Resource Managers), service adapters, VM image managers…; providing a complete solution for the deployment of flexible and efficient virtual infrastructures.
  • Open and Flexible Architecture. The access to the hypervisors is performed through customizable programs. So the administrator can tailor the behavior of OpenNebula by adding new infrastructure metrics and parameters or even supporting new Hypervisors.
  • Ease of Installation and Administration. OpenNebula is installed on a cluster front-end without requiring the installation of new services in the remote resources, apart from the Xen Hypervisor.
  • Open Source Software. OpenNebula is open source software released under Apache license v2.0 and support is provided through a mailing lists.
  • OpenNebula is an Active Project. We are working to extend its functionality. As engine for the dynamic management of VMs, OpenNebula is being enhanced in the context of the RESERVOIR project (EU grant agreement 215605) to address the requirements of several business use cases.

Technology Dependencies

Frontend

The ONE Server machine needs to have installed the following software:

  • ruby >= 1.8.5
  • sqlite3 >= 3.5.2
  • sqlite3-dev >= 3.5.6-3
  • sqlite3-ruby
  • libxmlrpc-c >= 1.06
  • scons >= 0.97

Most of this software is already packaged in linux distributions. Here are the packages needed in a debian lenny.

  • ruby: ruby
  • sqlite3: libsqlite3-0, sqlite3
  • sqlite3-dev : libsqlite3-dev
  • sqlite3-ruby: libsqlite3-ruby
  • libxmlrpc-c: libxmlrpc-c3-dev, libxmlrpc-c3
  • scons: scons

Hosts

Provisioning hosts (here Host 1 and Host 2) need to have installed:

  • ruby >= 1.8.5
  • sudo >= 1.6.9

and either

  • xen >= 3.1

or

  • kvm >= kernel 2.6.20
  • libvirt >= 0.4.0

Supported Platforms

  • Linux : Tested with the CentOS 5/Ubuntu 8.04/Fedora 8/Debian Etch distribution.
  • Mac OS X 10

Solved Bugs

Known Problems

  • The ONE database file (that lives in $ONE_LOCATION/var/one.db) must be placed on a local folder on the ONE server. The sqlite driver to access the DB doesn't handle correctly NFS locks. But ONE needs it's var folder to be exported via NFS, for checkpointing. Therefore, the recommended setup is to place the ONE installation in the same host that exports NFS folders, installing it in one of such exported folders.
    • Whenever the possibility to install ONE in the NFS server is unfeasible, there is a solution involving a soft link that points from ONE's var directory to a local empty file called one.db that will be used as the ONE database. A sample of a bash command that will perform this operation is:
$> mkdir /var/spool/nebula  
$> touch /var/spool/nebula/one.db  
$> ln -s /var/spool/nebula/one.db $ONE_LOCATION/var/one.db

After this make sure this file is readable and writable by <oneadmin> user.

  • Performance issues on AMD64 due to the xmlrpc library.