OpenNebula is the open-source industry standard for data center virtualization, offering the most feature-rich, flexible solution for the comprehensive management of virtualized data centers to enable on-premise Infrastructure as a Service Clouds. This guide gives an overview of OpenNebula and summarizes its main benefits for the different stakeholders involved in a cloud computing infrastructure.
inlinetoc
What Are the Key Features Provided by OpenNebula?
What Are the Interfaces Provided by OpenNebula?
OpenNebula provides many different interfaces that can be used to interact with the functionality offered to manage physical and virtual resources. There are four main different perspectives to interact with OpenNebula:
-
-
-
A
Marketplace for
Appliance Builders with a catalog of virtual appliances ready to run in OpenNebula environments.
What Does OpenNebula Offer to Cloud Consumers?
OpenNebula provides a powerful, scalable and secure multi-tenant cloud platform for fast delivery and elasticity of virtual resources. Multi-tier applications can be deployed and consumed as pre-configured virtual appliances from catalogs.
Image Catalogs: OpenNebula allows to store
disk images in catalogs (termed datastores), that can be then used to define VMs or shared with other users. The images can be
OS installations, persistent data sets or empty data blocks that are created within the datastore.
Network Catalogs:
Virtual networks can be also be organised in network catalogs, and provide means to interconnect virtual machines. This kind of resources can be defined as fixed or ranged networks, and can be used to achieve full isolation between virtual networks.
VM Template Catalog: The
template catalog system allows to register
virtual machine definitions in the system, to be instantiated later as virtual machine instances.
Virtual Resource Control and Monitoring: Once a template is instantiated to a virtual machine, there are a number of operations that can be performed to control lifecycle of the
virtual machine instances, such as migration (live and cold), stop, resume, cancel, poweroff, etc.
-
What Does OpenNebula Offer to Cloud Operators?
OpenNebula is composed of the following subsystems:
Virtualization: Various hypervisors are supported in the
virtualization manager, with the ability to control the complete lifecycle of Virtual Machines and multiple hypervisors in the same cloud infrastructure.
Hosts: The
host manager provides complete functionality for the management of the physical hosts in the cloud.
Monitoring: Virtual resources as well as
hosts are periodically monitored for key performance indicators. The information can then used by a powerful and flexible
scheduler for the definition of workload and resource-aware allocation policies. You can also
gain insight application status and performance.
Accounting: A Configurable
accounting system to visualize and report resource usage data, to allow their integration with chargeback and billing platforms, or to guarantee fair share of resources among users.
Networking: An easily adaptable and customizable
network subsystem is present in OpenNebula in order to better integrate with the specific network requirements of existing data centers and to allow full isolation between virtual machines that composes a virtualised service.
Storage: The support for multiple datastores in the
storage subsystem provides extreme flexibility in planning the storage backend and important performance benefits.
Security: This feature is spread across several subsystems:
authentication and authorization mechanisms allowing for various possible mechanisms to identify a authorize users, a powerful
Access Control List mechanism allowing different role management with fine grain permission granting over any resource managed by OpenNebula, support for isolation at different levels…
High Availability: Support for HA architectures and
configurable behavior in the event of host or VM failure to provide easy to use and cost-effective failover solutions.
Clusters:
Clusters are pools of hosts that share datastores and virtual networks. Clusters are used for load balancing, high availability, and high performance computing.
Multiple Zones: The OpenNebula Zones component (
oZones) allows for the centralized management of multiple instances of OpenNebula, called
Zones, for scalability, isolation and multiple-site support.
VDCs. An OpenNebula instance (or Zone) can be further compartmentalized in
Virtual Data Centers (VDCs), which offer a fully-isolated virtual infrastructure environments where a group of users, under the control of the VDC administrator, can create and manage compute, storage and networking capacity.
Hybrid: OpenNebula gives support to build a
hybrid cloud, an extension of a private cloud to combine local resources with resources from remote cloud providers. A whole public cloud provider can be encapsulated as a local resource to be able to use extra computational capacity to satisfy peak demands.
What Does OpenNebula Offer to Cloud Builders?
OpenNebula offers broad support for commodity and enterprise-grade hypervisor, monitoring, storage, networking and user management services:
Virtualization: Several hypervisor technologies are fully supported, like
Xen,
KVM and
VMware.
Monitoring: OpenNebula provides its own customized monitoring system and also integrates with data center monitoring tools like
Ganglia.
Storage: Multiple backends are supported like the regular (shared or not)
filesystem datastore supporting popular distributed file systems like NFS, Lustre, GlusterFS, ZFS, GPFS, MooseFS…; the
iSCSI datastore, the
VMware datastore (both regular filesystem or VMFS based) specialized for the VMware hypervisor that handle the vmdk format; the
iSCSI/LVM datastore to store disk images in a block device form; and
Ceph for distributed block device.
Databases: Aside from the original sqlite backend,
mysql is also supported.
Hybrid: Out of the box connectors are shipped to support
Amazon EC2 cloudbursting.
What Does OpenNebula Offer to Cloud Integrators?
OpenNebula is fully platform independent and offers many tools for cloud integrators:
Modular and extensible architecture with
customizable plug-ins for integration with any third-party data center service
API for integration with higher level tools such as billing, self-service portals… that offers all the rich functionality of the OpenNebula core, with bindings for
ruby and
java.
oZones API used to
programatically manage OpenNebula Zones and Virtual Data Centers.
Hook Manager to trigger administration scripts upon VM state change