Première approche de Xen
Administration de Xen
Nous allons maintenant aborder certaines commandes ou principes qui pourront se révéler très utiles lors de l'utilisation de Xen.
Commandes de base
Nous avons vu que nous avons lancé notre machine grâce à la commande suivante:
sudo xm create /etc/xen/image1.sxp
La syntaxe générale est donc :
sudo xm create nom_de_la_machine
Le démarrage de la machine invitée se fera en arrière plan. Vous pouvez utiliser la commande suivante pour lancer la machine virtuelle au premier plan et arriver sur une invite de login:
sudo xm create /etc/xen/image1.sxp -c
Vous pouvez aussi lister l'ensemble des machines lancées ainsi que leurs états grâce à la commande:
sudo xm list
Vous pourrez récupérer la console de chaque système lancé grâce à la commande:
sudo xm console nom_de_la_machine
Pour éteindre une machine invitée, on utilise la commande suivante:
sudo xm shutdown nom_de_la_machine
Pour redémarrer ou mettre en pause la machine :
sudo xm reboot nom_de_la_machine
sudo xm pause nom_de_la_machine
Duplication de machines
Vous pouvez maintenant dupliquer autant de fois que vous le souhaitez la première machine invitée de base que nous avons créé.
Pour cela il suffit de copier notre image et de créer un nouveau fichier de configuration Xen.
cp /xen/image1.img /xen/image2.imgIl ne vous reste plus qu'à éditer le nouveau fichier de configuration et si besoin modifier les fichiers de configuration dans la machine en elle-même.
cp /etc/xen/image1.sxp /etc/xen/image2.sxp
Il vous suffit ensuite de lancer la nouvelle machine:
sudo xm create /etc/xen/image2.sxp
Sauvegarde
Il est possible de sauvegarder l'état d'une machine invitée pour pouvoir ensuite le restaurer en cas de problèmes ou lors de tests.
Pour cela, nous utilisons la commande xm save :
sudo xm save domaine_id fichier_de_sauvegardePour restaurer la machine, il suffit d'utiliser la commande suivante :
sudo xm restore fichier_de_sauvegarde
Migration
Xen permet de déplacer une machine invitée très simplement d'une machine hôte à une autre.Il existe certaines conditions à respecter :
- Version similaire de Xen
- Ports de migration ouvert sur les deux machines
- Ressources nécessaires à la migration suffisantes (espace disque, mémoire, etc ...)
Avant de commencer, il suffit de s'assurer que la nouvelle machine qui va accueillir le système invitée ait Xen de lancé.
sudo xm migrate nom_de_la_machine nouveau_hostXen permet aussi de définir une limite de vitesse de transfert pour la migration pour ne pas surcharger le réseau :
sudo xm migrate nom_de_la_machine nouveau_host -r x (x en Mbs)Il est aussi possible de faire un migration en live, pendant laquelle la machine invitée ne sera jamais inaccessible.
sudo xm migrate nom_de_la_machine nouveau_host -l
Xen tools
Il existe certains outils qui permettent de faciliter l'administration de Xen. On peut notemment citer Xen tools qui est en fait un ensemble de scripts en Perl qui permet de créer des nouvelles machines invitées très rapidement.
Vous pouvez télécharger la derniière version de Xen tools sur le site internet de l'éditeur.
Xen tools peut utiliser plusieurs méthodes d'installation de machine invitée, par exemple avec debootstrap pour Debian, Ubuntu ou encore Rinse pour les distributions centOS et Fedora.
La méthode de création des futures machines invitées se configure dans le fichier de configuration de Xen tools situé dans le fichier /etc/xen-tools/xen-tools.conf. Ce fichier nous permet aussi de définir l'emplacement par défaut de nos futures machines, si on utilise LVM ou non, la taille des différentes images, la configuration réseau, etc ... de toutes les images que nous créerons avec Xen tools.
La création de nouvelles images se fait grâce à la commande xen-create-image. Vous pouvez aussi créer des images différentes sans modifier le fichier de configuration grâce à certains arguments. La commande suivante permet par exemple de créer une image d'une Debian Etch peut importe la distribution que nous avons choisi dans le fichier de configuration
sudo xen-create-image --dist=etch
Administration à distance
Il existe de nombreux outils pour piloter son Xen à distance. On peut notamment citer de nombreuses interfaces web comme par exemple Enomalism, un projet assez récent qui met à la disposition des utilisateurs un dashboard permettant de gérer et surveiller l'activité de leurs machines invitées tout cela dans un navigateur web.
Pour plus d'informations sur Enomalism et pour le télécharger, rendez vous sur leur site internet.
Il existe énormément d'outils pour administrer Xen à distance et une simple recherche sur Google vous donnera beaucoup de renseignements.
Xen & LVM
Il est possible de combiner Xen avec l'utilisation de LVM (Logical Volume Management). LVM peut se révéler vraiment très intéressant en combinaison avec Xen grâce à ses possibilités de redimensionnement de volumes à la volée.
Il faut déjà commencer par installer LVM sur sa distribution :
sudo apt-get install lvm2Nous n'allons pas revoir entièrement l'utilisation et l'administration de LVM, beaucoup de ressources sont disponibles sur internet concernant LVM, ainsi qu'un article du Labo Linux intitulé "Première approche sur LVM"
Il nous faut un volume physique créé à l'aide de la commande pvcreate :
sudo pvcreate /dev/hda2Ensuite nous devons avoir un groupe de volume :
sudo vgcreate groupe1 /dev/hda2Ensuite, nous devons au moins avoir un volume logique :
sudo lvcreate -n nom_volume -L 5g groupe1Il ne reste plus qu'à formater ce volume en ext3 :
sudo mke2fs -j /dev/groupe1/nom_volumeNous avons maintenant un volume formaté en ext3 que nous pouvons utiliser pour nos images Xen. Nous pourrons donc utiliser tous les possibilités de LVM dans Xen.
Nous pouvons simplement redimensionner un volume en prenant soin d'arrêter la machine invitée avant :
sudo lvresize -L 10g /dev/groupe1/nom_volumeNous pouvons maintenant relancer la machine invitée.
sudo resize2fs /dev/groupe1/nom_volume