O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve como limpar arquivos do disco do sistema.
Gerente(s) e Versão(ões): CLI do FMC/FDM 7.6.0 executada no FMC ou FTD CLI
Aplicação (ASA/FTD) e versão mínima da aplicação: FTD 7.6.0
Plataformas suportadas: Todos os dispositivos FMC e FTD têm esse recurso.
Migrado de: https://confluence-eng-rtp2.cisco.com/conf/display/IFT/Diskcleaner
O diskcleaner e seus scripts são instalados na instalação/atualização. Ele não faz parte dos scripts de atualização. O processo diskcleaner.py é iniciado pelo Gerenciador de processos na inicialização do sistema. Ele é executado como um processo daemon gerenciado pelo Gerenciador de processos e é executado até que o sistema seja desligado. O limpador de disco tem scripts de disco que são chamados quando a porcentagem de uso do volume de disco= excede os limites configurados. Por exemplo, atualmente há scripts de limpeza de disco que são chamados quando a integridade do uso do volume atinge 85% e outros que são chamados quando a integridade do uso do disco atinge 95%. Se a integridade do disco atingir 95%, ele executará os scripts de limpeza de integridade de 95% e se a integridade do disco permanecer maior que 85%, ele executará os scripts de limpeza de integridade de 85%.
Isso é o que o diskcleaner está configurado atualmente para executar no FMC:
- Truncar (para 0 bytes) todos os arquivos excluídos (arquivos que foram excluídos, mas ainda estão abertos por um processo em execução). Esses arquivos podem ser mostrados com o comando lsof +L1.
- Force o gerenciador de disco a drenar todos os silos.
- Exclua todos os arquivos de registro girados (aqueles com extensões de arquivo xxxxxxxx.n.gz, como messages.1.gz)
- Force o gerenciador de disco a fazer um consumo máximo de todos os silos. Isso drena os silos para 25% de sua marca de água baixa normal.
Isso é o que o diskcleaner está configurado atualmente para executar no FTD:
- Truncar (para 0 bytes) todos os arquivos excluídos (arquivos que foram excluídos, mas ainda estão abertos por um processo em execução). Esses arquivos podem ser mostrados com o comando lsof +L1.
- Force o gerenciador de disco a drenar todos os silos.
- Exclua todos os arquivos de registro girados (aqueles com extensões de arquivo xxxxxxxx.n.gz, como messages.1.gz)
- Force o gerenciador de disco a fazer um consumo máximo de todos os silos. Isso drena os silos para 25% de sua marca de água baixa normal.
NOTE: At the current time, FXOS files and logs are outside of the scope of the diskcleaner!!!
Use o comando system support diskcleaner-show para ver os scripts de limpeza de disco disponíveis para execução. Os scripts exibidos aqui podem ser executados manualmente usando o comando diskcleaner-run para liberar espaço em disco manualmente. Cada um desses scripts de limpeza de disco é descrito nesses slides com exemplos de chamada.
> system support diskcleaner-show
sfims-file-mgmnt-infra-delete-rotated-logs.sh
sfims-file-mgmnt-infra-diskmanager-partition-drain-max.sh
sfims-file-mgmnt-infra-diskmanager-silo-drain-all.sh
sfims-file-mgmnt-infra-truncate-deleted-files.py
Digite o comando diskcleaner. Os métodos existentes do gerenciador de disco e da remoção de disco são insuficientes para esta nova tarefa. O gerenciador de discos foi projetado para controlar os níveis de integridade do disco em tempo real, à medida que os arquivos são abertos e fechados. Os arquivos de configuração do diskmanager são seletivos, complicados e frágeis. O processo de remoção foi projetado para reduzir o uso de espaço de arquivos para componentes de recursos individuais sem conhecer os níveis gerais de integridade de disco do sistema. A nova estrutura do diskcleaner foi criada para fornecer a capacidade de remover arquivos com base nos níveis de integridade de disco do sistema, semelhantes ao diskmanager, com a simplicidade de usar uma linguagem de script semelhante à do processo de remoção de disco.
Use o comando diskcleaner-run para executar manualmente um script do diskcleaner. O comando é:
system support diskcleaner-run
onde nome do arquivo é o nome do script do diskcleaner a ser executado. Pode ser um caminho completo com nome de diretório e arquivo, um caminho relativo (de /etc/sf/dc) ou o nome de um script (como é nomeado em /etc/sf/dc). Globos de arquivo padrão são aceitos. O nome do arquivo está sujeito a requisitos de segurança que podem restringir o conjunto de caracteres permitidos (como o não uso de backticks `). Lembre-se de que o diskcleaner está apenas executando scripts cegamente. Assim, você pode criar um novo script que executa vários scripts do diskcleaner e, em seguida, executar esse novo script (para que todos os scripts do diskcleaner incluídos sejam executados).
Excluir todos os arquivos de log girados no ponto de montagem especificado.
> system support diskcleaner-run sfims-file-mgmnt-infra-delete-rotated-logs.sh --help
Excluir todos os arquivos de log girados no ponto de montagem especificado.
sfims-file-mgmnt-infra-delete-rotated-logs.sh [--debug] [--help] <mount point>
> system support diskcleaner-run sfims-file-mgmnt-infra-delete-rotated- logs.sh --debug /ngfw/Volume
Deleting all rotated log files on mount point '/ngfw/Volume'.
Deletion of all rotated log files on mount point '/ngfw/Volume' has
completed - 0 bytes.
Faça com que o gerenciador de discos execute uma drenagem máxima em todas as partições
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-partition-drain-max.sh --help
Faça com que o gerenciador de disco faça o máximo de drenagem de todas as suas partições.
sfims-file-mgmnt-infra-diskmanager-partition-drain-max.sh [--debug] [--help]
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-partition-drain-max.sh
Performing a maximum drain on all disk manager partitions - current disk usage:
Partition:Silo Used Minimum Maximum
/ngfw/var:Temporary Files 0 KB 121.704 MB 486.817 MB
...
Performing a maximum drain on disk manager partition '/ngfw/var'.
Partition /ngfw/var has been drained.
Maximum drain on all disk manager partitions has completed - current disk usage:
Partition:Silo Used Minimum Maximum
/ngfw/var:Temporary Files 0 KB 121.704 MB 486.817 MB
...
>
Faça com que o gerenciador de discos execute um consumo máximo em todos os silos
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-silo-drain-all.sh --help
Faça com que o gerenciador de disco faça um consumo máximo de todos os seus silos.
sfims-file-mgmnt-infra-diskmanager-silo-drain-all.sh [--debug] [--help]
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-silo-drain-all.sh
Draining all disk manager silos to their low-water mark - current disk usage:
Partition:Silo Used Minimum Maximum
/ngfw/var:Temporary Files 0 KB 121.704 MB 486.817 MB
...
Draining all disk manager silos..
All silos have been drained.
Draining all disk manager silos to their low-water mark has completed - current disk usage:
Partition:Silo Used Minimum Maximum
/ngfw/var:Temporary Files 0 KB 121.704 MB 486.817 MB
>
Truncar para zero bytes todos os arquivos excluídos ocultos que estão presentes devido a identificadores de arquivo abertos.
> system support diskcleaner-run sfims-file-mgmnt-infra-truncate-deleted-files.py -h
usage: sfims-file-mgmnt-infra-truncate-deleted-files.py [-h] [--debug]
[ignored]
Truncate all deleted (zombie) files to zero-length.
positional arguments:
ignored
optional arguments:
-h, --help show this help message and exit
--debug If specified, the script will output lots of debug information.
> system support diskcleaner-run sfims-file-mgmnt-infra-truncate-deleted-files.py
Truncating all deleted (zombie) files.
Deleted file '/run/nscd/dbGG9F8K' is on the deleted files exclude list - NOT truncating.
All deleted (zombie) files have been truncated - total size = 0 bytes.
>
Use o comando pmtool para parar e iniciar o diskcleaner.
> pmtool disablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) - User Disabled
...
> pmtool enablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) – Running 17086
...
Este script é o programa principal do diskcleaner. Este programa em Python é executado da seguinte forma:
diskcleaner.py [--debug] [--help] [--interval <interval>]
onde, se a depuração for especificada, o script gerará as informações de depuração e a ajuda serão as informações de uso de saída e a saída.
O intervalo (em segundos) entre os ciclos de limpeza de disco. Se não for especificado, o padrão é 600 segundos. O diskcleaner.py é iniciado pelo Gerenciador de processos na inicialização do sistema. Ele é executado como um processo daemon gerenciado pelo Gerenciador de processos e é executado até que o sistema seja desligado. Quando o diskcleaner é iniciado, ele executa um loop que é executado a cada intervalo segundos. A cada ciclo, o diskcleaner examina todos os pontos de montagem (/, /Volume, ...) especificados pelo comando df -a e obtém o uso atual do disco (conforme medido pelo comando df ).
O diskcleaner percorre cada nível de limpeza, começando no nível 0, e vai subindo até que o número do nível seja maior que a porcentagem de uso do disco daquele ponto de montagem. Você só precisa fazer a limpeza de um nível se o uso do ponto de montagem estiver no número do nível ou for maior do que ele. Portanto, se o uso for 55%, execute cada nível de limpeza de disco na ordem 0, 1, 2, ..., 55.
Quando a limpeza precisa ser feita, o script de shell diskcleaner.sh (veja abaixo) é chamado para fazer a limpeza real. Esse script simplesmente chama cegamente cada script encontrado no diretório do diskcleaner do ponto de montagem para o nível limpo especificado.
O diskcleaner.sh é um script bash que inicia o evento de limpeza de disco.
diskcleaner.sh <mount point> <level>
onde o ponto de montagem é o ponto de montagem a ser limpo e o nível se refere ao nível de limpeza a ser executado. Esta é a porcentagem na qual a limpeza é feita. Por exemplo, se 85 fossem inseridos, ele executaria o diskcleaner em 85%.
Todos os scripts de limpeza de disco presentes no diretório:
[/ngfw]/etc/sf/dc/<mount point>/dc<clean level>
que correspondem ao glob de arquivo DC* são executados (em ordem alfabética).
Observe que, como os nomes dos pontos de montagem normalmente possuem barras (/), o uso do nome real do ponto de montagem no caminho do diretório é estranho (ou ilegal). Portanto, altere qualquer / para _. Portanto, para limpar o ponto de montagem /dev/shm no nível de limpeza 85 (para 85% de uso do disco), os scripts devem corresponder: [/ngfw]/etc/sf/dc/_dev_shm/85/DC*
Esse paradigma é baseado no paradigma de script rc init pelo qual todos os scripts correspondentes no diretório rcn.d são cegamente executados. O prefixo DC também é um remanescente do paradigma rc init - todos esses scripts começam com S (início) ou K (fim). Acho que isso te impede de pegar arquivos de lixo que acabaram de ser deixados no diretório. Portanto, use um prefixo DC.
O diskcleaner usa o comando linux df para verificar o uso do disco:
/var/log/process_stdout.log and /var/log/process_stderr.log
O que o diskcleaner faz é registrado em process_stdout.log. Geralmente, não há saída porque não há limpeza de disco a ser feita. Mas se a limpeza do disco precisar ser feita, os arquivos excluídos serão registrados em process_stdout.log. Na próxima página há um exemplo do que process_stdout.log pode conter. Grep no diskcleaner. ̌Exemplo de saída em process_stdout.log:
Feb 9 04:10:23 uhura diskcleaner[2639]: Starting level 85 disk cleaning for mount point '/ngfw/Volume': current usage = 97%.
Feb 9 04:10:23 uhura diskcleaner[2639]: Starting disk cleaning scripts in directory '/etc/sf/dc/_ngfw_Volume/dc85' for mount point '/ngfw/Volume'.
Feb 9 04:10:23 uhura diskcleaner[2639]: Filesystem 1K-blocks Used Available Use% Mounted on
Feb 9 04:10:23 uhura diskcleaner[2639]: /dev/sda5 40511148 39040764 1470384 97% /ngfw/Volume
Feb 9 04:10:23 uhura diskcleaner[2639]: Executing '/etc/sf/dc/_ngfw_Volume/dc85/DC660-truncate-deleted- files.py' ...
Feb 9 04:10:23 uhura diskcleaner[2639]: Truncating all deleted (zombie) files.
Feb 9 04:10:23 uhura diskcleaner[2639]: Deleted file '/run/nscd/dbZ5hobS' is on the deleted files exclude list - NOT truncating.
Feb 9 04:10:23 uhura diskcleaner[2639]: All deleted (zombie) files have been truncated - total size = 0 bytes.
Feb 9 04:10:23 uhura diskcleaner[2639]: Filesystem 1K-blocks Used Available Use% Mounted on
Feb 9 04:10:23 uhura diskcleaner[2639]: /dev/sda5 40511148 39040764 1470384 97% /ngfw/Volume
Feb 9 04:10:23 uhura diskcleaner[2639]: '/etc/sf/dc/_ngfw_Volume/dc85/DC660-truncate-deleted-files.py' completed in 0.43 seconds - status = 0.
Feb 9 04:10:23 uhura diskcleaner[2639]: Executing '/etc/sf/dc/_ngfw_Volume/dc85/DC663-delete-rotated- logs.sh' ...
Feb 9 04:10:23 uhura diskcleaner[2639]: Deleting all rotated log files on mount point '/ngfw/Volume'.
Feb 9 04:10:24 uhura diskcleaner[2639]: Deleted file '/ngfw/Volume/root1/ngfw/var/log/top.log.1.gz' - 2771386 bytes.
Feb 9 04:10:24 uhura diskcleaner[2639]: Deleted file '/ngfw/Volume/root1/ngfw/var/log/test/fake-rotated- log.log.1.gz' - 1073741824 bytes.
Feb 9 04:10:24 uhura diskcleaner[2639]: Deleted file '/ngfw/Volume/root1/ngfw/var/log/test/fake-rotated- log.log.2.gz' - 1073741824 bytes.
Feb 9 04:10:24 uhura diskcleaner[2639]: Deleted file '/ngfw/Volume/root1/ngfw/var/log/test/fake-rotated- log.log.3.gz' - 1073741824 bytes.
Feb 9 04:10:24 uhura diskcleaner[2639]: Deletion of all rotated log files on mount point '/ngfw/Volume' has completed - 25772575162 bytes.
Feb 9 04:10:24 uhura diskcleaner[2639]: Filesystem 1K-blocks Used Available Use% Mounted on
Feb 9 04:10:24 uhura diskcleaner[2639]: /dev/sda5 40511148 13872228 26638920 35% /ngfw/Volume
Feb 9 04:10:24 uhura diskcleaner[2639]: '/etc/sf/dc/_ngfw_Volume/dc85/DC663-delete-rotated-logs.sh' completed in 0.21 seconds - status = 0.
Feb 9 04:10:24 uhura diskcleaner[2639]: Completed disk cleaning scripts in directory '/etc/sf/dc/_ngfw_Volume/dc85' for mount point '/ngfw/Volume' in 0.69 seconds.
Feb 9 04:10:24 uhura diskcleaner[2639]: Finished level 85 disk cleaning for mount point '/ngfw/Volume': current usage = 35%.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
27-Jun-2025
|
Versão inicial |