This is the old XigmaNAS forum in read only mode,
it will taken offline by the end of march 2021!



I like to aks Users and Admins to rewrite/take over important post from here into the new fresh main forum!
Its not possible for us to export from here and import it to the main forum!

Frage zu Umzug auf neuen Server

German community

Moderators: b0ssman, apollo567, Princo, crowi

Forum rules
Set-Up GuideFAQsForum Rules
Post Reply
devil77
NewUser
NewUser
Posts: 10
Joined: 28 May 2016 19:40
Status: Offline

Frage zu Umzug auf neuen Server

Post by devil77 »

Hallo, demnächst steht der Umzug auf einen neuen Server an. Bin mir nur etwas unsicher wie es am besten ablaufen sollte.
Meine Idee / Reihenfolge wäre folgende

1. Snapshot erstellen auf altem Systen

Code: Select all

zfs snapshot pool_alt/dataset@now
2.Snapshot auf neues System übertragen

Code: Select all

zfs send pool_alt/dataset@now | ssh xxx.xxx.xxx.xxx zfs recv pool_neu/dataset
3. Snapshot einspielen

Code: Select all

zfs rollback pool_neu/dataset@now
Damit hätte ich ein Dataset vom alten Server auf den neuen kopiert und hätte quasi ein Initialbackup.
Das könnte ich am Wochenende laufen lassen und würde keinen stören.
Jetzt bin ich nur etwas unsicher wie der letzte Schritt ist zum endgültigen Datenabgleich.
Nochmal ein Snapshot, rüber schieben und rollback wie oben beschrieben?

User avatar
Princo
Forum Moderator
Forum Moderator
Posts: 1080
Joined: 15 Jul 2012 01:21
Location: Berlin, Germany
Status: Offline

Re: Frage zu Umzug auf neuen Server

Post by Princo »

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 :mrgreen:

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.

Post Reply

Return to “Deutsch”