Création d'images disque sous OpenNebula
Si vous avez installé OpenNebula, vous vous demandez peut-être comment créer et ajouter des images personnalisées dans votre cloud. Je vais vous expliquer ici comment préparer et ajouter vos propres images.
Création de l’image
Dans cet exemple, je pars d’une installation de Debian 7 réalisé au préalable avec KVM. J’ai donc créé une image disque Qcow2 sur laquelle j’ai installé Debian à partir d’une image ISO classique. Nous allons modifier l’image pour permettre à OpenNebula de configurer la VM lors de son démarrage grâce au contexte.
Pour cela, nous allons démarrer la VM et y installer “one-context”. Vous trouverez plus d’informations sur le contexte dans la documentation. Vous y trouverez également un package RPM et un DEB. Avec Debian, il faut installer télécharger et installer le .deb
:
# wget http://dev.opennebula.org/attachments/download/750/one-context_4.4.0.deb
# dpkg -i one-context_4.4.0.deb
Une fois cette opération réalisée, vous pouvez éteindre votre machine et passer à l’étape suivante.
Ajout de l’image
Nous allons maintenant créer un fichier de définition de l’image. Voici un exemple de fichier de configuration pour mon installation de Debian :
NAME = "Debian Wheezy"
PATH = /home/oneadmin/templates/debian-wheezy.qcow2
PUBLIC = YES
DESCRIPTION = "Debian Wheezy with SSH, no GUI."
BUS = "virtio"
DEV_PREFIX = "vd"
DRIVER = "qcow2"
Description des paramètres utilisés :
NAME
etDESCRIPTION
vont permettre de repérer votre images parmis les autres déjà crééesPATH
sera le chemin vers le disque dur de la machine. Une fois l’image créée, le disque sera copié dans le datastoreBUS
,DEV_PREFIX
etPILOTE
sont des informations permettant à OpenNebula de créer la VM (avec libvirt dans le cas de KVM)
L’image mise dans la variable PATH
peut se trouver n’importe où sur votre disque dur excepté dans les dossiers suivants : /var/lib/one
et /etc/one
. Il ne faut pas oublier de donner les droits de lecture sur ce fichier à l’utilisateur oneadmin. Pour ajouter l’image, il faut se connecter en tant qu’administrateur puis exécuter la commande oneimage create
:
# su - oneadmin
$ oneimage create -d 103 debian-wheezy.one
$ oneimage list
Vous pouvez maintenant créer le template qui utilisera cette image, pour cela, vous pouvez le faire de manière graphique grâce à Sunstone.
Instanciation de VM personnalisée
J’en parlais dans mon article précédent, il est possible d’instancier sa VM en ligne de commande avec des paramètres personnalisés.
Par exemple, je souhaite redéfinir le réseau, je vais créer un fichier vm01.one
avec les nouveaux paramètres :
NIC=[IP="10.69.1.39",NETWORK_UNAME="oneadmin",NETWORK="prod"]
Pour instancier la VM :
$ onetemplate instantiate 3 vm01.one
“3” est le numéro du template sur lequel je me base pour la création de la VM. Le fichier vm01.one
surchargera donc le template.
Conclusion
Nous venons de voir comment ajouter une image personnalisée dans OpenNebula. Cela est utile lors que l’on veut utiliser des distributions qui ne sont pas présentes dans le Marketplace ou pour personnaliser l’installation de votre système.