Ja, wenn die Empfängerseite ein gültiges Fortsetzungstoken bewahrt und die für dieses Token erforderlichen Quell-Snapshots noch vorhanden sind.
Die Entscheidung ist relevant, wenn ein rohes oder inkrementelles ZFS-Senden durch einen Netzwerk- oder Zielausfall unterbrochen wird. Die beiden konkurrierenden Zustände sind ein gültiges Empfangs-Fortsetzungstoken und ein fehlendes Token oder ein zerstörter Quell-Snapshot. Beginnen Sie mit einer gespeicherten Konfiguration und nicht kritischen Daten, beobachten Sie jeweils nur einen Pfad und brechen Sie ab, wenn der Test das Risiko von Datenverlust, Berechtigungs- oder Verfügbarkeitsproblemen erhöht.
Definieren Sie die Bedingungen für die Entscheidung zur fortsetzbaren ZFS-Replikation
Dokumentieren Sie die Umgebung, bevor Sie etwas ändern: Software- und Firmwareversionen, Geräteidentitäten, Einhänge- oder Netzwerkpfad, freien Speicherplatz, Berechtigungen und das beobachtbare Symptom. Die Ausgangsbasis muss genügend Details bewahren, um einen durch einen Netzwerk- oder Zielausfall unterbrochenen rohen oder inkrementellen ZFS-Sendevorgang zu reproduzieren.
Der erste Kandidat ist ein gültiges Empfangs-Fortsetzungstoken. Der zweite ist ein fehlendes Token oder ein zerstörter Quell-Snapshot. Der aktuelle fortsetzbare ZFS-Sendevorgang definiert den im Test verwendeten Mechanismus oder Befehlsbereich; er ersetzt nicht die Beobachtung auf diesem konkreten Heimserver.
Formulieren Sie die Akzeptanz- und Abbruchbedingung, bevor Sie den Unterscheidungstest ausführen. Ein Bestehen muss die von einem Pfad vorhergesagte Evidenz verändern, während unabhängige Dienste unverändert bleiben; bei einem Fehlschlag muss das System in den gespeicherten Zustand zurückgeführt werden, statt eine Kette spekulativer Reparaturen auszulösen.
Testen Sie die Behauptung, ohne die ursprüngliche Anforderung zu senken
Verwenden Sie diesen Unterscheidungstest: Unterbrechen Sie eine nicht kritische Replikation, lesen Sie das Token aus, erzeugen Sie einen fortgesetzten Sendestream und vergleichen Sie den endgültigen Ziel-Snapshot. Halten Sie Arbeitslast, Client, Pfad, Dateisatz und Zeitablauf konstant, damit das Ergebnis der geänderten Variable zugeschrieben werden kann.
Verwenden Sie ZFS-Senden und -Empfangen, um das Feld auszuwählen, das die beiden Pfade tatsächlich voneinander unterscheiden kann, und erfassen Sie anschließend Zeitstempel, Exit-Status, Fehlermeldung, Geräte- oder Snapshot-Identität, Latenz, übertragene Bytes, Berechtigungen und Wiederherstellungsstatus. Ein sauberer Befehlsabschluss reicht nicht aus, wenn Identität, Dauerhaftigkeit oder Anwendungsstatus die zu prüfende Behauptung sind.
Wiederholen Sie den Test nach einem Neustart, einer erneuten Verbindung, einem erneuten Einhängen oder einem Kaltstart des Caches, wenn dieses Ereignis Teil der ursprünglichen Bedingung ist. Wenn der erste Durchlauf destruktiv ist oder die Umgebung nicht wiederhergestellt werden kann, brechen Sie ab und reproduzieren Sie den Test stattdessen mit einer nicht kritischen Kopie.
token=$(zfs get -H -o value receive_resume_token pool/dst)
zfs send -t "$token" | ssh nas zfs receive pool/dst
Interpretieren Sie Ergebnisse als bestanden, fehlgeschlagen oder Ausnahme
BESTANDEN: Der Fortsetzungsstream wird abgeschlossen, und die Quell- und Ziel-Snapshots weisen die erwartete GUID-Abstammung auf. Dokumentieren Sie die genaue Version, Identität und Arbeitslast, mit denen der Test bestanden wurde, damit die Schlussfolgerung bedingt bleibt und nicht zu einer allgemeinen Behauptung wird.
FEHLGESCHLAGEN: Es ist kein Token vorhanden, das Ziel wurde zurückgesetzt oder erforderliche Quell-Snapshots wurden entfernt. Ein Fehlschlag beweist nicht automatisch den entgegengesetzten Pfad, wenn Netzwerk, Speicher, Berechtigungen oder Quellkonsistenz beide beeinflussen können; isolieren Sie diese gemeinsamen Abhängigkeiten, bevor Sie eskalieren.
AUSNAHME ODER NICHT EINDEUTIGES ERGEBNIS: Brechen Sie den teilweise ausgeführten Empfang erst ab, nachdem Sie entschieden haben, dass die Kosten eines Neustarts akzeptabel sind. Bewahren Sie die Protokolle auf und führen Sie keine Reparatur-, Bereinigungs-, Lösch-, Neupartitionierungs- oder rekursiven Besitzänderungsbefehle aus, bevor keine wiederherstellbare Kopie vorhanden ist.
Bestätigen Sie die Entscheidung unter der ursprünglichen Arbeitslast
Führen Sie die dem beobachteten Pfad entsprechende Aktion aus und wiederholen Sie anschließend die ursprüngliche Bedingung statt einer reduzierten Ersatzbedingung. Die Entscheidung gilt nur, wenn der Fortsetzungsstream abgeschlossen wird und die Quell- und Ziel-Snapshots über zwei Zyklen oder den relevanten Neustart, Ruhezustand, die Unterbrechung oder den Lastwechsel hinweg die erwartete GUID-Abstammung aufweisen.
Verwenden Sie die unveränderlichen Backup-Fenster, um den nächstgelegenen abhängigen Arbeitsablauf zu prüfen, aber lassen Sie den ursprünglichen Auslöser unverändert. Unabhängige Datensätze, Freigaben, Container, Benutzer und Wiederherstellungspunkte müssen ihren bisherigen Zugriff und ihr bisheriges Zeitverhalten beibehalten.
Die Abbruchgrenze ist eindeutig: Wenn kein Token vorhanden ist, das Ziel zurückgesetzt wurde oder erforderliche Quell-Snapshots entfernt wurden, kehren Sie zur letzten verifizierten Konfiguration zurück, bewahren Sie die Belege auf und eskalieren Sie nur dann zu einem tiefergehenden Plattform- oder Hardwaretest, wenn der Pfad reproduzierbar ist.
Nachdem das Zielergebnis erreicht wurde, vergleichen Sie es mit dem Layout des lokalen Repositorys, damit die Fehlerbehebung kein Risiko in einen benachbarten Dienst verlagert. Ein erfolgreicher Zieltest mit einem neuen Backup-, Identitäts-, Timeout- oder Verfügbarkeitsfehler ist weiterhin eine fehlgeschlagene Änderung.
FAQ
Bei fortsetzbarer ZFS-Replikation betreffen die verbleibenden Fragen meist, ob jeder unterbrochene Empfang ein Token erstellt, ob alte Quell-Snapshots nach einer Unterbrechung gelöscht werden können und wie das endgültige Replikat überprüft wird. Die folgenden Antworten halten diese Sonderfälle von der primären Entscheidung getrennt.
Die Akzeptanzgrenze ändert sich nicht: Der Fortsetzungsstream wird abgeschlossen, und die Quell- und Ziel-Snapshots weisen die erwartete GUID-Abstammung auf. Wenn eine nachgelagerte Bedingung das Dateisystem, die Identität, den Netzwerkpfad oder die Anwendungsversion ändert, wiederholen Sie nur den von dieser Änderung betroffenen Unterscheidungstest.
Vergrößern Sie das Experiment nicht weiter, wenn kein Token vorhanden ist, das Ziel zurückgesetzt wurde oder erforderliche Quell-Snapshots entfernt wurden. Brechen Sie den teilweise ausgeführten Empfang in diesem Fall erst ab, nachdem Sie entschieden haben, dass die Kosten eines Neustarts akzeptabel sind; bewahren Sie die Belege auf, bevor Sie an den Plattform-, Speicher- oder Hardwareverantwortlichen eskalieren.
Erstellt jeder unterbrochene Empfang ein Token?
Nein. Der Empfang muss mit fortsetzbarem Verhalten erfolgen und in einem Zustand fehlschlagen, der ein Token bewahrt.
Können alte Quell-Snapshots nach einer Unterbrechung gelöscht werden?
Nicht, solange der fortgesetzte Stream noch von ihnen abhängt und das Ziel nicht überprüft wurde.
Wie überprüfen Sie das endgültige Replikat?
Vergleichen Sie die GUID-Abstammung der Snapshots, Eigenschaften, erwarteten Dateien und ein Wiederherstellungsbeispiel - nicht nur den Exit-Status des Befehls.
Bei fortsetzbarer ZFS-Replikation bleibt die praktische Antwort bedingt: Der Fortsetzungsstream wird abgeschlossen, und die Quell- und Ziel-Snapshots weisen die erwartete GUID-Abstammung auf. Wenn kein Token vorhanden ist, das Ziel zurückgesetzt wurde oder erforderliche Quell-Snapshots entfernt wurden, brechen Sie den teilweise ausgeführten Empfang erst ab, nachdem Sie entschieden haben, dass die Kosten eines Neustarts akzeptabel sind; ein Teilerfolg, der die ursprüngliche Arbeitslast nicht übersteht, ist keine Kompatibilität.
Support & Tipps
Mehr zum Lesen

Migrationsleitfaden für Borg Backup zum Verschieben eines Repositorys auf einen neuen Speicher
Verschieben Sie ein Borg-Repository als einheitliches Objekt: Stoppen Sie Schreibvorgänge, bewahren Sie Schlüssel und Identität, überprüfen Sie Wiederherstellungen und aktualisieren Sie anschließend die Clients,...

Restic-Repository-Wartungsworkflow: Prüfen, Bereinigen, Komprimieren und Wiederherstellung testen
Restic verfügt über keinen separaten Befehl zum Kompaktieren: prune führt das Umpacken durch. Schütze die Sperren und den freien Speicherplatz, überprüfe anschließend erneut und...

Time-Machine-NAS-Wiederherstellungsleitfaden für beschädigte oder aufgegebene Backup-Verläufe
Behalte das alte Bundle bei. Trenne NAS-Zugriff, Zielidentität, Bildschäden und verwaiste Historie, bevor du dich für eine Reparatur oder eine neue Chain entscheidest.

