Saltar para o conteudo
Avanet

Limpar a base de dados Secure Heartbeat da Sophos Firewall

Em alguns casos de suporte, a Sophos fornece comandos de manutenção úteis que nem sempre estão documentados na Knowledge Base pública. Guardamos estas notas para que casos semelhantes possam ser tratados de forma consistente.

Neste caso, a base de dados Secure Heartbeat da Sophos Firewall estava a usar demasiado espaço em disco. Segundo o Sophos Support, algumas tabelas da base corporate podem ser mantidas com VACUUM FULL.

Quando este guia é relevante

Este guia é relevante quando o espaço em disco da Sophos Firewall começa a ficar baixo e existe suspeita de que tabelas relacionadas com Secure Heartbeat estão a usar espaço anormal.

Sinais típicos:

  • Avisos de utilização elevada de disco
  • Partições muito ocupadas na firewall
  • Problemas com relatórios, logs ou serviços devido a pouca capacidade em disco
  • Indicação do Sophos Support de que a base Secure Heartbeat cresceu demasiado

Os passos gerais para verificar espaço estão descritos em Sophos Firewall - verificar espaço e gerir relatórios.

Requisitos

Para esta manutenção é necessário:

  • Acesso administrativo à Sophos Firewall
  • Acesso à Advanced Shell
  • Uma janela de manutenção
  • Uma cópia de segurança atual da configuração da firewall
  • Espaço livre suficiente para a manutenção da base de dados terminar

Se o acesso shell ainda não estiver configurado, Ligar à Sophos Firewall por SSH explica como estabelecer uma ligação SSH.

⚠️ Estes comandos acedem diretamente à base PostgreSQL interna da Sophos Firewall. Devem ser usados apenas de forma direcionada e após confirmação actual do Sophos Support para o caso de suporte concreto. VACUUM FULL pode bloquear tabelas durante a execução e demorar algum tempo dependendo do tamanho da base.

Verificar espaço antes da manutenção

Antes da manutenção da base, verificar a utilização das partições:

df -h

Para uma vista mais precisa em megabytes, também pode ser usado:

df -hkm

Guardar a saída antes da manutenção para poder comparar depois.

Executar a manutenção da base

Executar os seguintes comandos na Advanced Shell.

Primeiro limpar a tabela tbleacappcache:

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

Depois limpar a tabela tblappstoeps:

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

Após execução bem-sucedida, os comandos normalmente devolvem VACUUM. Não fechar a sessão SSH e não reiniciar a firewall enquanto os comandos estão em execução.

Verificar espaço após a manutenção

Depois de os comandos terminarem, verificar novamente o espaço:

df -h

Se a base Secure Heartbeat era realmente a causa, a utilização da partição afetada deve diminuir. O efeito depende do tamanho anterior das tabelas e de quanto espaço o PostgreSQL conseguiu libertar.

Notas importantes

  • Esta manutenção não corrige automaticamente a causa do crescimento das tabelas.
  • Se a utilização do disco voltar a aumentar rapidamente, abrir um caso no Sophos Support.
  • VACUUM FULL é mais intensivo do que um VACUUM normal porque reescreve tabelas.
  • Estes comandos não devem ser usados como cronjob ou rotina sem diagnóstico.
  • Em firewalls de produção recomenda-se uma janela de manutenção, porque algumas funções podem responder mais lentamente durante a manutenção da base.

Causa segundo o Sophos Support

No caso concreto, o Sophos Support indicou que a base de dados Secure Heartbeat usava demasiado espaço em disco. Os dois comandos VACUUM FULL acima servem para limpar as tabelas afetadas e libertar espaço não utilizado.