Was macht zfs erhalten -F?

7

Wenn ich lese , man zfsfür zfs receiveich sehe ,

     -F      Force a rollback of the file system to the most recent snap-
             shot before performing the receive operation. If receiving an
             incremental replication stream (for example, one generated by
             "zfs send -R -Fi -iI"), destroy snapshots and file systems
             that do not exist on the sending side.

aber ich verstehe nicht ganz, was -Feigentlich tun wird.

Wenn ich zfs receive tank/pooldann den empfangenen Snapshot auf dem Zielseitendateisystem zurückgesetzt habe, was ich will.

In welchen Situationen möchte ich verwenden -F?

Sandra
quelle

Antworten:

12

Der Schalter -F ist nützlich, wenn Sie nach dem Empfang mit dem Zieldatensatz herumgespielt haben. Sobald Sie Änderungen daran vorgenommen haben (einschließlich einer Aktion, die so unschuldig ist wie eine Verzeichnisliste, da sich dies manchmal ändern würde), befindet sie sich nicht mehr in dem Zustand, in dem sie sich nach der ersten Übertragung befand. Der Versuch, eine Ebene zfs receiveaus einem inkrementellen Datenstrom auszuführen, der von den anderen Seiten erstellt wurde, zfs send -i tank/dataset@old tank/dataset@newwürde zu einem Fehler führen. In diesem Fall haben Sie auf der Empfängerseite zwei Möglichkeiten:

  • Sie können entweder manuell zum letzten Schnappschuss zurückkehren zfs rollback
  • oder stellen Sie den -FSchalter bereit , damit zfs receiveer dies automatisch für Sie erledigt

Natürlich kann es sich um eine destruktive Operation handeln. Sie müssen also verstehen, was sie tut, bevor Sie sie verwenden. Wenn Sie jedoch nur Schnappschüsse an ein nicht lebendes "Backup" -Ziel kopieren, an das möglicherweise keine anderen Daten geschrieben werden, die Sie möglicherweise übersehen, sollte dies sicher sein.

the-wabbit
quelle
1
Eine Sache, die ich zu dieser Antwort hinzufügen könnte, ist die Option "-F", von der ich glaube, dass sie den Nebeneffekt hat, dass alle Snapshots auf dem Ziel entfernt werden, die in der Quelle nicht mehr vorhanden sind. Wenn Sie ein Rollback durchführen, können Sie anstelle der Option "-F" die Snapshots auf dem Ziel behalten, die in der Quelle nicht mehr vorhanden sind.
Josh
@ Josh, während die Dokumentation dies zu suggerieren scheint, habe ich noch nicht gesehen, dass dies der Fall ist. Zumindest unter Solaris 11 werden Ziel-Snapshots nicht entfernt, wenn sie bei Verwendung der -iOption to nicht im Quellcode vorhanden sind zfs send. Ich glaube, dass die Informationen über andere Schnappschüsse, die möglicherweise in der Quelle vorhanden sind, nicht einmal Teil des Streams zfs send -isind, der produziert wird.
The-Wabbit
2

Andere sind die Experten hier auf ZFS. Ich werde dies einfach posten, falls Sie es nicht gesehen haben.

Die Verwendung dieser Option kann erforderlich sein, wenn das Dateisystem zwischen dem Zeitpunkt eines Rollbacks und dem Beginn des Empfangs geändert wird.

Von: Solaris - Neue zfds erhalten die Option -F

Der Reiniger
quelle