XenServer

Erweiterte Fehlerbehebung

In diesem Artikel werden erweiterte Maßnahmen zur Fehlerbehebung aufgeführt, die Sie unter Anleitung des technischen Supportteams durchführen können.

Ändern Sie die Optionen in der Xen-Befehlszeile

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

Wir empfehlen Ihnen 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 bereitgestellt werden, wird nicht unterstützt. Diese Änderungen an den Xen-Befehlszeilenargumenten können nicht nur dazu führen, dass Ihre Umgebung nicht mehr unterstützt wird, sondern auch dazu, dass Ihre Hosts nicht mehr gestartet werden können oder potenziell anfällig für Sicherheitsbedrohungen sind.

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

  1. Melden Sie sich bei der XenServer-Hostkonsole an, entweder per 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 zurückgegeben, Sie können jedoch überprüfen, ob Ihre Parameter festgelegt sind, indem Sie Ihre Datei grub.cfg prüfen.

    • Wenn Sie den Legacy-BIOS-Bootmodus für Ihren Host verwenden, führen Sie den folgenden Befehl aus: more /boot/grub/grub.cfg
    • Wenn Sie den UEFI-Bootmodus 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 (Seriell) der Datei angezeigt.

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

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

  1. Melden Sie sich bei der XenServer-Hostkonsole an, entweder per 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 zurückgegeben, Sie können jedoch überprüfen, ob Ihre Parameter entfernt wurden, indem Sie Ihre Datei grub.cfg prüfen.

    • Wenn Sie den Legacy-BIOS-Bootmodus für Ihren Host verwenden, führen Sie den folgenden Befehl aus: more /boot/grub/grub.cfg
    • Wenn Sie den UEFI-Bootmodus 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.

Sammeln Sie Protokolle, wenn der Start von XenServer fehlschlägt

Wenn Ihr XenServer-Host nicht erfolgreich bootet, können Sie dennoch Protokolle davon sammeln, indem Sie versuchen, vom Installations-ISO zu booten.

  1. Laden Sie die Installations-ISO von https://xenserver.com/downloadsherunter.
  2. Starten Sie Ihren XenServer-Host von der Installations-ISO. Informationen zu Methoden zum Booten vom ISO finden Sie in Schritt 2 in Installieren Sie den XenServer-Host.
  3. Wenn der erste Dialog auf dem Bildschirm erscheint, drücken Sie Alt+F2. Der Installationsvorgang schaltet Sie auf eine Shell-Konsole um.
  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 Stammpartition auf der lokalen Festplatte. Die Root-Partition ist normalerweise /dev/sda1, kann aber auf unterschiedlicher Hardware unterschiedlich sein.
  6. Hängen Sie die Root-Partition in einen temporären Einhängepunkt /mnt ein, 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 druckt den Speicherort des Tarballs, der den Serverstatusbericht enthält.

  9. Fügen Sie dem im vorherigen Schritt angegebenen Pfad /mnt 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 in Ihrem Netzwerk ausgeführt wird, führen Sie den folgenden Befehl aus:

         dhclient eth0
      
    • Wenn kein DHCP vorhanden ist, konfigurieren Sie die IP-Adresse manuell:

         ifconfig eth0 <x.x.x.x> netmask <x.x.x.x> up
         route add default <x.x.x.x>
      
  11. Stellen Sie mithilfe eines SCP-Clients eine Verbindung zur zuvor konfigurierten IP-Adresse her und kopieren Sie den Statusbericht auf Ihren lokalen Desktop.

Konfigurieren des seriellen Konsolenzugriffs

Der serielle Konsolenzugriff auf den XenServer-Host kann für Debugzwecke 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-Anschluss auf einem System, auf dem Software zum Verbinden mit dem seriellen Anschluss ausgeführt wird, beispielsweise Microsoft HyperTerminal.
  • Serieller COM-Port auf einem XenServer-Host.

Wenn Ihre Hosts nicht über einen physischen seriellen Anschluss verfügen oder keine geeignete physische Infrastruktur verfügbar ist, prüfen Sie, ob Sie mit Ihrer Hardware ein eingebettetes Verwaltungsgerät konfigurieren können. Diese Methode wird auch als „Seriell über LAN“ bezeichnet. Wenn Sie diese Methode verwenden, benötigen Sie Folgendes:

  • Ein virtueller serieller Port, der von einem Baseboard-Verwaltungscontroller wie Dell iDRAC oder HP iLO bereitgestellt wird.
  • Ein Computer mit entsprechender 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 &lt;speed&gt; in der Datei grub.cfg an. Wenden Sie sich bei Bedarf an das technische Supportteam.

Führen Sie die folgenden Schritte aus, um eine serielle Verbindung einzurichten:

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

    • Beim Booten mit Legacy-BIOS befindet sich die Datei grub.cfg im Verzeichnis /boot/grub .
    • Beim UEFI-Boot befindet sich die Datei grub.cfg im Verzeichnis /boot/efi/EFI/xenserver .
  2. Suchen Sie die folgende Zeile: serial --unit=0 --speed=&lt;speed&gt;
  3. Bearbeiten Sie den Wert von --unit in n-1, wobei &lt;n&gt; Ihre COM-Portnummer darstellt.

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

      serial --unit=1 --speed=<speed>
    
  4. Suchen Sie im Abschnitt Menüeintrag „XenServer (Seriell)“ nach der Zeile, in der der folgende Text angezeigt wird: com1=&lt;speed&gt;,8n1 console=com1,vga

  5. Ersetzen Sie com1 durch com&lt;n&gt;, wobei &lt;n&gt; Ihre COM-Portnummer darstellt.

  6. Starten Sie den XenServer-Host oder starten Sie ihn neu.

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

  8. XenServer startet mit serieller Konsolenunterstützung.

Sie können jetzt die von Ihnen gewählte Methode verwenden, um eine Verbindung zur seriellen Konsole herzustellen.

Generieren Sie einen Crash-Dump von der seriellen Konsole

Wenn ein XenServer-Host abstürzt, kann der laufende Kernel in einen speziellen Speicherbereich migrieren, der auf Kexec-Funktionen basiert. Es lädt einen speziellen Kernel, ohne dass ein Neustart des Servers erforderlich ist. Dieser neue Kernel versucht, möglichst viele Details über den Absturz zu sammeln (Speicherauszüge, Prozessliste) und sie im Verzeichnis /var/crash zu speichern.

Manchmal hängt sich XenServer nach einem Absturz auf und startet nicht neu. Wenn diese Situation eintritt, reagiert der Server nicht, läuft aber noch und nur ein Neustart des Servers kann das Problem beheben. Darüber hinaus sind möglicherweise keine Absturzspeicherauszüge auf dem Server verfügbar: Im Verzeichnis /var/crash gibt es keinen Speicherauszug und die xe host-crashdump-list enthält keine Informationen zum Absturz.

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

Führen Sie nach dem Wechsel zur seriellen Konsole die folgenden Schritte aus:

  1. Warten Sie, bis XenServer nicht mehr reagiert.
  2. Drücken Sie dreimal Strg+A , um zum Xen-Hypervisor-Menü zu wechseln. Sie sehen diese Meldung auf der seriellen Konsole: *** Serielle Eingabe zu Xen (geben Sie dreimal „STRG-a“ ein, um die Eingabe zu wechseln)
  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 gestartet wird, und speichern Sie alle Daten auf einem lokalen Dateisystem.
  6. Suchen Sie auf dem Server im Verzeichnis /var/crash nach dem neuen Absturzspeicherauszug.

Wechseln Sie zum Debug-Hypervisor

In manchen Situationen kann es sinnvoll 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.

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

  1. Melden Sie sich bei der XenServer-Hostkonsole an, entweder per SSH oder über die Registerkarte Konsole in XenCenter.
  2. Wechseln Sie in das Verzeichnis /boot : cd /boot
  3. Stellen Sie sicher, dass Ihnen die Datei xen-debug.gz des Debugmoduls zur Verfügung steht: 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.gz auf die Release-Hypervisor-Datei, xen-&lt;version&gt;.gzund xen-debug.gz auf die Debug-Hypervisor-Datei, xen-&lt;version&gt;-d.gz. Der Debug-Hypervisor ist dieselbe Version wie der Release-Hypervisor, hat aber zusätzlich ein -d im Dateinamen.

    Die symbolischen Links des Hypervisors im Normalbetrieb

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

Nachdem Sie mit dem Debug-Hypervisor die vom technischen Support empfohlenen Aktionen ausgeführt und weitere Diagnoseinformationen gesammelt haben, wechseln Sie Ihren Hypervisor zurück zum Release-Hypervisor, bevor Sie zum Normalbetrieb zurückkehren.

Um zur Verwendung des Release-Hypervisors auf Ihrem Host zurückzukehren, führen Sie die folgenden Schritte aus:

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