OpenNebula is a powerful and flexible cloud management platform that allows you to create, manage, and deploy private and hybrid clouds. The frontend of OpenNebula provides a user-friendly interface to manage the cloud infrastructure, including virtual machines, storage, and networking.
For many organizations, OpenNebula offers a cost-effective and scalable alternative to proprietary cloud solutions. It supports a wide range of hypervisors, including KVM, VMware, and Xen, making it versatile for various deployment scenarios.
While the backend components of OpenNebula handle the actual virtualization and resource management, the frontend provides the necessary tools and interfaces for administrators and users. Installing the frontend on Ubuntu or Debian is straightforward, and this guide will walk you through the necessary steps.
Steps to install OpenNebula Frontend (Sunstone) on Ubuntu or Debian:
- Add the OpenNebula repository to your system's sources list.
$ echo "deb https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04/ stable opennebula" | sudo tee /etc/apt/sources.list.d/opennebula.list [sudo] password for user: deb https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04/ stable opennebula
Ensure you choose the appropriate repository based on your Debian or Ubuntu version. Versions list are available here:
https://downloads.opennebula.io/repo/ - Import the OpenNebula GPG key to ensure package integrity.
$ wget -q -O- https://downloads.opennebula.io/repo/repo2.key | sudo gpg --dearmor --yes --output /etc/apt/trusted.gpg.d/opennebula.gpg
- Update the system package list based on the new repository.
$ sudo apt update Hit:1 http://jp.archive.ubuntu.com/ubuntu jammy InRelease Hit:2 http://jp.archive.ubuntu.com/ubuntu jammy-updates InRelease Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease Hit:4 http://jp.archive.ubuntu.com/ubuntu jammy-backports InRelease Ign:5 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable InRelease Get:6 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable Release [1,754 B] Get:7 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable Release.gpg [833 B] Get:8 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable/opennebula i386 Packages [2,610 B] Get:9 https://downloads.opennebula.io/repo/6.6/Ubuntu/22.04 stable/opennebula amd64 Packages [4,895 B] Fetched 10.1 kB in 2s (6,096 B/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 2 packages can be upgraded. Run 'apt list --upgradable' to see them.
- Install the OpenNebula frontend package.
$ sudo apt install --assume-yes opennebula-sunstone Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: augeas-lenses comerr-dev curl dmeventd fonts-lato git git-man ibverbs-providers icu-devtools iputils-arping javascript-common jq krb5-multidev libaio1 libaugeas0 libblas3 libbsd-dev libc-dev-bin libc-devtools libc6-dev libcrypt-dev libdaxctl1 libdevmapper-event1.02.1 liberror-perl libgfapi0 libgfortran5 libgfrpc0 libgfxdr0 libglusterfs0 libgssrpc4 libibverbs1 libicu-dev libiscsi7 libjq1 libjs-jquery libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10 libkrb5-dev liblapack3 liblvm2cmd2.03 libmd-dev libmysqlclient21 libndctl6 libnorm-dev libnorm1 libnsl-dev libonig5 libpgm-5.3-0 libpgm-dev libpmem1 libpmemobj1 libpq5 libquadmath0 librados2 librbd1 librdmacm1 libruby3.0 libsodium-dev libtirpc-dev liburing2 libxml2-dev libzmq3-dev libzmq5 linux-libc-dev lvm2 manpages-dev mysql-common opennebula opennebula-common opennebula-common-onecfg opennebula-libs opennebula-rubygems opennebula-tools python3-numpy qemu-block-extra qemu-utils rake rpcsvc-proto ruby ruby-net-telnet ruby-rubygems ruby-webrick ruby-xmlrpc ruby3.0 rubygems-integration sqlite3 thin-provisioning-tools Suggested packages: augeas-doc doc-base git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn apache2 | lighttpd | httpd krb5-doc augeas-tools glibc-doc krb5-user icu-doc libnorm-doc pkg-config mysql-server gnuplot-nox gcc gfortran python-numpy-doc python3-dev python3-pytest debootstrap ri ruby-dev bundler sqlite3-doc The following NEW packages will be installed: augeas-lenses comerr-dev curl dmeventd fonts-lato git git-man ibverbs-providers icu-devtools iputils-arping javascript-common jq krb5-multidev libaio1 libaugeas0 libblas3 libbsd-dev libc-dev-bin libc-devtools libc6-dev libcrypt-dev libdaxctl1 libdevmapper-event1.02.1 liberror-perl libgfapi0 libgfortran5 libgfrpc0 libgfxdr0 libglusterfs0 libgssrpc4 libibverbs1 libicu-dev libiscsi7 libjq1 libjs-jquery libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10 libkrb5-dev liblapack3 liblvm2cmd2.03 libmd-dev libmysqlclient21 libndctl6 libnorm-dev libnorm1 libnsl-dev libonig5 libpgm-5.3-0 libpgm-dev libpmem1 libpmemobj1 libpq5 libquadmath0 librados2 librbd1 librdmacm1 libruby3.0 libsodium-dev libtirpc-dev liburing2 libxml2-dev libzmq3-dev libzmq5 linux-libc-dev lvm2 manpages-dev mysql-common opennebula opennebula-common opennebula-common-onecfg opennebula-libs opennebula-rubygems opennebula-sunstone opennebula-tools python3-numpy qemu-block-extra qemu-utils rake rpcsvc-proto ruby ruby-net-telnet ruby-rubygems ruby-webrick ruby-xmlrpc ruby3.0 rubygems-integration sqlite3 thin-provisioning-tools 0 upgraded, 89 newly installed, 0 to remove and 2 not upgraded. Need to get 119 MB of archives. After this operation, 725 MB of additional disk space will be used. ##### snipped
- Configure firewall to allow access to required ports if enabled.
$ sudo ufw allow proto tcp from any to any port 9869 Rules updated Rules updated (v6)
- Start opennebula-sunstone service.
$ sudo systemctl start opennebula-sunstone
- Configure opennebula-sunstone service to automatically start during system boot.
$ sudo systemctl enable opennebula opennebula-sunstone Created symlink /etc/systemd/system/multi-user.target.wants/opennebula.service → /lib/systemd/system/opennebula.service. Created symlink /etc/systemd/system/multi-user.target.wants/opennebula-sunstone.service → /lib/systemd/system/opennebula-sunstone.service.
- Get the automatically generated password for oneadmin.
$ sudo cat /var/lib/one/.one/one_auth oneadmin:AyfleHigfem1
- Access OpenNebula Frontend from browser using oneadmin user and the generated password.
http://<ip-address-of-frontend>:9869
This guide is tested on Ubuntu:
Version | Code Name |
---|---|
22.04 LTS | Jammy Jellyfish |
Mohd Shakir Zakaria is an experienced cloud architect with a strong development and open-source advocacy background. He boasts multiple certifications in AWS, Red Hat, VMware, ITIL, and Linux, underscoring his expertise in cloud architecture and system administration.
Comment anonymously. Login not required.