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.
- 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. -
Simulieren Sie einen Serverabsturz, indem Sie a ausführen
sudo kill -6 <server_process_id>
Befehl. - Überprüfen Sie, ob im Zielordner eine Core-Datei generiert wird. Beispiel:
/<path_to_the_location>/core
. Die Kerndateigröße sollte ungleich Null sein.
$ 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
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.
-
Unter Verwendung von
root
Berechtigung, öffnen Sie die/etc/init.d/mstr-<InstallName>-iserver-CastorServer
init-Skript. In der Regel<InstallName>
hat die Form vonuser@timestamp
. Suchen Sie die folgenden Zeilen.Kopierenstart ()
{ -
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.
Kopierenulimit -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.
-
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
.Kopierenkernel.core_pattern = /<path_to_the_location>/core/core.%e.%p.%h.%t
fs.suid_dumpable = 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
:KopierenOpenGPGCheck = no
ProcessUnpackaged = yes -
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
.KopierenDumpLocation =/Your_desired/Path_to_generate/the_core_file
-
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 -
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:
- Stellen Sie sicher, dass
DumpLocation
ist vorhanden und kann vom ABRT-Prozess beschrieben werden. - Wenn Sie anpassen
DumpLocation
, stellen Sie sicher, dass er sich von dem für angegebenen Ordner unterscheidetWatchCrashdumpArchiveDir
, eine weitere Einstellung inabrt.conf
Datei. - 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.