Warum zeigt eine NAS-Freigabe alte Dateien an, nachdem der Ordner ersetzt wurde?

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.

Eine NAS-Freigabe kann alte Dateien anzeigen, wenn der Client oder der Freigabedienst weiterhin auf einen zwischengespeicherten Verzeichnisstatus oder den vorherigen Pfad verweist.

Das Ersetzen eines Ordners auf der NAS garantiert nicht, dass jede SMB-Sitzung, Anwendung, Einbindung, jeder Reverse-Pfad oder Namespace sofort auf den neuen Verzeichnisbaum umschaltet. Der Server exportiert möglicherweise weiterhin den alten Pfad, der Ersatz wurde eventuell unter einer anderen Einbindung abgelegt, oder der Client behält Verzeichnismetadaten, Dateiinformationen, offene Handles oder eine zwischengespeicherte Weiterleitung bei. Am sichersten ist es, vor jeder Änderung an Cache-Einstellungen die Dateisystemansicht, das aktive Freigabeziel und eine vollständig neue Client-Sitzung miteinander zu vergleichen.

Bestätigen, welche Ebene weiterhin den alten Verzeichnisbaum anzeigt

Vergleichen Sie den betroffenen SMB-Client mit der NAS-Shell, dem Web-Dateimanager der NAS und einem zweiten Client, der die Freigabe kürzlich nicht geöffnet hat. Notieren Sie einen Dateinamen, der verschwunden sein sollte, und einen neuen Dateinamen, der sichtbar sein sollte.

Wenn die NAS-Shell und der Web-Dateimanager ebenfalls den alten Baum anzeigen, liegt das Problem unterhalb von SMB: Der Ersatz erfolgte im falschen Verzeichnis, eine erwartete Einbindung fehlt oder ein anderes Dataset überdeckt den Pfad. IBM weist darauf hin, dass SMB-Änderungsbenachrichtigungen davon abhängen, wie Änderungen den Dateidienst erreichen. Ein einzelner veralteter Client beweist daher nicht, dass die Serverdaten veraltet sind.

Aktualisieren Sie nicht wiederholt denselben Dateibrowser und betrachten Sie dies als neuen Test. Ein aussagekräftiger Vergleich verwendet einen anderen Clientprozess, eine andere Benutzersitzung oder eine direkte lokale Dateisystemansicht, die nicht dieselben SMB-Metadaten wiederverwendet.

Das aktive Freigabeziel nach dem Ersetzen des Ordners überprüfen

Prüfen Sie die Freigabekonfiguration des Servers und lösen Sie den exportierten Pfad zu seinem tatsächlichen Dateisystemobjekt auf. Kontrollieren Sie Bind-Mounts, symbolische Links, Dataset-Einhängepunkte, Container-Volume-Zuordnungen und ob der Ersatzordner vor oder nach dem Aktivieren einer Speichereinbindung erstellt wurde.

Ein häufiger Fehler tritt auf, wenn der Administrator Dateien unter einem nicht eingebundenen Verzeichnis ersetzt und anschließend die tatsächliche Speichereinbindung wieder aktiv wird und diesen Ersatz verdeckt. Das Linux-Mount-Handbuch erklärt, dass das Einbinden die vorherige Verzeichnisansicht verdeckt, während das Dateisystem weiterhin verbunden bleibt. Deshalb muss der sichtbare Pfad mit der aktiven Mount-Tabelle abgeglichen werden.

Der Leitfaden zur NAS-Datenmigration von ZimaSpace enthält die dazugehörige Prüfreihenfolge, mit der bestätigt wird, dass die vorgesehenen Quell- und Zielpfade die erwarteten Daten enthalten, bevor die alte Kopie entfernt wird.

SMB-Caches für Verzeichnis- und Dateiinformationen testen

Schließen Sie alle Anwendungen, die die Freigabe verwenden, trennen Sie die SMB-Zuordnung und stellen Sie eine neue Sitzung her. Vergleichen Sie das Ergebnis mit einem zweiten Computer oder einer neuen Benutzersitzung, die das Verzeichnis zuvor nicht aufgelistet hat.

Windows-SMB-Clients können Verzeichnismetadaten und Dateiinformationen für eine konfigurierte Dauer zwischenspeichern. Die Richtlinien von Microsoft zur Optimierung von Dateiservern erklären, dass die Lebensdauer des Verzeichniscaches festlegt, wie lange Metadaten zwischengespeichert bleiben dürfen, wenn keine Verzeichnis-Leases verfügbar sind.

Wenn eine neue Sitzung sofort den korrekten Baum anzeigt, die alte Sitzung jedoch nicht, fehlen die Daten nicht und das Freigabeziel ist wahrscheinlich korrekt. Verbinden Sie den betroffenen Client sauber erneut und untersuchen Sie, warum seine Sitzung die erwartete Änderungsbenachrichtigung nicht erhalten oder berücksichtigt hat, bevor Sie Cache-Werte global ändern.

-15% OFF

Offene Handles, Leases und langlebige Anwendungen prüfen

Listen Sie aktive SMB-Sitzungen und geöffnete Dateien auf der NAS auf. Medienverwaltungen, Foto-Apps, Sicherungsprogramme, Shell-Fenster, Indexer und Dateibrowser können Verzeichnisse oder Dateien noch lange geöffnet halten, nachdem der sichtbare Kopiervorgang abgeschlossen ist.

Schließen Sie zuerst die Anwendung und trennen Sie anschließend nur die betroffene SMB-Sitzung. Die SMB-Dokumentation von NetApp erklärt, dass Lease-Oplocks den Client-Cache-Status erhalten. Das Deaktivieren von Leases auf der gesamten NAS ist daher eine deutlich größere Änderung als das Zurücksetzen einer einzelnen veralteten Verbindung.

Wenn der alte Baum erst nach dem Schließen einer bestimmten Anwendung verschwindet, halten Sie dieses Ergebnis fest und testen Sie die Anwendung erneut mit dem neuen Ordner. Die Korrektur betrifft dann ihr Verhalten beim erneuten Verbinden, Überwachen oder Aktualisieren und nicht den Speicherpool.

DFS-Weiterleitungen und doppelte Servernamen ausschließen

Prüfen Sie, ob der Client die NAS über einen direkten Hostnamen, eine IP-Adresse, einen DNS-Alias, einen DFS-Namespace oder einen alten Servernamen erreicht, der inzwischen an anderer Stelle aufgelöst wird. Zwei Pfade, die im Dateibrowser ähnlich aussehen, können zu unterschiedlichen Freigabezielen führen.

DFS-Clients speichern Namespace- und Ordnerweiterleitungen für einen festgelegten Zeitraum zwischen. DFS-Clients können Namespace- und Ordnerweiterleitungen ebenfalls eine Zeit lang speichern, sodass ein Client nach einer Änderung am Namespace vorübergehend noch an ein älteres Ziel geleitet wird.

Vergleichen Sie die Serveridentität, die aufgelöste Adresse, den Freigabenamen und den endgültigen Pfad der funktionierenden und der veralteten Sitzungen. Leeren Sie nicht sämtliche DNS- und DFS-Caches, bevor Sie nachgewiesen haben, dass der betroffene Client ein anderes Ziel erreicht.

Einen neuen direkten Pfad mit dem normalen Benutzerpfad vergleichen

Öffnen Sie die Freigabe einmal über den normalen Hostnamen und einmal über die verifizierte direkte Serveradresse in einer sauberen Client-Sitzung. Verwenden Sie dies nur zur Eingrenzung des Problems und nicht als dauerhaften Ersatz für einen verwalteten Hostnamen.

Wenn der direkte Pfad den neuen Baum anzeigt, der normale Name jedoch den alten, konzentrieren Sie sich auf Aliase, Weiterleitungen, gespeicherte Anmeldedaten oder eine zweite NAS, die denselben Namen verwendet. Das Pfadmodell von mount.cifs von Debian zeigt, warum das exakte Server-/Freigabeziel und der lokale Einhängepunkt verglichen werden müssen, anstatt sich auf einen vertrauten Anzeigenamen zu verlassen.

Vergleichen Sie außerdem die Dateianzahl und den Hashwert einer Datei vom lokalen NAS-Pfad und vom SMB-Pfad. Eine übereinstimmende alte Datei bestätigt eine Pfad- oder Cache-Auswahl; eine andere Datei mit demselben Namen deutet auf einen unvollständigen Ersatz, doppelte Ordner oder von einer Anwendung erzeugte Inhalte hin.

Den kleinsten Fehler beheben und die Beständigkeit nach einem Neustart überprüfen

Korrigieren Sie das Freigabeziel, wenn es den falschen Ordner exportiert, stellen Sie die fehlende Einbindung wieder her, wenn der Pfad falsch verdeckt wird, verbinden Sie die veraltete Client-Sitzung erneut, wenn nur ein Client betroffen ist, oder aktualisieren Sie das DFS-Ziel, wenn der Namespace weiterhin auf den alten Speicherort verweist.

Vermeiden Sie es, SMB-Cache-Lebensdauern zu ändern, Leases zu deaktivieren oder die Freigabe neu zu erstellen, sofern ein kontrollierter Test nicht beweist, dass diese Ebene verantwortlich ist. Die Ansicht aktiver Sitzungen und Sperren von Samba ermöglicht die Prüfung der betroffenen Verbindung, bevor eine serverweite Änderung vorgenommen wird.

Das Problem ist behoben, wenn die NAS-Shell, der Web-Dateimanager, eine neue SMB-Sitzung und der normale Clientpfad nach einem Dienstneustart und einem Neustart des Hosts denselben Ordnerinhalt anzeigen. Lassen Sie den alten Ordner offline, aber erhalten, bis diese Prüfung erfolgreich abgeschlossen ist und keine Anwendung mehr darin schreibt.

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.