| Home | About | Documentation | Software | Support | Outreach | Cloud | Community | Ecosystem | Blog | Team/Sponsors | |||||||
Frequently Asked Questions
Position in the Virtualization and Cloud Ecosystem
Functionality and Capabilities
Development and Support
OpenNebula aims to develop the leading open-source and enterprise-grade toolkit for building any type of IaaS Cloud.
OpenNebula is a Virtual Infrastructure Manager that orchestrates storage, network and virtualization 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.
OpenNebula is an open and flexible tool that fits into existing data center environments to build any type of Cloud deployment. OpenNebula can be primarily used as a virtualization tool to manage your virtual infrastructure in the data-center or cluster. This application is usually referred as private cloud, and with OpenNebula you can also dynamically scale it to multiple external clouds, so building a hybrid cloud. OpenNebula provides Cloud interfaces to the private or hybrid infrastructure, so supporting the deployment of public clouds.
We invite you to use the OpenNebula feature tables to compare other existing Cloud platforms with OpenNebula. Key differentiating factors of OpenNebula with other commercial virtual infrastructure managers are its open and flexible architecture and interfaces, which enable its integration with any existing product and service in the Cloud and virtualization ecosystem, and its support for building any type of Cloud deployment. On the other hand, compared to other open-source alternatives, OpenNebula provides superior functionality on a wider range of virtualization technologies for building private and hybrid clouds.
OpenNebula efficiently manages any service workload, not only HPC services. The management of the VMs is OS and service agnostic, following a black-box approach. Because we have an extensive experience in the HPC and Grid domains, most of the use cases in the documentation are focused on providing support to computing environments, but that does not mean that OpenNebula is only for HPC. In fact, you can also find several examples and use cases from other domains.
OpenNebula is being enhanced to meet the demanding requirements of the business use cases in the RESERVOIR Project, flagship of European research initiatives in virtualized infrastructures and cloud computing. More information is available in this IBM Technical Paper . The enhancements are being transferred to the community by their contribution to the OpenNebula distributions. However, RESERVOIR is not the only funding instrument supporting OpenNebula research and development.
OpenNebula is modular-by-design to allow its integration with any other tool or service in the virtualization and Cloud ecosystem, and management tool in the data center. Its flexible and open architecture allows its integration with capacity managers, virtualization platforms, virtual image managers, service managers… In the ecosystem page we keep information about the relationship of OpenNebula with the different stakeholders in the virtualization and cloud computing ecosystem. Additionaly, the related software page describes tools that extend the functionality provided by OpenNebula, such as Haizea lease management system, and Virtual Cluster Tool. Do not hesitate to contact us if you are working on a cloud or virtualization infrastructure using OpenNebula or developing a tool which extends its capabilities.
OpenNebula is a research project aimed at developing an enterprise-grade Virtual Infrastructure Manager for building any type of Cloud deployment, either in scientific or in business environments. OpenNebula releases are tested to assess their scalability and robustness in large scale VM deployments, and under stress conditions.
The development of OpenNebula is funded by several research projects on virtualization and Cloud computing. Specific development and integration projects are funded by the Technology Transfer Program.
OpenNebula contains a built-in Virtual Network Manager that enables the mapping of virtual networks onto physical ones. In this way, physical networks can be breakdown into smaller networks that, in turn, can be used to isolate virtual machines in different virtual networks and to communicate those machines in the same isolated virtual networks.
Virtual Machines are composed by images that holds their virtualized hard drives. This images need to be accessible from the cluster nodes so virtual machines can be executed. To aid in this process, OpenNebula Transfer Manager allows for a flexible configuration of the image repository and their access from the cluster nodes, being that via NFS, SFTP, HTTP or a combination of them. Additionally, Transfer Manager architecture permits extensions to deal with other file transport methods.
Physical cluster nodes can have KVM, Xen, VirtualBox or VMware hypervisors installed. OpenNebula can run virtual machines and gather information about physical and virtual resources from all these hypervisors. Additionally, OpenNebula can interface with Amazon EC2 and ElasticHosts Cloud providers.
Native API of OpenNebula is offered via XML-RPC. Managing of virtual machines, physical cluster nodes and virtual networks can be accomplished using this interface. Moreover, OpenNebula can be interfaced using the libvirt virtualization API, so you can use any libvirt tool (e.g. virsh, virt-manager…) and XML domain descriptions at a distributed level. Last, OpenNebula implements a subset of the EC2 Query API to demonstrate its new support for the development of new Cloud interfaces.
There are four commands to control the basic aspects of cluster virtualization: onevm permits the managing of virtual machines (creation, deployment, migration, stopping, resuming, saving, etc), onehost enables the administrator to manage the physical cluster nodes (create, enable, disable, delete, listing, etc), onevnet allows the management of virtual networks (create, list, show, delete), and oneuser enables the administrator to manage the users (create, list, show, delete).
Currently, OpenNebula scheduler provides an implementation of the Rank Scheduling Policy which aims to prioritize those resources more suitable for the VM, allowing the definition of workload and resource-aware allocation policies such as packing, striping, load-aware, affinity-aware… More complex scheduling policies can be achieved using Haizea, since the built in scheduler can be easily replaced as it is a separated process communicating with the core with a straightforward API. Haizea allows OpenNebula to support advance reservation of resources and queuing of best effort requests (more generally, it allows you to lease your resources as VMs, with a variety of lease terms). The Haizea documentation includes a guide on how to use OpenNebula and Haizea to manage VMs on a cluster
Installation on a UNIX cluster front-end without requiring new services in the remote resources; and distributed in Ubuntu 9.04 (Jaunty Jackalope)
The problem with checkpointing is that it only saves the virtual machine state but not the virtual machine image. That is, only the memory is saved, but not the filesystem. Therefore, if the virtual machine is restarted from the checkpoint the filesystem data will be inconsistent. The virtual machine will assume that the filesystem is in some state but it will be physically different. Linux (and other OSes) caches data, it will have filesystem metadata already in memory which will be inconsistent with the actual content of the image. That is why checkpointing without image snapshooting is not useful. However, OpenNebula provides support to suspend a running VM to later restore it in the same or different cluster node. Additionally, OpenNebula image manager handles the saving the virtual machine images (if so specified in the virtual machine template) so the user can preserve the virtual machine state and all the changes thereof.
Yes, please have a look at the support page. OpenNebula development is driven by the research projects funding the technology and by the user community.
Best effort support is provided through the user support mailing list. Average response time is within 1 business day. OpenNebula technology innovation services are available directly from the developers through our Technology Transfer Program.
OpenNebula is distributed and licensed for use under the terms of the Apache License, Version 2.0. Copyright 2002-2009, Distributed Systems Architecture Group, Universidad Complutense de Madrid (dsa-research.org).
Apache is a commercial-friendly open source license. The Apache license allows any Cloud and virtualization player to innovate using the technology without the requirement to contribute those innovations back to the open source community, so protecting them from the “viral infection” problem often associated with other licenses, such as GPL.
While OpenNebula core development is restricted to dsa-research.org members, we accept patches for bugfixes, features and documentation. If you are interested in contributing, there are a lot of components to develop in the virtualization and Cloud ecosystem in order to complement OpenNebula capabilities. Do not hesitate to contact us if you need guidance or support to develop a new component to extend OpenNebula.