An Overview of OpenNebula 3.4

OpenNebula is the open-source industry standard for data center virtualization, offering the most feature-rich, flexible solution for the comprehensive, complete management of virtualized data centers to enable on-premise IaaS clouds in existing infrastructures. OpenNebula interoperability makes cloud an evolution by leveraging existing IT assets, protecting your investments, and avoiding vendor lock-in.

What does OpenNebula offer?

OpenNebula provides a powerful, scalable and secure multi-tenant cloud platform for fast delivery and elasticity of virtual resources.

  • The Storage system allows to store disk images in datastores, that can be then used to define VMs or shared with other users. The images can be OS installations, or data blocks.
  • The Template Repository system allows to register Virtual Machine definitions in the system, to be instantiated later as Virtual Machine instances.
  • Virtual Networking is provided to interconnect Virtual Machines, they can be defined as fixed or ranged networks.
  • Once a Template is instantiated to a Virtual Machine, there are a number of operations that can be performed to control their lifecycle, such as migration (live and cold), stop, resume, cancel, etc. These operations are available both from the CLI and the Sunstone GUI.

What are the Main Components?

  • Interfaces & APIs: OpenNebula provides many different interfaces that can be used to interact with the functionality offered to manage physical and virtual resources. There are two main ways to manage OpenNebula instances: command line interface and the Sunstone GUI. There are also several cloud interfaces that can be used to create public clouds: OCCI and EC2 Query, and a simple self-service portal for cloud consumers. In addition, OpenNebula features powerful integration APIs to enable easy development of new components (new virtualization drivers for hypervisor support, new information probes, etc).
  • Hosts: Various hypervisors are supported in the virtualization manager, with the ability to control the lifecycle of Virtual Machines, as well as monitor them. This monitorization also applies to the physical hosts. The main hypervisors are supported, Xen, KVM, and VMware.
  • Networking: An easily adaptable and customizable network subsystem is present in OpenNebula in order to better integrate with the specific network requirements of existing datacenters. Support for VLANs and Open vSwitch are also featured.
  • Storage: OpenNebula is flexible enough to support as many different image storage configurations as possible. The support for multiple data stores in the Storage subsystem provides extreme flexibility in planning the storage backend and important performance benefits. The main storage configurations are supported, file system datastore, to store disk images in a file form and with image transferring using ssh or shared file systems (NFS, GlusterFS, Lustre‚Ķ), iSCSI/LVM to store disk images in a block device form, and VMware datastore specialized for the VMware hypervisor that handle the vmdk format.
  • Clusters: Clusters are pools of hosts that share datastores and virtual networks. Clusters are used for load balancing, high availability, and high performance computing.

Advanced Setups

OpenNebula supports the following types of cloud deployments:

  • Multiple zones and VDCs: The OpenNebula Zones component (oZones) allows for the centralized management of multiple instances of OpenNebula, called Zones, managing in turn potentially different administrative domains. This zones can be further compartmentalized by grouping physical hosts in Virtual Data Centers (VDCs), so each cluster can host multiple VDCs.
  • Hybrid: OpenNebula gives support to build a Hybrid Cloud is 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.

How the System Operates

OpenNebula orchestrates storage, network, virtualization, monitoring, and security technologies to enable the dynamic placement of multi-tier services (groups of interconnected virtual machines) on distributed infrastructures, combining both data center resources and remote cloud resources, according to allocation policies:

  • Management of the Network, Computing and Storage Capacity: Orchestration of storage, network and virtualization technologies to enable the dynamic placement of the multi-tier services on distributed infrastructures
  • Management of VM Life-cycle: Smooth execution of VMs by allocating the resources required for them to operate and by offering the functionality required to implement VM placement policies
  • Management of Workload Placement: Support for the definition of workload and resource-aware allocation policies such as consolidation for energy efficiency, load balancing, affinity-aware, capacity reservation‚Ķ
  • Management of Virtual Networks. Support for the definition of virtual networks to interconnect VMs
  • Management of VM Images: Exposing of general mechanisms to transfer and clone VM images. Images can be registered before execution. When submited, VM images are transferred to the host and swap disk images are created. After execution, VM images may be copied back to the repository
  • Management of Information and Accounting. Provision of indicators that can be used to diagnose the correct operation of the servers and VMs and to support the implementation of the dynamic VM placement policies
  • Management of Security: Definition of security policy on the users of the system, guaranteeing that the resources are used only by users with the relevant authorizations and isolation between workloads
  • Management of Remote Cloud Capacity: Dynamic extension of local capacity with resources from remote providers to build hybrid or federated cloud deployments
  • Management of Public Cloud Servers: Exposing most common cloud interfaces to support public cloud computing deployments