37.2. Installation de domaines

L'installation et la configuration d'un domaine invité impliquent de suivre plusieurs procédures distinctes. Dans l'exemple qui suit, un premier domaine invité est installé et toutes les tâches nécessaires à la création d'une première connexion réseau sont effectuées.

Pour installer un système invité, vous devez fournir un système de fichiers racine dans un périphérique par blocs ou une image de système de fichiers, que vous devez ensuite configurer. Pour accéder ensuite à ce système, utilisez une console émulée ou configurez la connexion réseau pour cet invité. L'installation de SUSE Linux dans un répertoire est prise en charge par YaST. Les spécifications matérielles de ce type d'invité sont similaires à celles d'une installation normale de Linux.

Les domaines peuvent partager les systèmes de fichiers montés en lecture seule à partir de tous les domaines, comme /usr ou /opt. Ne partagez jamais un système de fichiers monté en lecture-écriture. Pour partager des données inscriptibles entre plusieurs domaines invités, utilisez NFS ou d'autres systèmes de fichiers montés en réseau ou en grappe.

[Warning]Démarrage d'un domaine invité

Lorsque vous démarrez un domaine invité, assurez-vous que les systèmes de fichiers de l'invité ne sont plus montés par un programme d'installation ni par le domaine-0 de contrôle.

La première chose à faire est de créer une image de système de fichiers dans laquelle est installé Linux pour l'invité :

  1. Pour créer une image vide appelée guest1 dans le répertoire /var/tmp/ d'une taille de 4 Go, utilisez la commande suivante :

    dd if=/dev/zero of=/var/tmp/guest1 seek=1M bs=4096 count=1
  2. L'image est simplement constituée d'un fichier volumineux et vide qui ne contient aucune information. Pour pouvoir y charger des fichiers, un système de fichiers est indispensable :

    mkreiserfs -f /var/tmp/guest1

    La commande mkreiserfs vous informe qu'il ne s'agit pas d'un périphérique par blocs spécial et vous demande de confirmer. Appuyez sur Y (pour Oui) puis sur Entrée pour continuer.

  3. L'installation à proprement parler s'effectue dans un répertoire. L'image de système de fichiers /var/tmp/guest1 doit donc être montée sur un répertoire :

    mkdir -p /var/tmp/dirinstall
    mount -o loop /var/tmp/guest1 /var/tmp/dirinstall
    
[Important]Important

Une fois l'installation terminée, n'oubliez pas de redémonter l'image de système de fichiers. Lors de l'installation, YaST monte également le système de fichiers /proc que vous devez également démonter :

umount /var/tmp/dirinstall/proc
umount /var/tmp/dirinstall

37.2.1. Utilisation de YaST pour installer un domaine invité

Pour installer un domaine invité avec YaST, vous avez besoin de l'image de système de fichiers précédemment préparée pour le nouvel invité. Démarrez YaST et sélectionnez Software (Logiciel)+Installation into Directory for XEN (Installation dans le répertoire pour XEN).

Le module YaST pour l'installation en répertoire propose diverses options qui doivent être paramétrées selon vos besoins :

  • Target Directory (Répertoire cible) : /var/tmp/dirinstall

    Paramétrez cette option sur le point de montage de l'image de système de fichiers à utiliser. Le paramétrage par défaut est généralement acceptable.

  • Run YaST and SuSEconfig at First Boot (Exécuter YaST et SuSEconfig au premier démarrage) : Yes (Oui)

    Paramétrez cette option sur Yes (Oui). Le système vous invite à indiquer un mot de passe racine et le nom du premier utilisateur lors du premier démarrage de l'invité.

  • Create Image (Créer une image) : No (Non)

    L'image créée par cette option est simplement une archive tar du répertoire d'installation. Elle n'est pas utile ici.

  • Software (Logiciel)

    Sélectionnez le type d'installation à utiliser. Le paramètre par défaut constitue normalement un bon choix de départ.

Cliquez sur Next (Suivant) pour démarrer l'installation. La procédure d'installation peut prendre un certain temps en fonction du nombre de paquetages utilisés. Une fois l'installation terminée, pensez à déplacer les bibliothèques tls :

mv /var/tmp/dirinstall/lib/tls /var/tmp/dirinstall/lib/tls.disabled 

Xen utilise l'un des kernels installés dans le domaine-0 pour démarrer le domaine invité. Pour que vous puissiez utiliser la connexion en réseau dans le domaine invité, les modules de ce kernel doivent également être accessibles par l'invité.

cp -a /lib/modules/$(rpm -qf --qf %{VERSION}-%{RELEASE}-xen \
    /boot/vmlinuz-xen) /var/tmp/dirinstall/lib/modules
 

Pour éviter toute erreur système, l'image de système de fichiers doit être démontée à l'issue de l'installation :

umount /var/tmp/dirinstall/proc
umount /var/tmp/dirinstall/
 

Il serait possible de créer des kernels spécialisés pour le domaine-0, d'une part, et pour les systèmes invités, d'autre part. La différence principale tient au fait que les pilotes matériels ne sont pas nécessaires dans les systèmes invités. Comme ces pilotes sont modulaires et qu'ils ne sont pas utilisés dans les systèmes invités, SUSE ne génère qu'un seul kernel pour les deux tâches.

37.2.2. Configuration d'un système de secours en tant que domaine invité

La manière la plus simple pour installer rapidement un système consiste à réutiliser un système de fichiers racine existant, comme le système de secours de SUSE Linux. Pour cela, il suffit d'échanger dans cette image l'image de kernel et les pilotes des périphériques par blocs et réseau virtuels. Pour simplifier encore cette procédure, vous pouvez utiliser le script mk-xen-rescue-img.sh disponible dans le répertoire /usr/share/doc/packages/xen/.

L'inconvénient inhérent à l'utilisation de la méthode de secours pour créer un système de fichiers racine tient au fait que le résultat ne contient pas de base de données RPM, ce qui complique l'ajout ultérieur de paquetages. Côté positif, le résultat est relativement peu volumineux et contient la plupart des éléments requis pour commencer la connexion en réseau.

Pour exécuter le script mk-xen-rescue-img.sh, vous avez au moins besoin du répertoire avec l'image de secours et d'un emplacement de destination pour l'image résultante. Par défaut, le répertoire se trouve sur le DVD d'amorçage, dans le répertoire /boot.

cd /usr/share/doc/packages/xen
./mk-xen-rescue-img.sh /media/dvd/boot /usr/local/xen 64

Le premier paramètre du script est le répertoire qui contient l'image de secours. Le deuxième paramètre est l'emplacement de destination du fichier image. Les paramètres facultatifs concernent les besoins en espace disque du domaine invité généré et la version de kernel à utiliser.

Le script copie ensuite l'image sur le nouvel emplacement, remplace le kernel et plusieurs modules de kernel, et désactive le répertoire tls dans le système. Pour terminer, il génère un fichier de configuration pour la nouvelle image dans /etc/xen/.