Hallo devil77,
Wenn du deinen ganzen Pool insgesamt umziehen lassen möchtest, dann gibt es eine bessere Methode:
Du hast dein bisheriges System (Quelle) mit dem Pool "pool_alt".
Auf dem neuen System (Ziel) legst du einen Pool "pool_neu" an.
Ergänzung vom 20.11.2016: Je nach der später eingesetzten Update-Methode, kann "pool_neu" den gleichen Namen wie "pool_alt" erhalten.
Auf dem
Zielsystem gibst du diesen Befehl ein:
Code: Select all
nc -l 9000 | zfs receive -vF pool_neu
Das Zielsystem wartet jetzt auf eingehende Übertragungen.
Auf dem
Quellsystem gibst du diese Befehle ein
Code: Select all
zfs snapshot -r pool_alt@now
zfs send -vR pool_alt@now | nc -w 6 $IP-ADRESSE-ZIEL 9000
Für $IP-ADRESSE-ZIEL mußt du natürlich die IP-Adresse des Zielrechners einsetzen.
Ein Rollback auf dem Zielsystem ist nicht nötig, dafür sorgt bereits der Parameter -F.
Mit dieser Methode werde sämtliche Datasets des Pools pool_alt zum anderen System auf den pool_neu übertragen.
Dabei werden auch sämtliche Eigenschaften der Datasets mit übertragen (z.B. Compression).
Es werden auch sämtliche Snapshots von pool_alt mit übertragen.
Die Übertragung erfolgt unverschlüsselt mittels netcat (nc), daher ist sie wesentlich schneller als die Übertragung per ssh.
Während der Übertragung werden auf dem Quell- und dem Zielsystem Logging-Ausgaben angezeigt.
Während der Übertragung sollten auf dem Quell-System keine Snapshots gelöscht werden (Vorsicht bei Auto-Snapshots!).
Der pool_neu sollte frisch angelegt sein, und darf keine Snapshots enthalten. Vorhandene Daten werden auf dem Zielpool gelöscht.
Die Befehle können auf dem Quell- und dem Zielsystem jeweils in einer tmux-Session ablaufen, aber das führt evtl. etwas zu weit
Auf Basis der obigen Befehle läßt sich mit einem einzigen zusätzlichen Parameter später auch ein inkrementelles Backup zwischen den beiden Systemen realisieren...
Grüße
Princo
Meine Antworten beziehen sich immer auf die englischsprachige GUI. ECC-RAM ist Pflicht beim Einsatz von ZFS.