Ein Blog über Code, Hardware und Co

Storj

Einen Storj-Node auf ein anderes Gerät oder eine andere Festplatte umziehen

Zuletzt aktualisiert am 4. Februar 2021.

Es kommt vor, dass man Storj z.B. auf einer kleineren Festplatte ausprobieren will, später aber merkt, dass man gerne mehr Speicherplatz vermieten möchte, die Festplatte aber voll ist. Jetzt kann man einen neuen Node aufsetzen. Will man sich das Neuaufsetzen sparen und nicht erneut den Vetting-Prozess durchlaufen, kann man den bestehenden Node auch einfach umziehen – auch ohne Downtime.

Einen Node auf eine andere Festplatte umziehen

Hier macht sich bezahlt, dass ein Node im Prinzip ausschließlich aus vielen kleinen Dateien besteht. Auch die Datenbank (SQLite) ist dateibasiert. So müssen nur die einzelnen Daten umgezogen werden. Trotzdem gibt es ein paar Punkte zu beachten.

Ich zeige dir, wie du deinen Node erfolgreich umziehst.

1. Original-Node laufen lassen

Die Gute Nachricht vorweg: Du musst keine Suspension oder Disqualification aufgrund einer Downtime befürchten. Solange, bis alle Daten umgezogen sind, wird dein ursprünglicher Node einfach weiterlaufen.

2. Neue Festplatte vorbereiten

Schließ die neue Festplatte an dein Gerät an und erstelle ein Verzeichnis für den Node.

3. Daten kopieren

Jetzt kannst Du im Hintergrund, während der Originalnode einfach weiterläuft die Daten auf die neue Festplatte kopieren.
Ich kopiere dafür einfach den Inhalt des bestehenden Node-Verzeichnisses ,in dem sich alle Daten zum Node befinden, in das neue Verzeichnis:
rsync -aP /mnt/node1/ /mnt2/node1_new/
In diesem Falle das Verzeichnis “Node1”.

Wichtig ist, dass das Verzeichnis, in dem sich die Identity befindet kopiert wird, sowie das Verzeichnis in dem sich die Blobs, also die Daten befinden. Diese Verzeichnisse kannst du natürlich auch einzeln kopieren.

Zur Erklärung:
/mnt/node1/: Ist der Pfad zu dem Verzeichnis, in dem sich der gesamte Originalnode befindet.
/mnt2/node1_new/: Ist der Pfad zu dem (leeren) Verzeichnis auf der neuen Festplatte.

Die jeweiligen Pfade muss du natürlich gegen deine Pfade ersetzen.

4. Schritt 3 wiederholen

Wenn das Kopieren der Daten mittels rsync durchgelaufen ist, wiederhole das Kommando einige Male. Du wirst sehen, dass es immer schneller durchläuft.
Wieso das denn? Während des Kopierprozesses werden dadurch, dass der Original-Node noch läuft Änderungen am Datenbestand vorgenommen. Daher ist ein mehrfacher Abgleich notwendig. Die Änderungen sollten immer geringer werden.

5. Storagenode abschalten

Wenn das rsync-Kommando nur noch wenige Sekunden bis Minuten braucht, ist es an der Zeit den Umzug abzuschließen. Dafür schaltest du deinen Originalnode ab.

6. Final noch einmal Daten kopieren (mit “–delete”!)

Jetzt noch ein letztes Mal die Daten kopieren. Einmal ist ausreichend, da nun ja keine Änderungen am Datenbestand mehr auftreten können, da der Originalnode abgeschaltet ist.

7. Docker Command bzw. Docker-Compose-File anpassen

Das Docker-Command bzw. das Docker-Compose-File müssen noch auf die neue Speicherlocation angepasst werden:

Docker-Command:
–mount type=bind,source=/mnt2/node1_new/identity,destination=/app/identity \
–mount type=bind,source=/mnt2/node1_new,destination=/app/config \

Docker-Compose-File:
Folgt in Kürze.

8. Node wieder starten

Der Node sollte nun problemlos wieder starten. Es werden nun die Daten von der neuen Festplatte genutzt und neue Daten auf die neue Festplatte geschrieben.

ACHTUNG: Besonders das erste Kopieren, also der erste Durchlauf von rsync kann, je nach Größe des Nodes und Performance der Festplatte(n) mehrere Tage dauern.
Bei mir hat der Umzug eines 3,3TB großen Nodes ca. 6 Tage (!) gedauert (Knapp 600GB am Tag).

Einen Node auf ein anderes Gerät umziehen

Hier kommt es auf die genauen Umstände an:

Von Synology-NAS auf Synology-NAS

Solltest Du einen Node von einem Synology-NAS auf ein neues Synology NAS umziehen wollen, so reicht es in der Regel einfach, die Festplatte aus dem alten NAS auszubauen und in das neue NAS einzustecken.

Von Synology-NAS auf QNAP-NAS (oder umgekehrt)

Gleiches Vorgehen wir unter “Einen Node auf eine andere Festplatte umziehen” beschrieben.

Von Synology oder QNAP-NAS auf Windows System

Gleiches Vorgehen wir unter “Einen Node auf eine andere Festplatte umziehen” beschrieben.

Eigentlich empfiehlt sich bei allen Fällen, wo nicht direkt die Festplatte ausgetauscht werden kann (I.d.R. einNAS des gleichen Herstellers) die rsync-Variante.

Quellen:

Storj-Guide

Schreibe eine Antwort