LightcodeSysadmin Open Source

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 et DESCRIPTION vont permettre de repérer votre images parmis les autres déjà créées
  • PATH sera le chemin vers le disque dur de la machine. Une fois l’image créée, le disque sera copié dans le datastore
  • BUS, DEV_PREFIX et PILOTE 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.