De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document wordt beschreven hoe u bestanden van de systeemschijf kunt opschonen.
Manager(s) en Versie(s): FMC/FDM 7.6.0 CLI uitgevoerd in het FMC of de FTD CLI
Toepassing (ASA/FTD) en minimale versie van toepassing: FTD 7.6.0
Ondersteunde platforms: Alle FMC- en FTD-apparaten hebben deze functie.
Gemigreerd van: https://confluence-eng-rtp2.cisco.com/conf/display/IFT/Diskcleaner
De diskcleaner en de bijbehorende scripts worden bij de installatie/upgrade geïnstalleerd. Het maakt geen deel uit van de upgrade scripts. Het proces diskcleaner.py wordt gestart door de Process Manager bij het opstarten van het systeem. Het wordt uitgevoerd als een daemon-proces dat wordt beheerd door de Process Manager en wordt uitgevoerd totdat het systeem is uitgeschakeld. De schijfreiniger heeft schijfscripts die worden aangeroepen wanneer het schijfvolume= gebruikspercentage de geconfigureerde drempelwaarden overschrijdt. Er zijn momenteel bijvoorbeeld scripts voor schijfreiniging die worden aangeroepen wanneer het volume volheid bereikt 85% en anderen die worden aangeroepen wanneer de schijf volheid bereikt 95%. Als de schijfvolheid 95% bereikt, voert deze de 95% volheid opruimingsscripts uit en als de schijfvolheid groter blijft dan 85%, voert deze de 85% volheid opruimingsscripts uit.
Dit is wat de diskcleaner momenteel is geconfigureerd voor gebruik op de FMC:
- Afkappen (tot 0 bytes) van verwijderde bestanden (bestanden die zijn verwijderd maar nog steeds geopend zijn door een lopend proces). Deze bestanden kunnen worden weergegeven met de opdracht lsof +L1.
- Forceer de schijfbeheerder om alle silo's leeg te laten lopen.
- Verwijder alle geroteerde logbestanden (bestanden met bestandsextensies xxxxxxxx.n.gz zoals messages.1.gz)
- Forceer de schijfbeheerder om een maximale drain van alle silo's te doen. Hierdoor worden de silo's afgevoerd naar 25% van hun normale laagwatermarkering.
Dit is wat de diskcleaner momenteel is geconfigureerd om op de FTD te werken:
- Afkappen (tot 0 bytes) van verwijderde bestanden (bestanden die zijn verwijderd maar nog steeds geopend zijn door een lopend proces). Deze bestanden kunnen worden weergegeven met de opdracht lsof +L1.
- Forceer de schijfbeheerder om alle silo's leeg te laten lopen.
- Verwijder alle geroteerde logbestanden (bestanden met bestandsextensies xxxxxxxx.n.gz zoals messages.1.gz)
- Forceer de schijfbeheerder om een maximale drain van alle silo's te doen. Hierdoor worden de silo's afgevoerd naar 25% van hun normale laagwatermarkering.
NOTE: At the current time, FXOS files and logs are outside of the scope of the diskcleaner!!!
Gebruik de opdracht schijfopschonershow voor systeemondersteuning om te zien welke schijfopschonerscripts beschikbaar zijn om uit te voeren. De hier weergegeven scripts kunnen handmatig worden uitgevoerd met de opdracht diskcleaner-run om handmatig schijfruimte vrij te maken. Elk van deze disk cleanup scripts worden beschreven in deze slides met aanroepingsvoorbeelden.
> 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
Voer de opdracht diskcleaner in. De bestaande schijfbeheer- en schijfprunermethoden zijn onvoldoende voor deze nieuwe taak. De diskmanager is ontworpen om de volheidsniveaus van de schijf in realtime te regelen wanneer bestanden worden geopend en gesloten. De configuratiebestanden van diskmanager zijn selectief, ingewikkeld en kwetsbaar. Het prunerproces is ontworpen om het gebruik van bestandsruimte voor afzonderlijke functiecomponenten bij te snijden zonder zich bewust te zijn van de algehele niveaus van schijfvolheid van het systeem. Het nieuwe schijfopruimingsframework is gemaakt om de mogelijkheid te bieden om bestanden te verwijderen op basis van de volheidsniveaus van de systeemschijf die vergelijkbaar zijn met de schijfbeheerder, met de eenvoud van het gebruik van een scripttaal die vergelijkbaar is met die van het schijfopruimingsproces.
Gebruik de opdracht diskcleaner-run om handmatig een diskcleaner-script uit te voeren. Het commando is:
system support diskcleaner-run
waarbij de bestandsnaam de naam is van het DiscCleaner-script dat moet worden uitgevoerd. Het kan een volledig pad zijn met directory en bestandsnaam, een relatief pad (van /etc/sf/dc), of de naam van een script (zoals het in /etc/sf/dc wordt genoemd). Standaardbestandenglobben worden geaccepteerd. De bestandsnaam is onderworpen aan beveiligingsvereisten die de toegestane set tekens kunnen beperken (zoals geen gebruik van backticks'). Vergeet niet dat de diskcleaner gewoon blindelings scripts uitvoert. U kunt dus een nieuw script maken dat verschillende diskcleaner-scripts uitvoert en vervolgens dat nieuwe script uitvoeren (zodat alle diskcleaner-scripts die daarin zijn opgenomen, worden uitgevoerd).
Verwijder alle geroteerde logbestanden op het opgegeven koppelpunt.
> system support diskcleaner-run sfims-file-mgmnt-infra-delete-rotated-logs.sh --help
Verwijder alle geroteerde logbestanden op het opgegeven koppelpunt.
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.
Schijfbeheer maximaal laten leeglopen op alle partities
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-partition-drain-max.sh --help
Maak van schijfbeheer een maximale drain van alle partities.
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
...
>
Laat schijfbeheer een maximale drain uitvoeren op alle silo's
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-silo-drain-all.sh --help
Maak van de schijfbeheerder een maximale drain van alle silo's.
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
>
Afkappen tot nul bytes alle verborgen verwijderde bestanden die aanwezig zijn als gevolg van open bestands handles.
> 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.
>
Gebruik de opdracht pmtool om de diskcleaner te stoppen en te starten.
> pmtool disablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) - User Disabled
...
> pmtool enablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) – Running 17086
...
Dit script is het hoofdprogramma voor de diskcleaner. Dit Python-script wordt als volgt uitgevoerd:
diskcleaner.py [--debug] [--help] [--interval <interval>]
Als foutopsporing is opgegeven, voert het script foutopsporingsinformatie uit en wordt de informatie over het uitvoergebruik en het afsluiten weergegeven.
Het interval (in seconden) tussen de reinigingscycli van de schijf. Als dit niet is opgegeven, is de standaardinstelling 600 seconden. diskcleaner.py wordt gestart door Process Manager bij het opstarten van het systeem. Het wordt uitgevoerd als een daemon-proces dat wordt beheerd door de Process Manager en wordt uitgevoerd totdat het systeem wordt afgesloten. Wanneer de diskcleaner wordt gestart, voert deze een lus uit die elke intervalseconden wordt uitgevoerd. Bij elk programma scant de diskcleaner alle koppelpunten (/, /Volume, ...) die zijn opgegeven door de opdracht df -a en krijgt hij het huidige schijfgebruik (gemeten met de opdracht df).
De schijfreiniger loopt door elk reinigingsniveau vanaf niveau 0 en werkt zich een weg omhoog totdat het niveauaantal groter is dan het schijfgebruikspercentage van dat koppelpunt. U hoeft alleen een niveau schoon te maken als het gebruik van het bevestigingspunt op of groter is dan het niveaunummer. Dus, als het gebruik 55% is, voer dan elk schijfreinigingsniveau uit in volgorde – 0, 1, 2, …, 55.
Wanneer het schoonmaken moet worden gedaan, wordt het shell script diskcleaner.sh (zie hieronder) aangeroepen om de daadwerkelijke schoonmaak te doen. Dat script roept blindelings elk script dat in de diskcleaner-directory van het koppelpunt wordt gevonden voor het opgegeven schone niveau.
De diskcleaner.sh is een bash-script dat de schijfreiniginggebeurtenis initieert.
diskcleaner.sh <mount point> <level>
waarbij het bevestigingspunt het te reinigen montagepunt is en het niveau verwijst naar het uit te voeren reinigingsniveau. Dit is het percentage waarmee de reiniging wordt uitgevoerd. Als er bijvoorbeeld 85 worden ingevoerd, zou het schijfreiniger op 85% draaien.
Alle scripts voor schijfreiniging die in de directory aanwezig zijn:
[/ngfw]/etc/sf/dc/<mount point>/dc<clean level>
die overeenkomen met het bestand glob DC* worden uitgevoerd (in alfabetische volgorde).
Merk op dat omdat de namen van de koppelpunten meestal schuine strepen (/) bevatten, het gebruik van de eigenlijke naam van het koppelpunt in het directorypad onhandig (of illegaal) is. Dus, wijzig elke / naar _. Dus om het koppelpunt /dev/shm schoon te maken op niveau 85 (voor 85% schijfgebruik), moeten de scripts overeenkomen met: [/ngfw]/etc/sf/dc/_dev_shm/85/DC*
Dit paradigma is gebaseerd op het rc init script paradigma waarbij alle overeenkomende scripts in de rcn.d directory blindelings worden uitgevoerd. Het DC prefix is ook een overblijfsel van het rc init paradigma – die scripts beginnen allemaal met ofwel S (start) of K (kill). Ik denk dat het je ervan weerhoudt om rotzooi-bestanden op te pakken die gewoon in de map zijn achtergelaten. Gebruik een prefix van DC.
De diskcleaner gebruikt de opdracht linux df om te controleren op schijfgebruik:
/var/log/process_stdout.log and /var/log/process_stderr.log
Wat de DiscCleaner doet is aangemeld bij process_stdout.log. Meestal is er geen uitvoer omdat er geen schijfreiniging hoeft te worden uitgevoerd. Maar als het schijfopschonen moet worden gedaan, worden alle bestanden die worden verwijderd, ingelogd in process_stdout.log. Op de volgende pagina staat een voorbeeld van wat process_stdout.log kan bevatten. Grep op schijfreiniger. ̌Voorbeelduitvoer 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%.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
27-Jun-2025
|
Eerste vrijgave |