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 FULLpode 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 umVACUUMnormal 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.