In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird beschrieben, wie Dateien vom Systemdatenträger bereinigt werden.
Manager und Version: FMC/FDM 7.6.0 CLI ausgeführt am FMC oder FTD CLI
Anwendung (ASA/FTD) und Mindestversion der Anwendung: FTD 7.6.0
Unterstützte Plattformen: Alle FMC- und FTD-Geräte verfügen über diese Funktion.
Migration von: https://confluence-eng-rtp2.cisco.com/conf/display/IFT/Diskcleaner
Der diskcleaner und seine Skripte werden bei der Installation/beim Upgrade installiert. Es ist nicht Teil der Upgrade-Skripte. Der Prozess diskcleaner.py wird vom Process Manager beim Systemstart gestartet. Er wird als vom Prozessmanager verwalteter Daemonprozess ausgeführt und ausgeführt, bis das System heruntergefahren wird. Die Datenträgerbereinigung verfügt über Datenträgerskripts, die aufgerufen werden, wenn der Nutzungsprozentsatz des Datenträgervolumens die konfigurierten Grenzwerte überschreitet. Beispielsweise gibt es derzeit Skripte für die Datenträgerbereinigung, die aufgerufen werden, wenn die Volumesetzungsrate 85 % erreicht, und andere, die aufgerufen werden, wenn die Volumesetzungsrate 95 % erreicht. Wenn die Datenträgerfülle 95 % erreicht, werden die 95 %-Bereinigungsskripte ausgeführt, und wenn die Datenträgerfülle größer als 85 % bleibt, werden die 85 %-Bereinigungsskripte ausgeführt.
Der DiskCleaner ist derzeit so konfiguriert, dass er auf dem FMC ausgeführt wird:
- Kürzung (auf 0 Byte) aller gelöschten Dateien (Dateien, die gelöscht wurden, aber noch durch einen laufenden Prozess geöffnet sind). Diese Dateien können mit dem Befehl lsof +L1 angezeigt werden.
- Erzwingen Sie den Disk Manager, alle Silos abzuleiten.
- Löschen Sie alle rotierten Protokolldateien (Dateien mit den Dateierweiterungen xxxxxxxxx.n.gz, z. B. messages.1.gz).
- Den Disk Manager zwingen, alle Silos maximal auszulagern. Dadurch werden die Silos auf 25 % ihrer normalen Niedrigwassermenge entwässert.
Dies ist, was der Diskcleaner derzeit konfiguriert ist, um auf FTD ausgeführt zu werden:
- Kürzung (auf 0 Byte) aller gelöschten Dateien (Dateien, die gelöscht wurden, aber noch durch einen laufenden Prozess geöffnet sind). Diese Dateien können mit dem Befehl lsof +L1 angezeigt werden.
- Erzwingen Sie den Disk Manager, alle Silos abzuleiten.
- Löschen Sie alle rotierten Protokolldateien (Dateien mit den Dateierweiterungen xxxxxxxxx.n.gz, z. B. messages.1.gz).
- Den Disk Manager zwingen, alle Silos maximal auszulagern. Dadurch werden die Silos auf 25 % ihrer normalen Niedrigwassermenge entwässert.
NOTE: At the current time, FXOS files and logs are outside of the scope of the diskcleaner!!!
Verwenden Sie den Befehl system support diskcleaner-show, um die zur Ausführung verfügbaren Disk Cleaner-Skripts anzuzeigen. Die hier angezeigten Skripte können mit dem Befehl diskcleaner-run manuell ausgeführt werden, um manuell Speicherplatz freizugeben. Jedes dieser Datenträgerbereinigungsskripts wird auf diesen Folien mit Aufrufbeispielen beschrieben.
> 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
Geben Sie den Befehl diskcleaner ein. Die vorhandenen Methoden diskmanager und disk pruner reichen für diese neue Aufgabe nicht aus. Der DiskManager wurde entwickelt, um die Fülle der Festplatte in Echtzeit zu steuern, während Dateien geöffnet und geschlossen werden. Die Konfigurationsdateien von diskmanager sind selektiv, kompliziert und zerbrechlich. Der Pruner-Prozess wurde entwickelt, um die Nutzung von Dateispeicherplatz für einzelne Funktionskomponenten zu reduzieren, ohne dass die Gesamtsystemfestplattenfüllstände berücksichtigt werden. Das neue diskcleaner-Framework wurde erstellt, um die Möglichkeit zu bieten, Dateien auf der Grundlage der Systemfestplattenfüllstände zu entfernen, die dem diskmanager ähnlich sind, mit der einfachen Verwendung einer Skriptsprache, die der des Disk-Pruner-Prozesses ähnelt.
Verwenden Sie den Befehl diskcleaner-run, um ein diskcleaner-Skript manuell auszuführen. Der Befehl lautet:
system support diskcleaner-run
wobei Dateiname der Name des auszuführenden diskcleaner-Skripts ist. Dabei kann es sich um einen vollständigen Pfad mit Verzeichnis- und Dateinamen, einen relativen Pfad (aus /etc/sf/dc) oder den Namen eines Skripts (wie in /etc/sf/dc genannt) handeln. Standard-Globs werden akzeptiert. Der Dateiname unterliegt Sicherheitsanforderungen, die den zulässigen Zeichensatz einschränken können (wie keine Verwendung von Backticks `). Denken Sie daran, dass der diskcleaner nur blindlings Skripte ausführt. Sie können also ein neues Skript erstellen, das mehrere diskcleaner-Skripte ausführt, und dann dieses neue Skript ausführen (sodass alle darin enthaltenen diskcleaner-Skripte ausgeführt werden).
Löscht alle rotierten Protokolldateien auf dem angegebenen Bereitstellungspunkt.
> system support diskcleaner-run sfims-file-mgmnt-infra-delete-rotated-logs.sh --help
Löscht alle rotierten Protokolldateien auf dem angegebenen Bereitstellungspunkt.
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.
Legen Sie fest, dass der Datenträgermanager eine maximale Auslastung aller Partitionen durchführt.
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-partition-drain-max.sh --help
Stellen Sie sicher, dass der Datenträgermanager alle Partitionen maximal auslesen kann.
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
...
>
Sorgen Sie dafür, dass der Disk Manager eine maximale Auslastung aller Silos gewährleistet.
> system support diskcleaner-run sfims-file-mgmnt-infra-diskmanager-silo-drain-all.sh --help
Stellen Sie sicher, dass der Disk Manager alle seine Silos maximal entleeren kann.
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
>
Truncate to 0 Bytes alle versteckten gelöschten Dateien, die aufgrund geöffneter Dateizugriffe vorhanden sind.
> 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.
>
Verwenden Sie den Befehl pmtool, um den diskcleaner zu stoppen und zu starten.
> pmtool disablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) - User Disabled
...
> pmtool enablebyid diskcleaner
>
> pmtool status
...
diskcleaner (normal) – Running 17086
...
Dieses Skript ist das Hauptprogramm für den diskcleaner. Dieses Python-Skript wird wie folgt ausgeführt:
diskcleaner.py [--debug] [--help] [--interval <interval>]
wobei, wenn debugging angegeben ist, das Skript Debuginformationen ausgibt und help die Ausgabenutzungsinformationen und exit ist.
Das Intervall (in Sekunden) zwischen den Reinigungszyklen der Festplatte. Wenn nicht angegeben, ist der Standardwert 600 Sekunden. diskcleaner.py wird vom Process Manager beim Systemstart gestartet. Er wird als vom Process Manager verwalteter Daemon-Prozess ausgeführt und ausgeführt, bis das System heruntergefahren wird. Wenn der diskcleaner gestartet wird, führt er eine Schleife aus, die alle Intervall-Sekunden ausgeführt wird. In jedem Zyklus scannt der diskcleaner alle Einhängepunkte (/, /Volume, ...), die durch den Befehl df -a angegeben sind, und ruft deren aktuelle Festplattennutzung ab (gemessen durch den Befehl df).
Der DiskCleaner durchläuft jede Reinigungsstufe, beginnend mit Stufe 0, und arbeitet so lange nach oben, bis die Anzahl der Stufen größer als der prozentuale Anteil der Festplattennutzung an diesem Mount-Punkt ist. Sie müssen nur eine Ebene reinigen, wenn die Verwendung des Montagepunkts größer oder gleich der Ebenennummer ist. Wenn die Nutzung also 55 % beträgt, führen Sie jede Scheibenreinigungsstufe der Reihe nach aus - 0, 1, 2, ..., 55.
Wenn eine Reinigung durchgeführt werden muss, wird das Shell-Skript diskcleaner.sh (siehe unten) aufgerufen, um die eigentliche Reinigung durchzuführen. Dieses Skript ruft jedes Skript, das im Verzeichnis diskcleaner des Mount-Punktes gefunden wird, für die angegebene saubere Ebene blind auf.
Die Datei diskcleaner.sh ist ein Bash-Skript, das die Datenträgerbereinigung initiiert.
diskcleaner.sh <mount point> <level>
wobei der Montagepunkt der zu reinigende Montagepunkt ist und die Ebene sich auf die zu reinigende Ebene bezieht. Dies ist der Prozentsatz, mit dem die Reinigung durchgeführt wird. Wenn Sie beispielsweise 85 eingeben, wird diskcleaner mit 85 % ausgeführt.
Alle im Verzeichnis vorhandenen Skripts für die Datenträgerbereinigung:
[/ngfw]/etc/sf/dc/<mount point>/dc<clean level>
die mit dem Dateiglob DC* übereinstimmen, werden ausgeführt (in alphabetischer Reihenfolge).
Beachten Sie, dass die Namen der Einhängepunkte in der Regel Schrägstriche (/) enthalten, sodass die Verwendung des tatsächlichen Namens des Einhängepunkts im Verzeichnispfad umständlich (oder illegal) ist. Ändern Sie also ein / in _. Um also den Mount-Punkt /dev/shm auf Clean-Level 85 (für 85% Festplattennutzung) zu säubern, müssen die Skripte übereinstimmen: [/ngfw]/etc/sf/dc/_dev_shm/85/DC*
Dieses Paradigma basiert auf dem rc init-Skript-Paradigma, bei dem alle übereinstimmenden Skripte im rcn.d-Verzeichnis blind ausgeführt werden. Das DC-Präfix ist auch ein Überbleibsel aus dem rc init Paradigma - diese Skripte beginnen alle entweder mit S (start) oder K (kill). Ich schätze, es hält Sie davon ab, Mist-Dateien, die nur im Verzeichnis links abholen. Verwenden Sie daher das Präfix "RZ".
Der diskcleaner verwendet den df-Befehl linux, um die Datenträgerverwendung zu überprüfen:
/var/log/process_stdout.log and /var/log/process_stderr.log
Was der diskcleaner tut, ist an process_stdout.log protokolliert. In der Regel gibt es keine Ausgabe, da keine Datenträgerbereinigung durchgeführt werden muss. Wenn jedoch eine Datenträgerbereinigung durchgeführt werden muss, werden alle gelöschten Dateien in process_stdout.log protokolliert. Auf der nächsten Seite sehen Sie ein Beispiel dafür, was process_stdout.log enthalten kann. Grep on diskcleaner ̌Beispielausgabe 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%.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
27-Jun-2025
|
Erstveröffentlichung |