Gestern habe ich 71 GB Dateien auf meinem Heim- / Medienserver gelöscht.
Freier
Speicherplatz vor: 117 GB Freier Speicherplatz nach: 126 GB
Anstatt 71 GB zusätzlichen freien Speicherplatz zu haben, hatte ich nur 9 GB. Ich habe doppelt überprüft, dass keine Dateien geöffnet waren und ich wirklich 71 GB gelöscht habe und der freie Speicherplatz wirklich nur 9 GB vergrößert hat.
Ich habe auch versucht zu synchronisieren, aber keinen Effekt.
Dies ist nicht das erste Mal, dass es passiert. In der Tat habe ich dieses Verhalten seit Jahren hin und wieder gesehen. Zuerst auf ext3, jetzt auf ext4.
In diesem Fall kann ich den freien Speicherplatz zurückfordern, indem ich das Dateisystem aushänge und wieder einhänge. In diesen Fällen dauert das Abmelden bis zu 2 Minuten, anstatt fast ohne Zeitaufwand.
Heutzutage kann ich das Dateisystem nicht einfach aushängen und wieder einhängen, da es permanent mit meiner Videorecorder-Software, dem Owncloud-Server für meine Familie und einigen weiteren Diensten, die ich bisher nicht hatte, ausgelastet ist. Und ich möchte nicht um 3 Uhr nachts aufstehen, nur um abzusteigen und wieder abzusteigen.
Nein, das Dienstprogramm 'at' kann nicht ausgeführt werden, da einer der Dienste nicht fortsetzbare Aufgaben mit langer Laufzeit ausführt und daher eine manuelle Statusprüfung benötigt, um einen guten Zeitpunkt zu finden, an dem er heruntergefahren werden kann, dh eine Aufgabe wurde gerade beendet.
Aber heute Morgen ist mir aufgefallen, dass der Platz über Nacht freigegeben wurde. Sieht für mich so aus, als gäbe es eine Art Bereinigung, und dies ist möglicherweise dasselbe, was beim Abhängen zusätzliche Zeit in Anspruch nimmt.
Bisher habe ich dieses Verhalten nur beim Löschen einer großen Datenmenge bemerkt. Andererseits bin ich mir nicht sicher, ob es regelmäßig passiert und der Unterschied einfach zu gering ist, um es zu bemerken.
Das Dateisystem wurde mit 0% erstellt, die für root ( mkfs -m 0
) reserviert sind . Laut fsck -f
(ich mache das immer zwischen Unmount und Remount) ist das Dateisystem nicht beschädigt und laut erweitertem SMART Diagnostics-Test ist die Hardware auch in Ordnung.
[BEARBEITEN]
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name: bigdata
Last mounted on: /bigdata
Filesystem UUID: 6aebd17a-e064-41dc-9c68-c9a3acbe4f66
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 121413632
Block count: 485645568
Reserved block count: 0
Free blocks: 29081276
Free inodes: 121382378
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 908
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Tue Dec 25 23:42:35 2012
Last mount time: Fri Jan 3 17:37:36 2014
Last write time: Fri Jan 3 17:37:36 2014
Mount count: 37
Maximum mount count: -1
Last checked: Thu Apr 18 17:03:40 2013
Check interval: 0 (<none>)
Lifetime writes: 14 TB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: be2b977e-5127-4843-9123-fe33b6d7b573
Journal backup: inode blocks
[/BEARBEITEN]
Also hier sind meine 2 Fragen:
- Was passiert hier? Warum wird bei umount oder mit einer Verzögerung Speicherplatz freigegeben, anstatt sofort bei delete?
- Gibt es etwas , was ich kann auszulösen tun , den Raum zu befreien jetzt ohne Abhängen und erneuten Anhang?
lsof | grep -i deleted
Dies lässt sich in der Regel am besten überprüfen.Antworten:
Es gibt zwei Faktoren, die zusammenwirken können.
Im Gegensatz zu Windows können Sie geöffnete Dateien löschen. Wenn Sie einen Film löschen, der gestreamt wird, wird er aus dem Verzeichnis entfernt, bleibt jedoch als Datei bestehen, bis das Streaming-Programm ihn schließt. Sobald die Streaming-Software es schließt, wird der Speicherplatz freigegeben. Mit dem
fuser -m
Befehl können Sie die Prozess-ID aller Prozesse mit geöffneten Dateien ermitteln. Einige Programme schließen Dateien möglicherweise nicht sofort, wenn sie damit fertig sind.Dies sind beide Journaled File-Systeme. Änderungen werden in ein Journal geschrieben und dann festgeschrieben. Es kann eine Weile dauern, bis die Änderungen festgeschrieben sind. Das Betriebssystem speichert häufig Änderungen an der Festplatte zwischen und schreibt Änderungen nur in regelmäßigen Abständen fest. Das Ausführen des
sync
Befehls sollte alle ausstehenden Änderungen auf der Festplatte löschen. Wenn Sie die Festplatte mit diesersync
Option einbinden, wird die Geschwindigkeit auf die Festplatte erhöht, die Festplatte wird jedoch härter.quelle