XenServer

Dépannage avancé

Cet article répertorie les actions de dépannage avancées que vous pouvez entreprendre avec les conseils de l’équipe d’assistance technique.

Modifier les options sur la ligne de commande Xen

XenServer est basé sur l’hyperviseur open source Xen. Dans le cadre du diagnostic ou de la résolution de problèmes, il peut vous être demandé d’ajouter des paramètres à la ligne de commande Xen.

Nous vous recommandons fortement de ne modifier votre ligne de commande Xen que sous la direction du support technique. La définition ou la modification d’options qui ne sont pas répertoriées dans la documentation du produit XenServer ou fournies par le support technique n’est pas prise en charge. En plus de rendre votre environnement inéligible au support, ces modifications apportées aux arguments de ligne de commande Xen peuvent rendre vos hôtes non amorçables ou potentiellement vulnérables aux menaces de sécurité.

Pour ajouter des options à la ligne de commande Xen de votre hôte, procédez comme suit :

  1. Connectez-vous à la console hôte XenServer, soit en utilisant SSH, soit l’onglet Console dans XenCenter.
  2. Exécutez la commande suivante avec les paramètres et les valeurs conseillés par le support technique : /opt/xensource/libexec/xen-cmdline --set-xen <parameter>=<value>
  3. La commande revient silencieusement, mais vous pouvez vérifier que vos paramètres sont définis en vérifiant votre fichier grub.cfg .

    • Si vous utilisez le mode de démarrage du BIOS hérité pour votre hôte, exécutez la commande suivante : more /boot/grub/grub.cfg
    • Si vous utilisez le mode de démarrage UEFI pour votre hôte, exécutez la commande suivante : more /boot/efi/EFI/xenserver/grub.cfg

    Le paramètre que vous avez spécifié apparaît dans les sections XenServer et XenServer (Serial) du fichier.

  4. Redémarrez votre hôte XenServer pour que vos modifications prennent effet.

Pour supprimer des options de la ligne de commande Xen de votre hôte, procédez comme suit :

  1. Connectez-vous à la console hôte XenServer, soit en utilisant SSH, soit l’onglet Console dans XenCenter.
  2. Exécutez la commande suivante avec les paramètres et les valeurs conseillés par le support technique : /opt/xensource/libexec/xen-cmdline --remove-xen <parameter>
  3. La commande revient silencieusement, mais vous pouvez vérifier que vos paramètres sont supprimés en vérifiant votre fichier grub.cfg .

    • Si vous utilisez le mode de démarrage du BIOS hérité pour votre hôte, exécutez la commande suivante : more /boot/grub/grub.cfg
    • Si vous utilisez le mode de démarrage UEFI pour votre hôte, exécutez la commande suivante : more /boot/efi/EFI/xenserver/grub.cfg
  4. Redémarrez votre hôte XenServer pour que vos modifications prennent effet.

Collecter les journaux lorsque XenServer ne parvient pas à démarrer

Si votre hôte XenServer ne démarre pas correctement, vous pouvez toujours collecter les journaux en essayant de démarrer à partir de l’ISO d’installation.

  1. Téléchargez l’ISO d’installation depuis https://xenserver.com/downloads.
  2. Démarrez votre hôte XenServer à partir de l’ISO d’installation. Pour plus d’informations sur les méthodes de démarrage à partir de l’ISO, consultez l’étape 2 dans Installez l’hôte XenServer.
  3. Lorsque la première boîte de dialogue apparaît à l’écran, appuyez sur Alt+F2. Le processus d’installation vous fait passer à une console shell.
  4. Vérifiez si l’ISO d’installation peut voir le disque local ou distant. Exécutez la commande suivante :

      fdisk –l
    

    Si les disques locaux et distants sont visibles, cette commande répertorie les partitions visibles. Ces partitions ont généralement des noms de la forme /dev/sdaX.

  5. Identifiez la partition racine sur le disque local. La partition racine est généralement /dev/sda1, mais peut être différente sur différents matériels.
  6. Montez la partition racine dans un point de montage temporaire /mnt pour accéder au disque local :

      mkdir /mnt
      mount /dev/sda1 /mnt
      ls /mnt
    
  7. Remplacez le système de fichiers racine temporaire par le système de fichiers de votre disque :

      chroot /mnt
    
  8. Créez un rapport d’état du serveur en exécutant les commandes suivantes :

      mount –t sysfs none /sys
      xenserver-status-report --yestoall
    

    La commande imprime l’emplacement de l’archive tar contenant le rapport d’état du serveur.

  9. Ajoutez /mnt au chemin donné par l’étape précédente pour obtenir le chemin d’accès au fichier dans le système de fichiers racine temporaire, par exemple : /mnt/var/opt/xen/bug-report/bug-report-xxxx.tar.bz2
  10. Configurez une adresse IP temporaire pour copier le rapport d’état du serveur sur le réseau vers votre bureau.

    • Si DHCP est en cours d’exécution sur le réseau, exécutez la commande suivante :

         dhclient eth0
      
    • S’il n’y a pas de DHCP, configurez manuellement l’adresse IP :

         ifconfig eth0 <x.x.x.x> netmask <x.x.x.x> up
         route add default <x.x.x.x>
      
  11. À l’aide d’un client SCP, connectez-vous à l’adresse IP précédemment configurée et copiez le rapport d’état sur votre bureau local.

Configurer l’accès à la console série

L’accès à la console série de l’hôte XenServer peut être utile à des fins de débogage. Vous pouvez utiliser la connexion série avec HyperTerminal (ou une application similaire) pour collecter les journaux XenServer.

Vous pouvez utiliser un port physique pour vous connecter à votre hôte. Si vous utilisez cette méthode, vous avez besoin des éléments suivants :

  • Câble null modem série à 9 broches.
  • Port COM série sur un système qui exécute un logiciel de connexion au port série, par exemple, Microsoft HyperTerminal.
  • Port COM série sur un hôte XenServer.

Si vos hôtes ne disposent pas d’un port série physique ou si aucune infrastructure physique appropriée n’est disponible, vérifiez si vous pouvez configurer un périphérique de gestion intégré avec votre matériel. Cette méthode est également connue sous le nom de Serial over LAN. Si vous utilisez cette méthode, vous avez besoin des éléments suivants :

  • Un port série virtuel fourni par un contrôleur de gestion de carte mère tel que Dell iDRAC ou HP iLO.
  • Un ordinateur avec un logiciel approprié pour se connecter au port série virtuel, par exemple, ipmitool.

Remarque :

Par défaut, XenServer suppose un débit en bauds série de 115 200. Si un débit en bauds différent est requis, ajustez la valeur de &lt;speed&gt; dans le fichier grub.cfg . Si nécessaire, demandez conseil à l’équipe d’assistance technique.

Pour configurer une connexion série, procédez comme suit :

  1. Si vous n’utilisez pas COM1 sur votre serveur, modifiez votre fichier grub.cfg .

    • Pour le démarrage du BIOS hérité, le fichier grub.cfg se trouve dans le répertoire /boot/grub .
    • Pour le démarrage UEFI, le fichier grub.cfg se trouve dans le répertoire /boot/efi/EFI/xenserver .
  2. Localisez la ligne suivante : serial --unit=0 --speed=&lt;speed&gt;
  3. Modifiez la valeur de --unit pour qu’elle soit n-1, où &lt;n&gt; représente votre numéro de port COM.

    Par exemple, pour utiliser COM2, définissez la valeur de –unit sur 1 :

      serial --unit=1 --speed=<speed>
    
  4. Localisez la ligne dans la section 'XenServer (Serial)' du menu où le texte suivant est affiché : com1=&lt;speed&gt;,8n1 console=com1,vga

  5. Remplacez com1 par com&lt;n&gt;, où &lt;n&gt; représente votre numéro de port COM.

  6. Démarrez ou redémarrez l’hôte XenServer.

  7. Dans le menu grub, sélectionnez XenServer (Série).

  8. XenServer démarre avec la prise en charge de la console série.

Vous pouvez maintenant utiliser la méthode choisie pour vous connecter à la console série.

Générer un vidage sur incident à partir de la console série

Si un hôte XenServer tombe en panne, le noyau en cours d’exécution peut migrer vers une zone mémoire spéciale basée sur les fonctions kexec. Il charge un noyau spécial sans nécessiter de redémarrage du serveur. Ce nouveau noyau tente de rassembler autant de détails que possible sur le crash (vidages de mémoire, liste des processus) et de les enregistrer dans le répertoire /var/crash .

Parfois, XenServer se bloque et ne redémarre pas après un crash. Lorsque cette situation se produit, le serveur ne répond pas mais fonctionne toujours et seul un redémarrage du serveur peut résoudre le problème. De plus, il se peut qu’aucun vidage sur incident ne soit disponible sur le serveur : il n’y a pas de vidage dans le répertoire /var/crash et la xe host-crashdump-list ne contient aucune information sur le crash.

Dans cette situation, vous pouvez forcer un crashdump qui enregistre les informations sur le crash, qui peuvent ensuite être analysées.

Après avoir basculé vers la console série, procédez comme suit :

  1. Attendez que XenServer ne réponde plus.
  2. Appuyez sur Ctrl+A trois fois pour passer au menu de l’hyperviseur Xen. Vous voyez ce message sur la console série : *** Entrée série vers Xen (tapez 'CTRL-a' trois fois pour changer d'entrée)
  3. Appuyez sur h pour afficher toutes les opérations disponibles.
  4. Appuyez sur Shift+C pour déclencher un crashdump.
  5. Attendez que l’hôte XenServer redémarre et enregistrez toutes les données sur un système de fichiers local.
  6. Recherchez le nouveau vidage sur incident sur le serveur dans le répertoire /var/crash .

Passer à l’hyperviseur de débogage

Dans certaines situations, il peut être utile de basculer l’hôte vers l’hyperviseur de débogage et de tenter de reproduire le problème. L’hyperviseur de débogage effectue davantage de vérifications intégrées et est plus détaillé dans sa sortie.

Pour activer l’hyperviseur de débogage sur votre hôte, procédez comme suit :

  1. Connectez-vous à la console hôte XenServer, soit en utilisant SSH, soit l’onglet Console dans XenCenter.
  2. Changez de répertoire vers le répertoire /boot : cd /boot
  3. Vérifiez que vous disposez du fichier xen-debug.gz du module de débogage : ls -l xen*

    Cette commande affiche les versions d’hyperviseur disponibles et les liens symboliques utilisés lors du démarrage de l’hôte. En fonctionnement normal, xen-release.gz renvoie au fichier de l’hyperviseur de version, xen-&lt;version&gt;.gz, et xen-debug.gz renvoie au fichier de l’hyperviseur de débogage, xen-&lt;version&gt;-d.gz. L’hyperviseur de débogage est la même version que l’hyperviseur de version, mais possède un -d supplémentaire inclus dans le nom du fichier.

    Les liens symboliques des hyperviseurs pendant le fonctionnement normal

  4. Modifiez le lien xen.gz pour qu’il pointe vers l’hyperviseur de débogage : ln -sf /boot/xen-debug.gz /boot/xen.gz
  5. Redémarrez votre hôte.

Après avoir utilisé l’hyperviseur de débogage pour effectuer les actions recommandées par le support technique et collecter davantage d’informations de diagnostic, rebasculez votre hyperviseur vers l’hyperviseur de version avant de revenir au fonctionnement normal.

Pour revenir à l’utilisation de l’hyperviseur de version sur votre hôte, procédez comme suit :

  1. Connectez-vous à la console hôte XenServer, soit en utilisant SSH, soit l’onglet Console dans XenCenter.
  2. Changez de répertoire vers le répertoire /boot : cd /boot
  3. Modifiez le lien xen.gz pour qu’il pointe vers l’hyperviseur de version : ln -sf /boot/xen-release.gz /boot/xen.gz
  4. Redémarrez votre hôte.
Dépannage avancé