Strategy ONE

Probleme mit der Core-Dump-Datei

Das Core-Dump funktioniert ordnungsgemäß, wenn die Core-Datei im Zielordner generiert wird, z. B. /<path_to_the_location>/core, während eines Serverabsturzes. Die Schritte zum Überprüfen dieser Funktionalität auf dem Linux-Betriebssystem (OS) werden unten beschrieben.

  1. Rufen Sie die Prozess-ID des Intelligence Servers durch Ausführen ab ps -ef | grep -i mstrsvr. Die Prozess-ID ist im folgenden Beispiel 6837.
  2. Kopieren
    $ ps -ef | grep -i mstrsvr
    mstr      6837     1  2 12:15 ?        00:02:37 /opt/mstr/MicroStrategy/install/IntelligenceServer/bin/MSTRSvr -s -w /opt/mstr/MicroStrategy/IntelligenceServer -t status-iserver.xml /opt/mstr/MicroStrategy/install/lib/libMSTRSvr2.so -n CastorServer
    mstr     32481 32391  0 14:12 pts/0    00:00:00 grep --color=auto -i mstrsvr
  3. Simulieren Sie einen Serverabsturz, indem Sie a ausführen sudo kill -6 <server_process_id> Befehl.

  4. Überprüfen Sie, ob im Zielordner eine Core-Datei generiert wird. Beispiel: /<path_to_the_location>/core. Die Kerndateigröße sollte ungleich Null sein.

Wenn die Kerndatei nicht gemäß dem oben beschriebenen Verfahren generiert wird, sollten Sie die Grundursache ermitteln. Die möglichen Ursachen und Schritte zur Behebung werden unten aufgeführt.

Ungültige oder fehlende Linux-Betriebssystemkonfiguration

Siehe Softwareanforderungen und Empfehlungen für die richtige Betriebssystemkonfiguration, um Core-Dump zu aktivieren. Denken Sie daran, den Intelligence-Server nach dem Anwenden der Einstellungen neu zu starten.

Fehlende Konfiguration, wenn Intelligence Server als Dienst registriert ist

Ihr Linux-Computer muss möglicherweise neu gestartet werden, um die Core-Dump-Konfiguration auf Betriebssystemebene anzuwenden. Wenn das Core Dumping nach dem Neustart immer noch deaktiviert ist, hat das Standardbenutzerprofil möglicherweise die Erstellung von Core-Dateien für Prozesse deaktiviert, die in der Initialisierungsphase (während des Neustarts des Computers) gestartet wurden. Führen Sie die folgenden Schritte aus, um dies zu beheben.

  1. Unter Verwendung von root Berechtigung, öffnen Sie die /etc/init.d/mstr-<InstallName>-iserver-CastorServer init-Skript. In der Regel <InstallName> hat die Form von user@timestamp. Suchen Sie die folgenden Zeilen.

    Kopieren
    start ()
    {
  2. Fügen Sie unterhalb der gefundenen Zeilen den folgenden Befehl hinzu, um den Start des Intelligence-Servers als Dienst mit aktivierter Core-Datei zu ermöglichen.

    Kopieren
    ulimit -c ulimited

Unzureichender Speicherplatz

Sie müssen sicherstellen, dass auf der Festplatte, auf die die Core-Datei geschrieben wird, ausreichend freier Speicherplatz vorhanden ist. Beachten Sie, dass die Kerndatei in das für angegebene Verzeichnis geschrieben ist kernel.core_pattern (siehe Aktivieren des Core Dumps für Details), während die erwartete Größe der Kerndateien mit dem Speicherbedarf des Intelligence-Servers beim Absturz identisch ist. Stellen Sie außerdem sicher, dass die Erstellung großer Dateien (mehr als 2 GB) unterstützt wird, wenn Ihr Computer Network File System (NFS) verwendet.

Alternative: Kerndateien mit ABRT in RedHat Enterprise Linux 6 und höher verarbeiten

RedHat Linux Version 6.x und höher wird mit einem Automatic Bug Reporting Tool (ABRT) geliefert, das Core-Dump-Dateien automatisch sammelt und im speichert /var/spool/abrt Ordner. Wenn dies bevorzugt wird, sind zusätzliche Schritte erforderlich, um sicherzustellen, dass das Core Dumping des Intelligence-Servers mit ABRT zusammenarbeiten kann. Eine ausführliche Erklärung finden Sie unter offizielle Erklärung zu ABRT.

  1. Wenn Sie die Schritte in befolgt haben Aktivieren des Core Dumps, kommentieren Sie die folgenden Zeilen aus oder entfernen Sie sie aus /etc/sysctl.conf.

    Kopieren
    kernel.core_pattern = /<path_to_the_location>/core/core.%e.%p.%h.%t
    fs.suid_dumpable = 2
  2. Aktivieren Sie die Core-Dump-Sammlung für den Intelligence-Server, der nicht von RedHat signiert oder verpackt ist. Wenden Sie dazu die folgenden Zeilen in an /etc/abrt/abrt-action-save-package-data.conf:

    Kopieren
    OpenGPGCheck = no
    ProcessUnpackaged = yes
  3. Konfigurieren Sie den Ordner, in dem die Kerndatei gespeichert wird, indem Sie den folgenden Parameter zu hinzufügen /etc/abrt/abrt.conf. Standardmäßig ist der Parameter auskommentiert und hat den Wert /var/spool/abrt.

    Kopieren
    DumpLocation =/Your_desired/Path_to_generate/the_core_file
  4. Starten Sie den ABRT-Dienst neu, um die oben genannten Einstellungen anzuwenden. Stellen Sie sicher, dass Sie diese Befehle ausführen als root.

    Kopieren
    # service abrtd restart
    # service abrt-ccpp start
  5. Lösen Sie das Core-Dumping aus und überprüfen Sie, ob die Core-Datei erstellt werden kann, indem Sie den folgenden Befehl ausführen. Dies muss unbedingt über ausgeführt werden /IntelligenceServer Ordner und notieren Sie sich den Speicherort der erstellten Kerndatei.

    Kopieren
    # gcore -o <file> <pid>

Einige wichtige Hinweise:

  1. Stellen Sie sicher, dass DumpLocation ist vorhanden und kann vom ABRT-Prozess beschrieben werden.
  2. Wenn Sie anpassen DumpLocation, stellen Sie sicher, dass er sich von dem für angegebenen Ordner unterscheidet WatchCrashdumpArchiveDir, eine weitere Einstellung in abrt.conf Datei.
  3. Wenn die Kerndatei abgeschnitten ist oder immer noch kein Speicherauszug erstellt wird, können Sie die Systemmeldungsprotokolle in prüfen /var/log/messages um zu untersuchen, warum das Core-Dumping fehlschlägt.