Warum gibt ein NAS nach dem Löschen großer Dateien keinen Speicherplatz frei?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Ein NAS gewinnt nach dem Verschwinden einer großen Datei möglicherweise keinen freien Speicherplatz zurück, weil das Löschen des sichtbaren Namens nur ein Teil der Speicherfreigabe ist. Ein Papierkorb, Dateisystem-Snapshot, Backup-Version oder laufender Prozess kann die zugrundeliegenden Blöcke der Datei noch halten.

Die richtige Lösung hängt davon ab, was diese Blöcke noch referenziert. Überprüfen Sie die Freigabe, die Snapshot-Schicht, laufende Dienste und die Pool-Abrechnung in dieser Reihenfolge. Löschen Sie nicht jeden Snapshot oder starten Sie das gesamte NAS neu, bevor Sie nicht identifiziert haben, welche Schicht den fehlenden Speicherplatz besitzt.

Die Hauptursache: Die Datei ist weg, aber ihre Blöcke werden noch referenziert

Eine Datei hat einen sichtbaren Verzeichniseintrag und Speicherblöcke, die ihre Daten enthalten. Das Entfernen des Eintrags lässt die Datei aus dem Ordner verschwinden, aber das Dateisystem kann ihre Blöcke erst wiederverwenden, wenn alle verbleibenden Referenzen freigegeben sind. Diese Unterscheidung erklärt, warum eine erfolgreiche Löschung nicht immer zu einer gleichwertigen Zunahme des freien Speicherplatzes führt.

Auf einem Linux-basierten NAS kann ein Dienst eine bereits gelöschte Datei offen halten. Der Kernel bewahrt die Daten, bis der letzte Dateideskriptor geschlossen wird, auch wenn Dateibrowser und normale Verzeichnis-Scans sie nicht mehr sehen können. Die Erklärung von Red Hat zur Speicherplatzbeibehaltung gelöschter, aber offener Dateien zeigt, warum das Stoppen oder ein sanfter Neustart des haltenden Prozesses Speicher freigibt, den die Löschung allein nicht freigegeben hat.

Andere Halter arbeiten über der offenen Datei-Schicht. Ein Netzwerk-Papierkorb-Dienst könnte die Datei verschieben, anstatt sie zu löschen, während ein Copy-on-Write-Snapshot absichtlich die älteren Blöcke zur Wiederherstellung bewahrt. Das sichtbare Ergebnis ist ähnlich – wenig oder keine zurückgewonnene Kapazität – aber die sichere Korrekturmaßnahme ist unterschiedlich.

Welche NAS-Schicht hält die gelöschten Daten noch?

Beginnen Sie damit, zu vergleichen, was sich nach der Löschung geändert hat. Der Dateiname könnte in ein verstecktes Papierkorb-Verzeichnis verschoben worden sein, der Live-Datensatz könnte geschrumpft sein, während die Snapshot-Nutzung zugenommen hat, oder die Pool-Gesamtsumme könnte höher bleiben als die Dateien, die Verzeichnis-Tools zählen können. Diese Muster schränken den Platzhalter ohne zerstörerische Bereinigung ein.

Was Sie beobachten Wahrscheinlicher Platzhalter Was zu überprüfen ist Sichere nächste Aktion
Die Datei verschwindet, aber ein Papierkorb-Ordner wächst Freigabe-Papierkorb Papierkorb für denselben Freigabe- und Benutzer Überprüfen und leeren Sie den richtigen Papierkorb-Standort
Die Nutzung des Live-Datensatzes sinkt, aber die Pool-Nutzung ändert sich kaum Snapshots oder aufbewahrte Versionen Snapshot-Speicherplatz und Aufbewahrungsdaten Versionen nur außerhalb der Wiederherstellungsrichtlinie verfallen lassen
Die Dateisystemnutzung ist höher als die sichtbaren Verzeichnisgesamtwerte Gelöschte Datei wird noch geöffnet gehalten Prozesse mit ungebundenen offenen Dateien Starten oder laden Sie den haltenden Dienst sanft neu
Ein Share schrumpft, aber der gesamte freie Pool-Speicherplatz nicht Kind-Datensatz, Reservierung oder eine andere Arbeitslast Nutzung nach Datensatz, Anwendung und Backup-Job Korrigieren Sie den tatsächlichen Verbraucher und nicht das Share
Freier Speicherplatz ändert sich kurz nach der Löschung Ausstehende Abrechnung oder Hintergrundbereinigung Frische Pool-Metriken nach Beruhigung der Aktivität Warten und aktualisieren Sie, bevor Sie eine weitere Änderung vornehmen

Ein Papierkorb ist der einfachste Fall. Sambas VFS recycle-bin Verhalten fängt Löschanfragen ab und verschiebt Dateien in ein Repository, anstatt sie sofort zu entfernen. Eine über ein SMB-Share gelöschte Datei kann daher im selben Speicherpool verbleiben, auch wenn sie aus ihrem ursprünglichen Ordner verschwunden ist.

Snapshots sind weniger offensichtlich, da sie Blöcke erhalten können, ohne eine weitere gewöhnliche Datei im Live-Verzeichnis zu behalten. Wenn ein Snapshot den Zustand vor der Löschung referenziert, entfernt das Löschen der Live-Datei nur die aktuelle Referenz. Dieses Beispiel zur Speicherplatzabrechnung bei Snapshots zeigt, warum ein Snapshot wenig zurückgewinnen kann, wenn andere Snapshots dieselben Blöcke noch referenzieren.

Pool- und Share-Werte können auch unterschiedliche Bereiche messen. Ein Share kann seinen Datensatz oder seine Quote melden, während das Speicher-Dashboard Kind-Datensätze, Anwendungsdaten, Backup-Versionen, Reservierungen und von Snapshots gehaltene Blöcke einschließt. Vergleichen Sie Ähnliches miteinander, bevor Sie schließen, dass das Löschen fehlgeschlagen ist.

Speicherplatz zurückgewinnen, ohne die Wiederherstellungshistorie zu zerstören

Die Rückgewinnung sollte von reversiblen Prüfungen zur dauerhaften Löschung übergehen. Aktualisieren Sie zuerst die Kapazitätsansicht und bestätigen Sie, dass Sie den richtigen Pool, Datensatz und Share lesen. Eine kurze Verzögerung bei der Abrechnung kann normal sein; eine anhaltende Lücke nach Beruhigung der Aktivität weist darauf hin, dass eine weitere Referenz oder ein anderer Speicherbereich noch untersucht werden muss.

  1. Bestätigen Sie, dass die gelöschte Datei im ursprünglichen Share nicht vorhanden ist und nicht von einer Anwendung verschoben oder umbenannt wurde.
  2. Untersuchen Sie den Papierkorb, der mit genau diesem Share und Benutzerkonto verknüpft ist.
  3. Überprüfen Sie Snapshots und Backup-Aufbewahrung nach Datum, Datensatz und geschätztem rückgewinnbarem Speicherplatz.
  4. Vergleichen Sie die Dateisystemnutzung mit den sichtbaren Verzeichnisgesamtwerten, um versteckte Belegungen zu identifizieren.
  5. Überprüfen Sie Kind-Datensätze, Anwendungsvolumen, Quoten und Reservierungen, bevor Sie den Pool ändern.
  6. Geben Sie den bestätigten Halter über dessen normale Aufbewahrung, Dienst oder administrative Kontrolle frei.

Wenn die Dateisystemnutzung höher bleibt als die sichtbare Verzeichnisgröße, prüfen Sie gelöschte Dateien, die noch geöffnet sind. Die lsof-Überprüfung offener Dateien verwendet lsof +L1, um Dateien ohne verbleibenden Verzeichnislink aufzulisten. Identifizieren Sie den Prozess und verwenden Sie dessen normalen Reload- oder sanften Neustartpfad; beenden Sie nicht einfach einen unbekannten Datenbank- oder Speicherdienst nur, um Speicherplatz freizugeben.

Bei snapshot-gespeicherten Daten schätzen Sie, wie viel Speicherplatz jede Änderung der Aufbewahrung tatsächlich freigibt, bevor Sie Wiederherstellungspunkte löschen. Blöcke, die von mehreren Snapshots geteilt werden, bleiben möglicherweise bis zum Ablauf des letzten referenzierenden Snapshots zugewiesen, sodass das Entfernen eines Snapshots viel weniger Speicherplatz zurückgeben kann als seine scheinbare Historiengröße vermuten lässt. Bewahren Sie zuerst den Wiederherstellungswert und passen Sie die Aufbewahrung bewusst an.

Wenn routinemäßige Löschungen den Pool wiederholt an die Kapazitätsgrenze bringen, liegt das Problem auch in der Kapazitätsplanung. Papierkorbaufbewahrung, Snapshots, Anwendungen und Sicherungshistorie benötigen Puffer über die Größe der aktiven Dateien hinaus, daher muss die nutzbare NAS-Kapazitätsplanung diese weniger sichtbaren Verbraucher berücksichtigen.

Häufig gestellte Fragen

Warum hat das Leeren des NAS-Papierkorbs nur einen Teil des Speicherplatzes zurückgewonnen?

Die gleichen Blöcke können noch von Snapshots, Sicherungsversionen oder einem offenen Prozess referenziert werden. Das Leeren des Papierkorbs entfernt nur diesen Halter; es überschreibt keine anderen Referenzen und gibt keinen von einem anderen Datensatz reservierten Speicherplatz frei.

Wie lange sollte ein NAS benötigen, um den neu freigegebenen Speicherplatz anzuzeigen?

Eine kurze Verzögerung, während die Speicherabrechnung und Hintergrundarbeiten abgeschlossen werden, kann normal sein. Wenn der Wert nach Aktualisierung des Dashboards und der Dateisystemstatistiken unverändert bleibt, überprüfen Sie Snapshots, gelöschte geöffnete Dateien, Quoten und ob die angezeigte Zahl den Share oder den gesamten Pool darstellt.

Verhindert RAID, dass gelöschte Dateien Speicherplatz freigeben?

RAID löscht normalerweise die Daten im aktiven Array; es bewahrt die alte Datei nicht als Wiederherstellungshistorie auf. Papierkörbe und Snapshots sind separate Ebenen, während sich RAID-Schutzgrenzen eher auf die Verfügbarkeit als auf die Wiederherstellung gelöschter Dateien oder die Speicherplatzbeibehaltung beziehen.

Support & Tipps

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.