Przejdz do tresci
Avanet

Czyszczenie bazy Secure Heartbeat w Sophos Firewall

W niektórych sprawach supportowych Sophos przekazuje przydatne polecenia konserwacyjne, które nie zawsze są opisane w publicznej Knowledge Base. Zapisujemy je, aby podobne przypadki można było później obsłużyć w sposób powtarzalny.

W tym przypadku baza Secure Heartbeat w Sophos Firewall zużywała zbyt dużo miejsca. Według Sophos Support konkretne tabele bazy corporate można obsłużyć poleceniem VACUUM FULL.

Kiedy ta instrukcja jest przydatna

Instrukcja jest przydatna, gdy w Sophos Firewall zaczyna brakować miejsca i istnieje podejrzenie, że tabele bazy związane z Secure Heartbeat zużywają nietypowo dużo przestrzeni.

Typowe sygnały:

  • Ostrzeżenia o wysokim użyciu dysku
  • Mocno zajęte partycje na firewallu
  • Problemy z raportami, logami lub usługami z powodu małej pojemności dysku
  • Informacja od Sophos Support, że baza Secure Heartbeat urosła zbyt mocno

Ogólne kroki sprawdzania miejsca opisuje artykuł Sophos Firewall - sprawdzanie miejsca i zarządzanie raportami.

Wymagania

Do tej konserwacji potrzebne są:

  • Dostęp administracyjny do Sophos Firewall
  • Dostęp do Advanced Shell
  • Okno serwisowe
  • Aktualna kopia konfiguracji firewalla
  • Wystarczająca ilość wolnego miejsca, aby konserwacja bazy mogła się zakończyć

Jeśli dostęp do shell nie jest jeszcze skonfigurowany, Połączenie SSH z Sophos Firewall pokazuje, jak zestawić połączenie SSH.

⚠️ Te polecenia uzyskują bezpośredni dostęp do wewnętrznej bazy PostgreSQL Sophos Firewall. Należy ich używać tylko celowo i po aktualnym potwierdzeniu przez Sophos Support dla konkretnego zgłoszenia supportowego. VACUUM FULL może blokować tabele podczas działania i w zależności od rozmiaru bazy potrwać dłużej.

Sprawdzenie miejsca przed konserwacją

Przed konserwacją bazy sprawdzić zajętość partycji:

df -h

Dla dokładniejszego widoku w megabajtach można użyć również:

df -hkm

Wynik warto zapisać przed konserwacją, aby później porównać efekt.

Wykonanie konserwacji bazy

Następujące polecenia wykonać w Advanced Shell.

Najpierw wyczyścić tabelę tbleacappcache:

psql -U pgroot -d corporate -c "VACUUM FULL tbleacappcache"

Następnie wyczyścić tabelę tblappstoeps:

psql -U pgroot -d corporate -c "VACUUM FULL tblappstoeps"

Po udanym wykonaniu polecenia zwykle zwracają VACUUM. Nie zamykać sesji SSH i nie restartować firewalla, gdy polecenia są wykonywane.

Sprawdzenie miejsca po konserwacji

Po zakończeniu poleceń ponownie sprawdzić miejsce:

df -h

Jeśli przyczyną była baza Secure Heartbeat, zajętość odpowiedniej partycji powinna się zmniejszyć. Efekt zależy od wcześniejszego rozmiaru tabel i od tego, ile miejsca PostgreSQL mógł zwolnić.

Ważne uwagi

  • Ta konserwacja nie usuwa automatycznie przyczyny wzrostu tabel.
  • Jeśli użycie dysku szybko wzrośnie ponownie, należy otworzyć sprawę w Sophos Support.
  • VACUUM FULL jest bardziej intensywne niż zwykłe VACUUM, ponieważ przepisuje tabele.
  • Poleceń nie należy używać jako cronjob ani rutyny bez diagnozy.
  • Na produkcyjnych firewallach zalecane jest okno serwisowe, ponieważ część funkcji może reagować wolniej podczas konserwacji bazy.

Przyczyna według Sophos Support

W konkretnym przypadku Sophos Support wskazał, że baza Secure Heartbeat zajmowała zbyt dużo miejsca. Dwa powyższe polecenia VACUUM FULL służą do oczyszczenia wskazanych tabel i zwolnienia nieużywanego miejsca.