El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe cómo limpiar archivos del disco del sistema.
Administrador(es) y versión(es): FMC/FDM 7.6.0 CLI se ejecuta en FMC o FTD CLI
Aplicación (ASA/FTD) y versión mínima de la aplicación: FTD 7.6.0
Plataformas Soportadas: Todos los dispositivos FMC y FTD cuentan con esta función.
Migrado desde: https://confluence-eng-rtp2.cisco.com/conf/display/IFT/Diskcleaner
El limpiador de discos y sus secuencias de comandos se instalan durante la instalación o actualización. No forma parte de los scripts de actualización. El administrador de procesos inicia el proceso diskclean.py al iniciar el sistema. Se ejecuta como un proceso daemon administrado por el Administrador de procesos y se ejecuta hasta que se cierra el sistema. El limpiador de discos tiene secuencias de comandos de disco que se invocan cuando el porcentaje de uso volume= excede los umbrales configurados. Por ejemplo, actualmente hay scripts de limpieza de disco que se invocan cuando el uso total del volumen alcanza el 85% y otros que se invocan cuando el uso total del disco alcanza el 95%. Si la capacidad completa del disco alcanza el 95%, ejecuta los scripts de limpieza de la capacidad completa del 95% y si la capacidad completa del disco permanece por encima del 85%, ejecuta los scripts de limpieza de la capacidad completa del 85%.
Esto es lo que el limpiador de discos está configurado actualmente para ejecutar en el FMC:
- Truncar (a 0 bytes) cualquier archivo eliminado (archivos que se han eliminado pero que aún están abiertos por un proceso en ejecución). Estos archivos se pueden mostrar con el comando lsof +L1.
- Obligar al administrador de discos a vaciar todos los silos.
- Eliminar todos los archivos de registro girados (aquellos con extensiones de archivo xxxxxxxxx.n.gz como messages.1.gz)
- Obligar al administrador de discos a realizar un drenaje máximo de todos los silos. Esto drena los silos hasta el 25% de su nivel normal de agua baja.
Esto es lo que el limpiador de discos está configurado actualmente para ejecutar en el FTD:
- Truncar (a 0 bytes) cualquier archivo eliminado (archivos que se han eliminado pero que aún están abiertos por un proceso en ejecución). Estos archivos se pueden mostrar con el comando lsof +L1.
- Obligar al administrador de discos a vaciar todos los silos.
- Eliminar todos los archivos de registro girados (aquellos con extensiones de archivo xxxxxxxxx.n.gz como messages.1.gz)
- Obligar al administrador de discos a realizar un drenaje máximo de todos los silos. Esto drena los silos hasta el 25% de su nivel normal de agua baja.
NOTE: At the current time, FXOS files and logs are outside of the scope of the diskcleaner!!!
Utilice el comando system support diskclean-show para ver las secuencias de comandos del limpiador de discos que están disponibles para ejecutarse. Las secuencias de comandos que se muestran aquí se pueden ejecutar manualmente mediante el comando diskcleanrun para liberar espacio en disco manualmente. Cada una de estas secuencias de comandos de limpieza de disco se describe en estas diapositivas con ejemplos de invocación.
> 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
Ingrese el comando diskclean. Los métodos existentes de diskmanager y de recorte de disco no son suficientes para esta nueva tarea. El diskmanager fue diseñado para controlar los niveles de llenado de disco en tiempo real a medida que los archivos se abren y cierran. Los archivos de configuración de diskmanager son selectivos, complicados y frágiles. El proceso de recorte está diseñado para recortar el uso del espacio de archivos de componentes de funciones individuales sin tener en cuenta los niveles de llenado de disco del sistema en general. La nueva estructura del limpiador de discos se ha creado para proporcionar la capacidad de eliminar archivos basados en los niveles de llenado del disco del sistema similares al diskmanager con la sencillez de utilizar un lenguaje de scripting similar al del proceso de recorte de discos.
Utilice el comando diskclean-run para ejecutar manualmente un script de diskclean. El comando es el siguiente:
system support diskcleaner-run
donde nombre de archivo es el nombre de la secuencia de comandos del limpiador de discos que se ejecutará. Puede ser una ruta completa con el nombre del directorio y del archivo, una ruta relativa (de /etc/sf/dc) o el nombre de una secuencia de comandos (como se le denomina en /etc/sf/dc). Se aceptan globos de archivos estándar. El nombre de archivo está sujeto a requisitos de seguridad que pueden restringir el conjunto de caracteres permitido (como no usar marcas de retroceso `). Recuerde que el limpiador de discos sólo ejecuta scripts a ciegas. Por lo tanto, puede crear una nueva secuencia de comandos que ejecute varias secuencias de comandos del limpiador de discos y, a continuación, ejecutar la nueva secuencia de comandos (de modo que se ejecuten todas las secuencias de comandos del limpiador de discos incluidas en ella).
Eliminar todos los archivos de registro girados en el punto de montaje especificado.
> system support diskcleaner-run sfims-file-mgmnt-infra-delete-rotated-logs.sh --help
Eliminar todos los archivos de registro girados en el punto de montaje 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.
Hacer que el administrador de discos realice una purga máxima en todas las particiones
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-partition-drain-max.sh --help
Haga que el administrador de discos realice una purga máxima de todas sus particiones.
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
...
>
Hacer que el administrador de discos realice una purga máxima en todos los silos
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-silo-drain-all.sh --help
Haga que el administrador de discos realice un drenaje máximo de todos sus 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 a cero bytes todos los archivos eliminados ocultos que están presentes debido a identificadores de archivo abiertos.
> 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.
>
Utilice el comando pmtool para detener e iniciar el limpiador de discos.
> pmtool disablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) - User Disabled
...
> pmtool enablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) – Running 17086
...
Esta secuencia de comandos es el programa principal del limpiador de discos. Esta secuencia de comandos de Python se ejecuta de la siguiente manera:
diskcleaner.py [--debug] [--help] [--interval <interval>]
donde si se especifica debugging, la secuencia de comandos genera información de depuración y help es la información de uso de salida y exit.
Intervalo (en segundos) entre los ciclos de limpieza de disco. Si no se especifica, el valor predeterminado es 600 segundos. diskclean.py es iniciado por el Administrador de procesos al inicio del sistema. Se ejecuta como un proceso daemon administrado por el Administrador de procesos y se ejecuta hasta que se apaga el sistema. Cuando se inicia el limpiador de discos, ejecuta un loop que se ejecuta cada intervalo de segundos. Cada ciclo, el limpiador de discos escanea todos los puntos de montaje (/, /Volume, ...) especificados por el comando df -a y obtiene su uso actual del disco (medido por el comando df).
El limpiador de discos recorre cada nivel de limpieza comenzando en el nivel 0 y se abre camino hasta que el número de nivel sea mayor que el porcentaje de uso de disco de ese punto de montaje. Sólo es necesario limpiar un nivel si el uso del punto de montaje es igual o superior al número de nivel. Por lo tanto, si el uso es del 55%, ejecute cada nivel de limpieza de disco en orden - 0, 1, 2, ..., 55.
Cuando la limpieza debe realizarse, se invoca la secuencia de comandos del shell diskcleanr.sh (ver a continuación) para realizar la limpieza real. Ese script llama ciegamente a cada script encontrado en el directorio del limpiador de discos del punto de montaje para el nivel limpio especificado.
diskclean.sh es una secuencia de comandos bash que inicia el evento de limpieza de disco.
diskcleaner.sh <mount point> <level>
donde el punto de montaje es el punto de montaje que se va a limpiar y el nivel se refiere al nivel de limpieza que se va a realizar. Este es el porcentaje en el que se realiza la limpieza. Por ejemplo, si se ingresan 85, se ejecutaría el limpiador de discos al 85%.
Todas las secuencias de comandos de limpieza de disco presentes en el directorio:
[/ngfw]/etc/sf/dc/<mount point>/dc<clean level>
que coincidan con el DC* del globo de archivos se ejecutan (en orden alfabético).
Tenga en cuenta que, dado que los nombres de los puntos de montaje suelen incluir barras diagonales (/), el uso del nombre del punto de montaje real en la ruta de acceso del directorio es incómodo (o no es válido). Por lo tanto, cambie cualquiera / a _. Por lo tanto, para limpiar el punto de montaje /dev/shm en el nivel limpio 85 (para un uso de disco del 85%), las secuencias de comandos deben coincidir: [/ngfw]/etc/sf/dc/_dev_shm/85/DC*
Este paradigma se basa en el paradigma de script rc init por el cual todos los scripts coincidentes en el directorio rcn.d se ejecutan ciegamente. El prefijo DC también es una retención del paradigma rc init - todos esos scripts comienzan con S (start) o K (kill). Supongo que te impide recoger archivos de mierda que acaban de ser dejados en el directorio. Por lo tanto, utilice un prefijo de DC.
El limpiador de discos utiliza el comando linux df para verificar el uso del disco:
/var/log/process_stdout.log and /var/log/process_stderr.log
Lo que hace el limpiador de discos se registra en process_stdout.log. Por lo general, no hay salida porque no hay limpieza de disco que hacer. Pero si necesita limpiar el disco, los archivos que se eliminen se registran en process_stdout.log. En la siguiente página se muestra un ejemplo de lo que process_stdout.log puede contener. Grep en diskclean. ̌Ejemplo de resultado en 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%.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
27-Jun-2025
|
Versión inicial |