This page will show you the specific considerations at the time of using an OpenNebula cloud, according to the different supported platforms.
This is the list of the individual platform components that have been through the complete OpenNebula Quality Assurance and Certification Process.
Certified Components Version¶
|RedHat Enterprise Linux||7||Front-End Installation|
|Ubuntu Server||16.04 (LTS), 18.04 (LTS), 18.10||Front-End Installation|
|MariaDB or MySQL||Version included in the Linux distribution||MySQL Setup|
|SQLite||Version included in the Linux distribution||Default DB, no configuration needed|
|Ruby Gems||Versions installed by packages and install_gems utility||front-end installation|
|Corosync+Pacemaker||Version included in the Linux distribution||Front-end HA Setup|
|vCenter||6.0/6.5/6,7, managing ESX 6.0/6.5/6.7||vCenter Node Installation|
|RedHat Enterprise Linux||7||KVM Driver|
|Ubuntu Server||16.04 (LTS), 18.04 (LTS), 18.10||KVM Driver|
|KVM/Libvirt||Support for version included in the Linux distribution.
For CentOS/RedHat the packages from
||KVM Node Installation|
|Ubuntu Server||16.04 (LTS), 18.04 (LTS), 18.10 (stable)||LXD Driver|
|LXD||Support for LXD >= 3.0.0, either snap or system package||LXD Node Installation|
Open Cloud Networking Infrastructure¶
|ebtables||Version included in the Linux distribution||Ebtables|
|8021q kernel module||Version included in the Linux distribution||802.1Q VLAN|
|Open vSwitch||Version included in the Linux distribution||Open vSwitch|
|iproute2||Version included in the Linux distribution||VXLAN|
Open Cloud Storage Infrastructure¶
|iSCSI||Version included in the Linux distribution||LVM Drivers|
|LVM2||Version included in the Linux distribution||LVM Drivers|
|Ceph||Hammer (LTS) v0.94, Jewel v10.2.0||The Ceph Datastore|
|net-ldap ruby library||0.12.1||LDAP Authentication|
|openssl||Version included in the Linux distribution||x509 Authentication|
|aws-sdk||2.5.10||Amazon EC2 Driver|
|Appliance OS||Ubuntu 16.04|
|Chrome||61.0 - 67.0|
|Firefox||59.0 - 61.0|
For Windows desktops using Chrome or Firefox you should disable the option
touch-events of your browser:
Chrome: chrome://flags -> #touch-events: disabled. Firefox: about:config -> dom.w3c_touch_events: disabled.
Internet Explorer is not supported with the Compatibility Mode enabled, since it emulates IE7 which is not supported.
VMware Cloud on AWS¶
OpenNebula has been validated and is supported on VMware Cloud on AWS. Customers can contact the support team through the commercial support portal to know specific configuration and limitations.
Generally for all Linux platforms, it is worth noting that gems should be installed with the install_gems, avoiding the platform’s package version.
Certified Infrastructure Scale¶
A single instance of OpenNebula (ie, a singled ‘oned’ process) has been stress tested to cope with 500 hypervisors without performance degradation. This is the maximum recommended configuration for a single instance, and depending on the underlying configuration of storage and networking mainly, it is recommended to switch to a federated scenario for any larger number of hypervisors.
However, there are several OpenNebula users managing significant higher number of hypervisors (in the order of two thousand) with a single instance, this largely depends as mentioned on the storage, networking and also monitoring configuration.
Frontend Platform Notes¶
The following applies to all Front-Ends:
- XML-RPC tuning parameters (
TIMEOUT) are only available with packages distributed by us as they are compiled with a newer xmlrpc-c library.
- For cloud bursting, a newer nokogiri gem than the one packed by current distros is required. If you are planning to use cloud bursting, you need to install nokogiri >= 1.4.4 prior to run
# sudo gem install nokogiri -v 1.4.4.
- Only ruby versions >= 1.9.3 are supported.
Ubuntu 18.10 Platform Notes¶
LXD comes by default as an installed snap package. There are issues when
$HOME is not inside
/home which affects oneadmin user whose
/var/lib/one resulting in oneadmin being unable to use lxc commands. Almost 100% of the LXD driver code uses REST to interact with LXD, however some features and the ability to manage the host as oneadmin will be crippled when using 1810. To fix this, one should run oneadmin commands using sudo.
snapd installs LXD with different id mappings, the default profile configured by opennebula-node-lxd package sets up the adequate configuration, when applying a different profile to a container ensure this one has the correct id mappings. A quick way to ensure this, is cloning the default profile via:
# lxc profile copy default new_profile
Ubuntu 18.04 Platform Notes¶
Essential Ruby library xmlrpc is missing from Ruby 2.4.0 and above. The library is required by many OpenNebula parts and also the CLI tools. To get the missing library, gem
xmlrpc needs to be installed via tool install_gems, or the
# sudo gem install xmlrpc
Ubuntu 16.04 Platform Notes¶
By default it comes with lxd 2, lxd3 should be installed from xenial-backports. Make sure you have backports enabled in sources.list
# apt-get -t xenial-backports install lxd
Resizing ext4 filesystems of LXD containers will fail due to outdated e2fsck package
CentOS 7.0 Platform Notes¶
This distribution lacks some packaged ruby libraries. This makes some components unusable until they are installed. In the front-end, just after package installation these commands should be executed as root to install extra dependencies:
When using Apache to serve Sunstone, it is required that you disable or comment the
PrivateTMP=yes directive in
There is an automatic job that removes all data from
/var/tmp/, in order to disable this, please edit the
/usr/lib/tmpfiles.d/tmp.conf and remove the line that removes
There is a bug in libvirt that the prevents the use of the save/restore mechanism if
cpu_model is set to
RAW. The work around if needed is described in this issue.
Make sure that the packages
treetop are not installed before running
ìnstall_gems, as the version of
treetop that comes packaged in Debian 8 is incompatible with OpenNebula. OneFlow requires a version >= 1.6.3 for treetop, packages distributed with Debian 8 includes an older version (1.4.5).
Nodes Platform Notes¶
The following items apply to all distributions:
- Since OpenNebula 4.14 there is a new monitoring probe that gets information about PCI devices. By default it retrieves all the PCI devices in a host. To limit the PCI devices that it gets info and appear in
onehost showrefer to PCI Passthrough.
- When using qcow2 storage drivers you can make sure that the data is written to disk when doing snapshots setting its
writethrough. This change will make writes slower than other cache modes but safer. To do this edit the file
/etc/one/vmm_exec/vmm_exec_kvm.confand change the line for
DISK = [ driver = "qcow2", cache = "writethrough" ]
CentOS/RedHat 7.0 Platform Notes¶
In order to install ruby dependencies, the Server Optional channel needs to be enabled. Please refer to RedHat documentation to enable the channel.
Alternatively, use CentOS 7 repositories to install ruby dependencies.
The libvirt/qemu packages used in the testing infrastructure are the ones in the
qemu-ev repository. To add this repository you can install the following packages:
yum install centos-release-qemu-ev yum install qemu-kvm-ev
Disable PolicyKit for Libvirt¶
It is recommended that you disable PolicyKit for Libvirt:
$ cat /etc/libvirt/libvirtd.conf ... auth_unix_ro = "none" auth_unix_rw = "none" unix_sock_group = "oneadmin" unix_sock_ro_perms = "0770" unix_sock_rw_perms = "0770" ...
Unsupported Platforms Notes¶
Use the following distributions at your own risk. They are not officially supported by OpenNebula.
Ubuntu 14.04 Platform Notes¶
Package ruby-ox shouldn’t be installed as it contains a version of the gem incompatible with the CLI
CentOS 6.5 Usage Platform Notes¶
- As a front-end, because home directory of oneadmin is located in /var, it violates SELinux default policy. So in ssh passwordless configuration you should disable SELinux by setting SELINUX=disabled in /etc/selinux/config.
- As a node, to accomplish disk hotplugging:
- to accomplish disk hotplugging, disks need to be attached through SCSI, so their images should have a DEV_PREFIX=“sd”
- to accomplish disk hotplugging, VM template that will permit SCSI disk attaches afterwards needs to have an explicitly defined SCSI controller:
RAW=[TYPE = "kvm", DATA = "<devices><controller type='scsi' index='0' model='virtio-scsi'></controller></devices>"] * due to libvirt version < = 0.10.2, there is a bug in libvirt/qemu attach/detach nic functionality that prevents the reuse of net IDs. This means that after a successful attach/detach NIC, a new attach will fail.
Installing on ArchLinux¶
OpenNebula is available at the Arch User Repository (AUR), please check the opennebula package page.
Installing on Gentoo¶
There is an ebuild contributed by Thomas Stein in the following repository:
Still, if you want to compile it manually you need to install the xmlrpc-c package with threads support, as:
USE="threads" emerge xmlrpc-c
Installing on Devuan¶
Packages for Devuan Jessie 1.0 Beta are provided by Alberto Zuin. You can download them at: