Une CentOS 7 à jour avec de préference SeLinux de desactivé.
Il faudra aussi disposer du dépôt Epel 7.
Le projet OpenNebula fournit des dépôts yum pour les différentes versions. Voici celui pour la version 4.10:
[opennebula] name=opennebula baseurl=http://downloads.opennebula.org/repo/4.10/CentOS/7/x86_64/ enabled=1 gpgcheck=0
<WRAP INFO>Remplacer 4.10 par 5.2 par ex</WRAP>
Pour l'installation du serveur:
yum install opennebula-server
Pour son fonctionnement il nécessite certains paquets/modules Ruby/GEM. Il est recommandé d'avoir le dépôt EPEL d'installé.
Une fois le paquet OpenNebula installé, il faut installer le paquet rubygems:
yum install rubygems
D'autres paquets en rapport avec ruby doivent être installés:
yum install ruby-devel
Un script d'installation des modules gem/ruby nécessaire à OpenNebula est fourni et doit être lancé:
/usr/share/one/install_gems
Si vous êtes derrière un proxy web, pensez à modifier votre ~/.gemrc avec le contenu suivant:
--- http_proxy: http://ip_proxy:port
OpenNebula dispose d'une interface web graphique appelé “SunStone”. Il est plus simple de l'installer sur le même serveur qui héberge OpenNebula (mais pas obligatoire).
Pour l'installer:
yum install opennebula-sunstone
Le fichier de configuration est dans /etc/one/sunstone-server.conf. Il est a modifié pour changer l'ip par défaut qui est 127.0.0.1.
Pour activer et démarrer les services OpenNebula :
systemctl enable opennebula opennebula-novnc opennebula-scheduler systemctl start opennebula opennebula-novnc opennebula-scheduler
Pour la partie interface web SunStone :
systemctl enable opennebula-sunstone systemctl start opennebula-sunstone
Par défaut, OpenNebula est configuré pour utiliser une base SQLITE. Ce n'est pas conseillé en dehors de simples tests.
La configuration se fait par la clef DB dans /etc/one/oned.conf et il est fortement conseillé de la changer avant de commencer à utiliser OpenNebula.
La partie base de données sera fournie par MariaDB :
yum install -y mariadb-server
Pour activer et démarrer le service :
systemctl enable mariadb systemctl start mariadb
Il faut ensuite créer une base et un compte pour OpenNebula :
CREATE DATABASE opennebula; GRANT ALL ON opennebula.* TO oneadmin@127.0.0.1 IDENTIFIED BY 'oneadmin';
Cette configuration est donnée à titre d'exemple. Ce n'est pas suffisant pour de la production.
Dans /etc/exports ajouter la ligne suivante pour exporter /var/lib/one sur les hyperviseurs:
/var/lib/one/ *(rw,sync,no_subtree_check,root_squash)
Il faut ensuite redemarrer et activer le service nfs-server
systemctl restart nfs-server systemctl enable nfs-server