Tuto | Installer et configurer OpenNebula sous Debian
Article publié le 6 Juin 2017
Article mis à jour le 13 Janvier 2018
Cela fait un petit moment que je m’intéresse aux technologies Cloud (AWS, OpenStack, etc…) et OpenNebula a particulièrement attiré mon attention par sa simplicité d’installation.
C’est pourquoi, je vous propose un petit tutoriel d’installation sur OpenNebula sous Debian.
Pour suivre ce tutoriel, vous aurez besoin d’au minimum deux VMs: Une VM pour l’interface de gestion et d’une ou plusieurs VMs pour les hôtes (hyperviseurs).
1) Installation de l’interface de gestion
1.1) Installation des paquets
On installe les dépôts:
wget -q -O- http://downloads.opennebula.org/repo/Debian/repo.key | apt-key add –
echo « deb http://downloads.opennebula.org/repo/5.2/Debian/8 stable opennebula » > /etc/apt/sources.list.d/opennebula.list
On installe les paquets:
apt-get update & apt-get install opennebula*
A adapter selon la version de votre Debian (à l’heure ou cet article a été écrit, la 9 n’est pas encore sortie en version stable). De plus la version de opennebula (dernière version en date de cet article: 5.4) est à adapter dans le lien (deb http://downloads.opennebula.org/repo/<version opennebula>/Debian/8 stable opennebula)
On installe des bibliothèques Gem supplémentaires
/usr/share/one/install_gems
Activation d’openNebula:
systemctl enable opennebula
systemctl enable opennebula-sunstone
1.2) Installation du stockage partagé
On installe le serveur NFS:
apt-get install nfs-common nfs-kernel-server
Dans le fichier /etc/exports ajoutez la ligne suivante:
/var/lib/one/ *(rw,sync,no_subtree_check,root_squash)
Activez nfs:
systemctl enable nfs-kernel-server
Démarrez nfs:
systemctl start nfs-kernel-server
1.3 Installation de la base de données
La base de données par défaut est SQLITE. Inutile de vous préciser que rester sur ce type de base de données n’est pas une solution pérenne. Nous allons donc partir sur une installation de MySQL.
Installez les paquets:
apt-get install mariadb-server
Activez Mysql:
systemctl enable mysql
Démarrez Mysql:
systemctl start mysql
Créons maintenant la base ainsi que le user MySQL:
# mysql
> CREATE DATABASE opennebula;
> GRANT ALL ON opennebula.* TO oneadmin@localhost IDENTIFIED BY ‘onepassword’;
Le mot de passe est à changer bien entendu 😉
Procédez à la configuration d’openNebula pour que celui-ci se connecte à votre base de données MySQL. Pour cela éditez le fichier /etc/one/oned.conf et commencer par commenter la ligne suivante :
DB = [ backend = « sqlite » ]
Ensuite, rajoutez les lignes suivantes :
DB = [ backend = « mysql »,
server = « localhost »,
port = 0,
user = « oneadmin »,
passwd = « onepassword »,
db_name = « opennebula » ]
Démarrez les services :
systemctl start opennebula
systemctl start opennebula-sunstone
2) Installation de l’hyperviseur
Sur votre deuxième VM, installez les dépôts:
wget -q -O- http://downloads.opennebula.org/repo/Debian/repo.key | apt-key add –
echo « deb http://downloads.opennebula.org/repo/5.2/Debian/8 stable opennebula » > /etc/apt/sources.list.d/opennebula.list
On installe ensuite le paquet:
apt-get update & apt-get install opennebula-node
On active libvirtd et on le démarre:
systemctl enable libvirtd
systemctl start libvirtd
Rajoutez dans votre fichier /etc/fstab la ligne suivante :
<ip de votre serveur de gestion>:/var/lib/one/ /var/lib/one/ nfs soft,intr,rsize=8192,wsize=8192 0 0
Montez le volume NFS:
mount -a
Maintenant que votre hyperviseur est installé nous allons le rajoutez dans le cluster opennebula depuis l’interface de gestion.
Pour cela connectez vous à l’interface Web via l’URL: http://<ip ou nom de votre machine>:9869.
Une page ressemblante à la capture d’écran ci-dessous devrait s’afficher:
Récupérez vos identifiants en affichant le contenu du fichier /var/lib/one/.one/one_auth et identifiez-vous.
Une fois connecté, le dashboard général d’openNebula s’affiche:
Cliquez sur le menu « infrastructure » puis sur « Hosts »:
Cliquez sur le bouton ajoutez:
Puis renseignez le hostname ou l’ip de votre hyperviseur:
Votre installation d’OpenNebula est maintenant terminée!
Vous pouvez commencer à créer des templates et provisionner des Vms
Merci à Séb pour sa contribution pour la rédaction de cet article 😉