XenServer

Erweiterte Fehlerbehebung

Dieser Artikel listet erweiterte Fehlerbehebungsmaßnahmen auf, die Sie unter Anleitung des technischen Support-Teams durchführen können.

Optionen in der Xen®-Befehlszeile ändern

XenServer® basiert auf dem Open-Source-Hypervisor Xen. Im Rahmen der Diagnose oder Problemumgehung werden Sie möglicherweise aufgefordert, Parameter zur Xen-Befehlszeile hinzuzufügen.

Wir empfehlen dringend, Ihre Xen-Befehlszeile nur unter Anleitung des technischen Supports zu ändern. Das Festlegen oder Ändern von Optionen, die nicht in der XenServer-Produktdokumentation aufgeführt oder vom technischen Support angegeben sind, wird nicht unterstützt. Abgesehen davon, dass Ihre Umgebung dadurch nicht mehr supportberechtigt ist, können diese Änderungen an den Xen-Befehlszeilenargumenten Ihre Hosts unbootfähig oder potenziell anfällig für Sicherheitsbedrohungen machen.

Um Optionen zur Xen-Befehlszeile Ihres Hosts hinzuzufügen, führen Sie die folgenden Schritte aus:

  1. Melden Sie sich an der XenServer-Hostkonsole an, entweder über SSH oder über die Registerkarte Konsole in XenCenter.
  2. Führen Sie den folgenden Befehl mit den vom technischen Support empfohlenen Parametern und Werten aus: /opt/xensource/libexec/xen-cmdline --set-xen <parameter>=<value>
  3. Der Befehl wird stillschweigend ausgeführt, aber Sie können überprüfen, ob Ihre Parameter gesetzt sind, indem Sie Ihre Datei grub.cfg überprüfen.

    • Wenn Sie den Legacy-BIOS-Startmodus für Ihren Host verwenden, führen Sie den folgenden Befehl aus: more /boot/grub/grub.cfg
    • Wenn Sie den UEFI-Startmodus für Ihren Host verwenden, führen Sie den folgenden Befehl aus: more /boot/efi/EFI/xenserver/grub.cfg

    Der von Ihnen angegebene Parameter wird in den Abschnitten XenServer und XenServer (Serial) der Datei angezeigt.

  4. Starten Sie Ihren XenServer-Host neu, damit Ihre Änderungen wirksam werden.

Um Optionen aus der Xen-Befehlszeile Ihres Hosts zu entfernen, führen Sie die folgenden Schritte aus:

  1. Melden Sie sich an der XenServer-Hostkonsole an, entweder über SSH oder über die Registerkarte Konsole in XenCenter.
  2. Führen Sie den folgenden Befehl mit den vom technischen Support empfohlenen Parametern und Werten aus: /opt/xensource/libexec/xen-cmdline --remove-xen <parameter>
  3. Der Befehl wird stillschweigend ausgeführt, aber Sie können überprüfen, ob Ihre Parameter entfernt wurden, indem Sie Ihre grub.cfg-Datei überprüfen.

    • Wenn Sie den Legacy-BIOS-Startmodus für Ihren Host verwenden, führen Sie den folgenden Befehl aus: more /boot/grub/grub.cfg
    • Wenn Sie den UEFI-Startmodus für Ihren Host verwenden, führen Sie den folgenden Befehl aus: more /boot/efi/EFI/xenserver/grub.cfg
  4. Starten Sie Ihren XenServer-Host neu, damit Ihre Änderungen wirksam werden.

Protokolle sammeln, wenn XenServer nicht startet

Wenn Ihr XenServer-Host nicht erfolgreich startet, können Sie trotzdem Protokolle von ihm sammeln, indem Sie versuchen, von der Installations-ISO zu starten.

  1. Laden Sie die Installations-ISO von https://xenserver.com/downloads herunter.
  2. Starten Sie Ihren XenServer-Host von der Installations-ISO. Informationen zu den Startmethoden von der ISO finden Sie in Schritt 2 unter Installieren des XenServer-Hosts.
  3. Wenn das erste Dialogfeld auf dem Bildschirm erscheint, drücken Sie Alt+F2. Der Installationsprozess wechselt Sie zu einer Shell-Konsole.
  4. Überprüfen Sie, ob die Installations-ISO die lokale oder Remote-Festplatte sehen kann. Führen Sie den folgenden Befehl aus:

    fdisk –l
    

    Wenn die lokalen und Remote-Festplatten sichtbar sind, listet dieser Befehl die sichtbaren Partitionen auf. Diese Partitionen haben normalerweise Namen der Form /dev/sdaX.

  5. Identifizieren Sie die Root-Partition auf der lokalen Festplatte. Die Root-Partition ist normalerweise /dev/sda1, kann aber auf unterschiedlicher Hardware abweichen.
  6. Mounten Sie die Root-Partition in einem temporären Mount-Punkt /mnt, um auf die lokale Festplatte zuzugreifen:

    mkdir /mnt
    mount /dev/sda1 /mnt
    ls /mnt
    
  7. Ändern Sie das temporäre Root-Dateisystem in das Dateisystem auf Ihrer Festplatte:

    chroot /mnt
    
  8. Erstellen Sie einen Serverstatusbericht, indem Sie die folgenden Befehle ausführen:

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

    Der Befehl gibt den Speicherort des Tarballs aus, der den Serverstatusbericht enthält.

  9. Stellen Sie /mnt dem im vorherigen Schritt angegebenen Pfad voran, um den Pfad zur Datei im temporären Root-Dateisystem zu erhalten, zum Beispiel: /mnt/var/opt/xen/bug-report/bug-report-xxxx.tar.bz2
  10. Richten Sie eine temporäre IP-Adresse ein, um den Serverstatusbericht über das Netzwerk auf Ihren Desktop zu kopieren.

    • Wenn DHCP im Netzwerk ausgeführt wird, führen Sie den folgenden Befehl aus:

       dhclient <network-interface>
      
    • Wenn kein DHCP vorhanden ist, konfigurieren Sie die IP-Adresse manuell:

       ifconfig <network-interface> <x.x.x.x> netmask <x.x.x.x> up
       route add default <x.x.x.x>
      
  11. Verbinden Sie sich mit einem SCP-Client mit der zuvor konfigurierten IP-Adresse und kopieren Sie den Statusbericht auf Ihren lokalen Desktop.

Seriellen Konsolenzugriff konfigurieren

Der serielle Konsolenzugriff auf den XenServer-Host kann für Debugging-Zwecke nützlich sein. Sie können die serielle Verbindung mit HyperTerminal (oder einer ähnlichen Anwendung) verwenden, um XenServer-Protokolle zu sammeln.

Sie können einen physischen Port verwenden, um eine Verbindung zu Ihrem Host herzustellen. Wenn Sie diese Methode verwenden, benötigen Sie Folgendes:

  • 9-poliges serielles Nullmodemkabel.
  • Serieller COM-Port an einem System, auf dem Software für die Verbindung mit dem seriellen Port ausgeführt wird, z. B. Microsoft HyperTerminal.
  • Serieller COM-Port an einem XenServer-Host.

Wenn Ihre Hosts keinen physischen seriellen Port haben oder keine geeignete physische Infrastruktur verfügbar ist, prüfen Sie, ob Sie ein eingebettetes Verwaltungsgerät mit Ihrer Hardware konfigurieren können. Diese Methode ist auch als Serial over LAN bekannt. Wenn Sie diese Methode verwenden, benötigen Sie Folgendes:

  • Ein virtueller serieller Port, der von einem Baseboard Management Controller wie Dell iDRAC oder HP iLO bereitgestellt wird.
  • Ein Computer mit geeigneter Software zum Verbinden mit dem virtuellen seriellen Port, zum Beispiel ipmitool.

Hinweis:

Standardmäßig geht XenServer von einer seriellen Baudrate von 115200 aus. Wenn eine andere Baudrate erforderlich ist, passen Sie den Wert von <speed> in der Datei grub.cfg an. Suchen Sie bei Bedarf die Unterstützung des technischen Support-Teams.

Um eine serielle Verbindung einzurichten, führen Sie die folgenden Schritte aus:

  1. Wenn Sie COM1 auf Ihrem Server nicht verwenden, bearbeiten Sie Ihre Datei grub.cfg.

    • Für den Legacy-BIOS-Start befindet sich die Datei grub.cfg im Verzeichnis /boot/grub.
    • Für den UEFI-Start befindet sich die Datei grub.cfg im Verzeichnis /boot/efi/EFI/xenserver.
  2. Suchen Sie die folgende Zeile: serial --unit=0 --speed=<speed>
  3. Ändern Sie den Wert von --unit in n-1, wobei <n> Ihre COM-Port-Nummer darstellt.

    Um beispielsweise COM2 zu verwenden, setzen Sie den Wert von –unit auf 1:

    serial --unit=1 --speed=<speed>
    
  4. Suchen Sie die Zeile im Abschnitt menuentry 'XenServer (Serial)', in der der folgende Text angezeigt wird: com1=<speed>,8n1 console=com1,vga

  5. Ersetzen Sie com1 durch com<n>, wobei <n> Ihre COM-Port-Nummer darstellt.

  6. Starten oder booten Sie den XenServer-Host neu.

  7. Wählen Sie im Grub-Menü XenServer (Serial) aus.

  8. XenServer startet mit Unterstützung für die serielle Konsole.

Sie können nun Ihre gewählte Methode verwenden, um eine Verbindung zur seriellen Konsole herzustellen.

Einen Crash-Dump von der seriellen Konsole generieren

Wenn ein XenServer-Host abstürzt, kann der laufende Kernel in einen speziellen Speicherbereich migrieren, der auf kexec-Funktionen basiert. Er lädt einen speziellen Kernel, ohne dass ein Serverneustart erforderlich ist. Dieser neue Kernel versucht, so viele Details wie möglich über den Absturz zu sammeln (Speicher-Dumps, Prozessliste) und sie im Verzeichnis /var/crash zu speichern.

Manchmal hängt XenServer und startet nach einem Absturz nicht neu. Wenn diese Situation eintritt, reagiert der Server nicht mehr, läuft aber noch, und nur ein Neustart des Servers kann das Problem beheben. Außerdem sind möglicherweise keine Crash-Dumps auf dem Server verfügbar: Es gibt keinen Dump im Verzeichnis /var/crash und die xe host-crashdump-list enthält keine Informationen über den Absturz.

In dieser Situation können Sie einen Crashdump erzwingen, der Informationen über den Absturz speichert, die dann analysiert werden können.

Nach dem Wechsel zur seriellen Konsole führen Sie die folgenden Schritte aus:

  1. Warten Sie, bis XenServer nicht mehr reagiert.
  2. Drücken Sie Strg+A dreimal, um zum Xen-Hypervisor-Menü zu wechseln. Sie sehen diese Meldung auf der seriellen Konsole: *** Serial input to Xen (type 'CTRL-a' three times to switch input)
  3. Drücken Sie h, um alle verfügbaren Operationen anzuzeigen.
  4. Drücken Sie Umschalt+C, um einen Crashdump auszulösen.
  5. Warten Sie, bis der XenServer-Host neu startet, und speichern Sie alle Daten auf einem lokalen Dateisystem.
  6. Überprüfen Sie den neuen Crash-Dump auf dem Server im Verzeichnis /var/crash.

Zum Debug-Hypervisor wechseln

In einigen Situationen kann es nützlich sein, den Host auf die Verwendung des Debug-Hypervisors umzustellen und zu versuchen, das Problem zu reproduzieren. Der Debug-Hypervisor führt mehr integrierte Prüfungen durch und ist in seiner Ausgabe ausführlicher.

Um den Debug-Hypervisor auf Ihrem Host zu aktivieren, führen Sie die folgenden Schritte aus:

  1. Melden Sie sich an der XenServer-Hostkonsole an, entweder über SSH oder über die Registerkarte Konsole in XenCenter.
  2. Wechseln Sie in das Verzeichnis /boot: cd /boot
  3. Stellen Sie sicher, dass die Debug-Modul-Datei xen-debug.efi verfügbar ist: ls -l xen*

    Dieser Befehl zeigt die verfügbaren Hypervisor-Versionen und die symbolischen Links an, die beim Booten des Hosts verwendet werden. Im Normalbetrieb verweist xen-release.efi auf die Release-Hypervisor-Datei xen-<version>.efi, und xen-debug.efi verweist auf die Debug-Hypervisor-Datei xen-<version>-d.efi. Der Debug-Hypervisor ist die gleiche Version wie der Release-Hypervisor, enthält aber ein zusätzliches -d im Dateinamen.

    Die symbolischen Links der Hypervisoren im Normalbetrieb

  4. Ändern Sie den Link xen.efi, sodass er auf den Debug-Hypervisor verweist: ln -sf /boot/xen-debug.efi /boot/xen.efi
  5. Starten Sie Ihren Host neu.

Nachdem Sie den Debug-Hypervisor verwendet haben, um die vom technischen Support empfohlenen Aktionen durchzuführen und weitere Diagnoseinformationen zu sammeln, wechseln Sie Ihren Hypervisor wieder zum Release-Hypervisor, bevor Sie zum Normalbetrieb zurückkehren.

Um auf Ihrem Host wieder den Release-Hypervisor zu verwenden, führen Sie die folgenden Schritte aus:

  1. Melden Sie sich an der XenServer-Hostkonsole an, entweder über SSH oder über die Registerkarte Konsole in XenCenter.
  2. Wechseln Sie in das Verzeichnis /boot: cd /boot
  3. Ändern Sie den Link xen.efi, sodass er auf den Release-Hypervisor verweist: ln -sf /boot/xen-release.efi /boot/xen.efi
  4. Starten Sie Ihren Host neu.
Erweiterte Fehlerbehebung