Sophos Firewall Secure Heartbeat Datenbank bereinigen
In manchen Supportfällen gibt Sophos hilfreiche Wartungsbefehle weiter, die nicht immer direkt in der öffentlichen Knowledge Base dokumentiert sind. Diese Hinweise notieren wir uns, damit sie bei ähnlichen Fällen wieder sauber nachvollziehbar sind.
In diesem Fall ging es um eine Sophos Firewall, bei der die Datenbank für Secure Heartbeat zu viel Speicherplatz belegt hat. Laut Sophos Support kann für bestimmte Tabellen der Datenbank corporate eine Wartung mit VACUUM FULL durchgeführt werden.
Wann diese Anleitung relevant ist
Diese Anleitung ist relevant, wenn auf der Sophos Firewall der Speicherplatz knapp wird und der Verdacht besteht, dass Datenbanktabellen rund um Secure Heartbeat ungewöhnlich viel Platz belegen.
Typische Hinweise können sein:
- Warnungen wegen hohem Speicherverbrauch
- Stark belegte Partitionen auf der Firewall
- Probleme mit Reports, Logs oder Diensten aufgrund knapper Disk-Kapazität
- Ein Hinweis von Sophos Support, dass die Secure Heartbeat Datenbank zu gross geworden ist
Allgemeine Schritte zum Prüfen des Speicherplatzes sind im Artikel Sophos Firewall - Speicherplatz ermitteln und Berichte verwalten beschrieben.
Voraussetzungen
Für diese Wartung benötigt man:
- Administrativen Zugriff auf die Sophos Firewall
- Zugriff auf die Advanced Shell
- Ein Wartungsfenster
- Eine aktuelle Konfigurationssicherung der Firewall
- Genügend freien Speicherplatz, damit die Datenbankwartung abgeschlossen werden kann
Falls der Zugriff auf die Shell noch nicht eingerichtet ist, erklärt die Anleitung Sophos Firewall per SSH verbinden, wie man eine SSH-Verbindung zur Firewall herstellt.
⚠️ Diese Befehle greifen direkt auf die interne PostgreSQL-Datenbank der Sophos Firewall zu. Man sollte sie nur gezielt und nach aktueller Bestätigung durch Sophos Support für den konkreten Supportfall ausführen.
VACUUM FULLkann Tabellen während der Ausführung sperren und je nach Grösse der Datenbank einige Zeit dauern.
Speicherplatz vor der Wartung prüfen
Vor der Datenbankwartung sollte geprüft werden, wie stark die Partitionen belegt sind:
df -h
Für eine genauere Anzeige in Megabyte kann auch folgender Befehl verwendet werden:
df -hkm
Die Ausgabe sollte vor der Wartung dokumentiert werden, damit man nachher vergleichen kann, ob Speicherplatz freigegeben wurde.
Datenbankwartung ausführen
Die folgenden Befehle führt man in der Advanced Shell aus.
Zuerst wird die Tabelle tbleacappcache bereinigt:
psql -U pgroot -d corporate -c "VACUUM FULL tbleacappcache"
Anschliessend wird die Tabelle tblappstoeps bereinigt:
psql -U pgroot -d corporate -c "VACUUM FULL tblappstoeps"
Die Befehle melden nach erfolgreicher Ausführung üblicherweise VACUUM zurück. Während der Ausführung sollte die SSH-Sitzung nicht geschlossen und die Firewall nicht neu gestartet werden.
Speicherplatz nach der Wartung prüfen
Nach Abschluss der Befehle sollte der Speicherplatz erneut geprüft werden:
df -h
Wenn die Secure Heartbeat Datenbank tatsächlich die Ursache war, sollte sich die Belegung der betroffenen Partition reduzieren. Wie stark der Effekt ausfällt, hängt davon ab, wie gross die Tabellen vorher waren und wie viele Daten PostgreSQL freigeben konnte.
Wichtige Hinweise
- Diese Wartung behebt nicht automatisch die Ursache, warum die Tabellen gewachsen sind.
- Wenn der Speicherplatz danach erneut schnell ansteigt, sollte ein Sophos-Supportfall eröffnet werden.
VACUUM FULList intensiver als ein normalesVACUUM, weil Tabellen neu geschrieben werden.- Die Befehle sollten nicht als regelmässiger Cronjob oder Routine ohne Diagnose verwendet werden.
- Bei produktiven Firewalls empfiehlt sich ein Wartungsfenster, da einzelne Funktionen während der Datenbankwartung verzögert reagieren können.
Ursache laut Sophos Support
In dem konkreten Fall war die Ursache laut Sophos Support, dass die Datenbank von Secure Heartbeat zu viel Speicherplatz belegt hatte. Die beiden genannten VACUUM FULL-Befehle dienen dazu, die betroffenen Tabellen gezielt zu bereinigen und nicht mehr benötigten Speicherplatz wieder freizugeben.