La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive come pulire i file dal disco di sistema.
Responsabili e versioni: CLI di FMC/FDM 7.6.0 eseguito presso la CLI di FMC o FTD
Applicazione (ASA/FTD) e versione minima dell'applicazione: FTD 7.6.0
Piattaforme supportate: Tutti i dispositivi FMC e FTD dispongono di questa funzionalità.
Migrazione eseguita da: https://confluence-eng-rtp2.cisco.com/conf/display/IFT/Diskcleaner
Diskcleaner e i relativi script vengono installati al momento dell'installazione o dell'aggiornamento. Non fa parte degli script di aggiornamento. Il processo diskcleaner.py viene avviato da Gestione processi all'avvio del sistema. Viene eseguito come un processo daemon gestito da Gestione processi e viene eseguito fino all'arresto del sistema. In Pulitura disco sono presenti script del disco che vengono richiamati quando la percentuale di utilizzo del volume del disco supera le soglie configurate. Ad esempio, attualmente esistono script di pulitura dei dischi che vengono richiamati quando l'utilizzo del volume raggiunge l'85% e altri quando l'utilizzo del disco raggiunge il 95%. Se la percentuale di riempimento del disco raggiunge il 95%, vengono eseguiti gli script di pulizia della percentuale di riempimento del 95% e, se la percentuale di riempimento del disco rimane superiore all'85%, vengono eseguiti gli script di pulizia della percentuale di riempimento dell'85%.
Questo è il comando attualmente configurato per l'esecuzione di Diskcleaner nel FMC:
- Tronca (a 0 byte) tutti i file eliminati (file che sono stati eliminati ma sono ancora aperti da un processo in esecuzione). Per visualizzare questi file, usare il comando lsof +L1.
- Svuotare tutti i silos forzando Gestione dischi.
- Eliminare tutti i file di registro ruotati (quelli con estensioni xxxxxxx.n.gz, ad esempio messages.1.gz)
- Imporre al gestore del disco di eseguire il massimo svuotamento di tutti i silos. Questo drena i silos al 25% della loro normale soglia di bassa marea.
Questo è ciò che diskcleaner è attualmente configurato per l'esecuzione sull'FTD:
- Tronca (a 0 byte) tutti i file eliminati (file che sono stati eliminati ma sono ancora aperti da un processo in esecuzione). Per visualizzare questi file, usare il comando lsof +L1.
- Svuotare tutti i silos forzando Gestione dischi.
- Eliminare tutti i file di registro ruotati (quelli con estensioni xxxxxxx.n.gz, ad esempio messages.1.gz)
- Imporre al gestore del disco di eseguire il massimo svuotamento di tutti i silos. Questo drena i silos al 25% della loro normale soglia di bassa marea.
NOTE: At the current time, FXOS files and logs are outside of the scope of the diskcleaner!!!
Utilizzare il comando system support diskcleaner-show per visualizzare gli script di pulitura dischi disponibili per l'esecuzione. Gli script visualizzati possono essere eseguiti manualmente utilizzando il comando diskcleaner-run per liberare manualmente spazio su disco. Ognuno di questi script di pulitura del disco è descritto in queste diapositive con esempi di richiamo.
> 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
Immettere il comando diskcleaner. I metodi esistenti di gestione dei dischi e di eliminazione dei dischi sono insufficienti per questa nuova attività. Diskmanager è stato progettato per controllare i livelli di pienezza del disco in tempo reale man mano che i file vengono aperti e chiusi. I file di configurazione di diskmanager sono selettivi, complessi e fragili. Il processo di eliminazione è progettato per ridurre l'utilizzo dello spazio dei file per i singoli componenti delle feature, senza che vengano rilevati i livelli complessivi di riempimento del disco del sistema. Il nuovo framework di diskcleaner è stato creato per consentire la rimozione dei file in base ai livelli di completamento del disco di sistema simili a quelli di diskmanager, con la semplicità di utilizzare un linguaggio di script simile a quello del processo di eliminazione del disco.
Utilizzare il comando diskcleaner-run per eseguire manualmente uno script diskcleaner. Il comando è:
system support diskcleaner-run
dove nome file è il nome dello script diskcleaner da eseguire. Può essere un percorso completo con directory e nome file, un percorso relativo (da /etc/sf/dc) o il nome di uno script (come è denominato in /etc/sf/dc). Sono accettati i file globs standard. Il nome del file è soggetto a requisiti di sicurezza che possono limitare il set di caratteri consentiti (come l'assenza di segni di graduazione `). Tenere presente che l'utilità di pulitura disco esegue solo script ciechi. È quindi possibile creare un nuovo script che esegua diversi script di diskcleaner e quindi eseguire solo il nuovo script, in modo che tutti gli script di diskcleaner inclusi vengano eseguiti.
Elimina tutti i file di registro ruotati nel punto di montaggio specificato.
> system support diskcleaner-run sfims-file-mgmnt-infra-delete-rotated-logs.sh --help
Elimina tutti i file di registro ruotati nel punto di montaggio specificato.
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.
Svuotamento massimo di tutte le partizioni da parte di Gestione disco
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-partition-drain-max.sh --help
Impostare Gestione disco in modo da eseguire un'operazione di svuotamento massimo di tutte le partizioni.
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
...
>
Impostare lo svuotamento massimo di tutti i silos da parte di Gestione disco
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-silo-drain-all.sh --help
Fare in modo che il gestore del disco esegua il massimo svuotamento di tutti i suoi 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
>
Tronca a zero byte tutti i file eliminati nascosti presenti a causa di handle di file aperti.
> 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.
>
Utilizzare il comando pmtool per arrestare e avviare diskcleaner.
> pmtool disablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) - User Disabled
...
> pmtool enablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) – Running 17086
...
Questo script è il programma principale per l'utilità di pulitura disco. Questo script Python viene eseguito nel modo seguente:
diskcleaner.py [--debug] [--help] [--interval <interval>]
se è specificato il debug, lo script restituisce le informazioni di debug, mentre la guida restituisce le informazioni sull'utilizzo e l'uscita.
Intervallo (in secondi) tra i cicli di pulizia del disco. Se non viene specificato, il valore predefinito è 600 secondi. diskcleaner.py viene avviato da Gestione processi all'avvio del sistema. Viene eseguito come un processo daemon gestito da Gestione processi (Process Manager) e fino all'arresto del sistema. Quando viene avviato, diskcleaner esegue un ciclo che viene eseguito ogni secondi di intervallo. Ad ogni ciclo, diskcleaner analizza tutti i punti di montaggio (/, /Volume, ...) specificati dal comando df -a e ottiene l'utilizzo corrente del disco (misurato dal comando df).
L'utilità di pulitura dei dischi esamina ogni livello di pulitura a partire dal livello 0 fino a raggiungere un livello superiore alla percentuale di utilizzo del disco del punto di montaggio. È necessario eseguire la pulizia solo per un livello se l'utilizzo del punto di montaggio è uguale o superiore al numero del livello. Quindi, se l'utilizzo è del 55%, eseguire ogni livello di pulizia del disco in ordine - 0, 1, 2, ..., 55.
Al termine della pulizia, viene richiamato lo script della shell diskcleaner.sh (vedere di seguito) per eseguire la pulizia effettiva. Lo script chiama solo ciecamente tutti gli script trovati nella directory diskcleaner del punto di montaggio per il livello di pulizia specificato.
Il file diskcleaner.sh è uno script bash che avvia l'evento di pulitura del disco.
diskcleaner.sh <mount point> <level>
dove il punto di montaggio è il punto di montaggio da pulire e il livello si riferisce al livello di pulizia da eseguire. Percentuale utilizzata per la pulizia. Se ad esempio si immette 85, verrà eseguito diskcleaner all'85%.
Tutti gli script di pulitura del disco presenti nella directory:
[/ngfw]/etc/sf/dc/<mount point>/dc<clean level>
che corrispondono al file glob DC* vengono eseguiti (in ordine alfabetico).
Tenere presente che, poiché i nomi dei punti di montaggio in genere includono barre (/), l'utilizzo del nome del punto di montaggio effettivo nel percorso della directory è scomodo o non valido. Quindi, modificare any / in _. Pertanto, per eliminare il mount point /dev/shm al livello di pulizia 85 (per l'utilizzo del disco all'85%), gli script devono corrispondere: [/ngfw]/etc/sf/dc/_dev_shm/85/DC*
Questo paradigma si basa sul paradigma dello script di inizializzazione rc, in base al quale tutti gli script corrispondenti nella directory rcn.d vengono eseguiti ciecamente. Il prefisso DC è anche un rifiuto del paradigma rc init - questi script iniziano tutti con S (start) o K (kill). Immagino che ti impedisca di raccogliere i file di merda che sono appena lasciati nella directory. Quindi, utilizzare un prefisso di CC.
Diskcleaner utilizza il comando linux df per verificare l'utilizzo del disco:
/var/log/process_stdout.log and /var/log/process_stderr.log
Le operazioni eseguite da diskcleaner vengono registrate in process_stdout.log. In genere, non viene generato alcun output perché non è necessario eseguire la pulizia del disco. Tuttavia, se è necessario eseguire la pulizia del disco, i file eliminati vengono registrati in process_stdout.log. Nella pagina successiva è riportato un esempio di ciò che può contenere process_stdout.log. Grep su diskcleaner. ̌Output di esempio in 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%.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
27-Jun-2025
|
Versione iniziale |