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 du support technique.

Modifier les options de la ligne de commande Xen®

XenServer® est basé sur l’hyperviseur Xen open source. 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 qu’avec les conseils 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 des arguments de la ligne de commande Xen peuvent rendre vos hôtes impossibles à démarrer ou potentiellement vulnérables aux menaces de sécurité.

Pour ajouter des options à la ligne de commande Xen de votre hôte, suivez les étapes suivantes :

  1. Connectez-vous à la console de l’hôte XenServer, soit en utilisant SSH, soit via 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 s’exécute en silence, mais vous pouvez vérifier que vos paramètres sont définis en consultant votre fichier grub.cfg.

    • Si vous utilisez le mode de démarrage 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, suivez les étapes suivantes :

  1. Connectez-vous à la console de l’hôte XenServer, soit en utilisant SSH, soit via 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 s’exécute 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 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 en 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 Installer 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 bascule vers 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 liste 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 du matériel différent.
  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. Modifiez le système de fichiers racine temporaire pour le système de fichiers sur 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 affiche l’emplacement de l’archive tarball contenant le rapport d’état du serveur.

  9. Ajoutez /mnt au chemin d’accès 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 poste de travail.

    • Si le 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 poste de travail 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 modem nul série à 9 broches.
  • Port COM série sur un système exécutant 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 de port série physique ou si une infrastructure physique appropriée n’est pas 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 utilise un débit en bauds série de 115200. Si un débit en bauds différent est requis, ajustez la valeur de <speed> dans le fichier grub.cfg. Si nécessaire, demandez l’aide de l’équipe du support technique.

Pour configurer une connexion série, suivez les étapes suivantes :

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

    • Pour le démarrage 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=<speed>
  3. Modifiez la valeur de --unit pour qu’elle soit n-1, où <n> représente le numéro de votre 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 menuentry 'XenServer (Serial)' où le texte suivant est affiché : com1=<speed>,8n1 console=com1,vga

  5. Remplacez com1 par com<n>, où <n> représente le numéro de votre port COM.

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

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

  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 depuis la console série

Si un hôte XenServer plante, le noyau en cours d’exécution peut migrer vers une zone de 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 recueillir autant de détails que possible sur le plantage (vidages 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 plantage. Lorsque cette situation se produit, le serveur ne répond plus mais est toujours en cours d’exécution, et seul un redémarrage du serveur peut résoudre le problème. De plus, il est possible 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 le xe host-crashdump-list ne contient aucune information sur le plantage.

Dans cette situation, vous pouvez forcer un vidage sur incident qui enregistre les informations sur le plantage, lesquelles pourront ensuite être analysées.

Après être passé à la console série, suivez les étapes suivantes :

  1. Attendez que XenServer ne réponde plus.
  2. Appuyez trois fois sur Ctrl+A pour passer au menu de l’hyperviseur Xen. Vous verrez ce message sur la console série : *** Serial input to Xen (type 'CTRL-a' three times to switch input)
  3. Appuyez sur h pour afficher toutes les opérations disponibles.
  4. Appuyez sur Maj+C pour déclencher un vidage sur incident.
  5. Attendez que l’hôte XenServer redémarre et enregistrez toutes les données sur un système de fichiers local.
  6. Vérifiez la présence du 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 faire passer l’hôte à 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, suivez les étapes suivantes :

  1. Connectez-vous à la console de l’hôte XenServer, soit en utilisant SSH, soit l’onglet Console dans XenCenter.
  2. Accédez au répertoire /boot : cd /boot
  3. Vérifiez que le fichier du module de débogage xen-debug.gz est disponible : 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 pointe vers le fichier de l’hyperviseur de version, xen-<version>.gz, et xen-debug.gz pointe vers le fichier de l’hyperviseur de débogage, xen-<version>-d.gz. L’hyperviseur de débogage est la même version que l’hyperviseur de version, mais il contient un -d supplémentaire inclus dans le nom du fichier.

    Les liens symboliques des hyperviseurs en 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 recueillir davantage d’informations de diagnostic, rebasculez votre hyperviseur vers l’hyperviseur de version avant de reprendre le fonctionnement normal.

Pour revenir à l’utilisation de l’hyperviseur de version sur votre hôte, suivez les étapes suivantes :

  1. Connectez-vous à la console de l’hôte XenServer, soit en utilisant SSH, soit l’onglet Console dans XenCenter.
  2. Accédez au 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é