Umbrel klonen auf größere SSD (Linux)

Wenn Du (wie ich)

  1. Deine Festplatte in der Umbrel-Node vergrößern möchtest ohne
  2. die Blockchain erneut komplett herunterzuladen und zu verifizieren
  3. Du Deine Historie der geschlossenen Lightning-Kanäle etc. erhalten möchtest und
  4. nicht einfach alte Blöcke abschneiden/entfernen möchtest (Prune Old Blocks)

kannst Du dies unter dem Betriebssystem Linux wie nachfolgend beschrieben durchführen. Fehler in der Anleitung gern kommentieren, diese verbessere ich dann.

Meine Motivation für diese Anleitung: Ich habe zwei Tage nach der Lösung gesucht und dafür die Foren von Umbrel, Blocktrainker und weitere durchsucht sowie Chat GPT bemüht. Chat GPT hat mir dabei wirklich sehr geholfen, wegen der Gefahr der Halluzinationen (Falschaussagen) habe ich die Antworten (insbesondere Linux-Befehle) jedoch stets gegen geprüft (da ich mich selbst zu wenig auskenne).

Achtung: Die unten beschriebenen Tools überschreiben das Ziellaufwerk. Darauf befindliche Daten gehen unwiderruflich verloren. dd und ddrescue überschreiben das angegebene Ziel ohne Nachfrage. Es muss also genau verstanden werden, was zu tun ist.

Was zunächst fehlgeschlagen war:

  1. clonezilla (https://clonezilla.org/): Brach wiederholt nach kurzer Zeit mit einer Fehlermeldung ab
  2. dd (dd › Wiki › ubuntuusers.de): Brach nach ca. 30 Minuten ab (zweimal versucht)

Erfolgreich war schließlich ddrescue (gddrescue › Wiki › ubuntuusers.de), eigentlich ein Tool zur Datenrettung von defekten Datenträgern. Auch ddrescue brach zunächst nach ca. 30 Minuten einmal ab, lief anschließend jedoch fehlerfrei durch. Mit der Laufwerksverwaltung (Alternative: GPartet) habe ich die geklonte Partition am Schluss vergrößert, um die gesamte Festplatte nutzen zu können.

Die geklonte SSD zurück in den Raspberry Pi eingebaut wurde diese sofort und mit voller (neuer) Größe erkannt. Die Blockchain (ca. 2 Tage war die Umbrel-Node ausgeschaltet) war bereits nach ca. 1 Stunde wieder aktuell.

Zum System: Die beiden SSD haben das Format SATA in der Bauform M.2. Der Rapberri Pi ist ein einem Gehäuse mit eingebauter M.2 SATA-Festplatte (M oder M+B). SATA (weil nur noch selten verwendetes Datenformat) ist nicht mehr überall erhältlich, im lokalen Handel hatte ich sie gar nicht gefunden, jedoch online bestellen können. Für den Kopiervorgang habe ich die Festplatten in zwei externe USB-Gehäuse eingebaut. Die zunächst preiswert lokal für je 16 Euro gekauften funktionierten weder unter Linux noch unter Windows. Online habe ich dann hochwertigere für je 50 Euro erworben. Da diese beide USB-C-Anschlüsse haben, mein Rechner jedoch nur ein USB-C-Anschluss hat, brauchte ich für die zweite Platte noch einen Adapter von USB-C auf USB-A. Das verlangsamt den Kopiervorgang, weshalb die gut 6 Stunden Kopierdauer sicherlich ein Maximum sind.


Vorbemerkung:

Am besten verhindern, dass die Festplatten nach dem Anschließen an USB überhaupt gemountet werden. Unter Linux Mint Cinnamon:
Dateimanager → Bearbeiten → Einstellungen → Wechselmedien → Automatisch mounten deaktivieren
Alternativ nach dem Einstecken sofort wieder auswerfen (umount im Terminal oder über den Dateimanager oder im Festplattenverwaltungsprogramm auswerfen).
Die Quelle darf gemountet sein, sollte es aber zur Sicherheit nicht, das Ziel darf keinesfalls gemountet sein, damit das System nicht darauf schreiben kann.

Anleitung von Chat GPT sind ohne Klammern.
(gddrescue › Wiki › ubuntuusers.de) In runden Klammern wurde der Befehl verifiziert
[Personalisiert auf eigenes System] In eckigen Klammern habe ich Anpassungen auf mein eigenes System vorgenommen
Unbedingt darauf achten, die Quelle zuerst anzustecken und prüfen, ob sie als sda und das Ziel als sdb aufgeführt sind, sonst die Befehle entsprechend anpassen.

1. Vorbereiten

lsblk (prüfen, welche Platte welche Zuweisung bekommen hat)
sudo umount /dev/sdb* (wenn gemountet wieder auswerfen)
sudo apt install gddrescue (falls das Programm noch nicht installiert ist)
(sudo apt-get install gddrescue) (Alternative von Ubuntuusers)

2. Erster Lauf (schnelle Kopie ohne Retry)

sudo ddrescue -f -n /dev/sda /dev/sdb /home/deinuser/clone.log
(ddrescue -n QUELLE ZIEL ddrescue.log)
[sudo ddrescue -f -n /dev/sda /dev/sdb /home/thok/clone.log]
Dies, falls Abbrüche auftreten, wiederholen, bis die Festplatte komplett geklont wurde.
Die Logdatei ist dabei sehr wichtig, damit das System nach einem Abbruch dort wieder ansetzen kann und nicht von vorn anfangen muss. Sie kann und sollte später wieder gelöscht werden.

Erst nach dem kompletten Klonen der Festplatte:

3. Wiederholung bei Lesefehlern (falls gewünscht)

sudo ddrescue -f -r3 /dev/sda /dev/sdb /home/deinuser/clone.log
[sudo ddrescue -f -r3 /dev/sda /dev/sdb /home/thok/clone.log]

Option und Bedeutung

  • -f Force: überschreibt die Zielplatte ohne Nachfrage
  • -n Kein Retry beim ersten Durchgang → schnelle Kopie aller fehlerfreien Bereiche
  • -r3 3 Versuche, um die Daten zu retten (bei -1 wird das Programm so lange ausgeführt, bis alle Fehler behoben wurden)
  • /dev/sda Quellgerät (deine 1 TB SSD)
  • /dev/sdb Zielgerät (deine 2 TB SSD)
  • clone.log Logfile für Resume und Retry – hier /home/deinuser/clone.log, du kannst einen anderen Pfad wählen

4. Partition auf der Zielplatte erweitern

Die neue Partition hat die gleiche Größe wie die alte Festplatte. Damit die Platte in voller Größe verwendet werden kann, muss die Partition entsprechend vergrößert werden.
Unter Linux Mint Cinnamon konnte ich das mit der schon installierten App „Laufwerke“ sehr einfach und intuitiv bewerkstelligen, GPartet brauchte ich dafür nicht. Viele Anleitungen verweisen jedoch darauf, weshalb ich es hier aufführe.

Meine Unterhaltung mit ChatGPT:

ChatGPT - Clonezilla Festplatten klonen

5 „Gefällt mir“

ja das hatte ich auch am Anfang. Das Problem daran sind aber nicht die Programme sondern der Chip, der in deinem externen Festplattengehäuse verbaut ist. Dieser USB-Controller ist zu schwach. Ich hatte damals auch eine günstiges USB-Gehäuse für meine Festplatte geholt und nach sehr langer Recherche habe ich herausgefunden, dass alte/langsame USB-Controller-Chips im USB-Festplattengehäuse verbaut wurden, die mit den Geschwindigkeiten der SSDs nicht klargekommen sind.

Zur Info: Klonen mit clonezilla:

Festplatten USB-3 Gehäuse von UGREEN:

neues Gehäuse:

damals wusste ich noch nciht, dass man auf sowas achten muss und bis ich dahinter kam waren es lange Nächte und viel Recherche. Nix für Otto-Normal-User und ehrlich gesagt ein Unding, dass die Hersteller einfach was anderes verbauen, als drin ist.

Über clonezilla und den Linux Befehl dd kann man definitv nichts schlechtes sagen. Laufen tadellos und schnell.

1 „Gefällt mir“

Das Hatte auch ChatGPT mir gesagt, nachdem es die Fehlermeldung vom Abbruch analysiert hatte, dabei allerdings offen gelassen (oder ich habe es nicht richtig gelesen), ob es die im Notebook verbauten Controller sind oder die im externen Gehäuse. Ich ging vom Notebook aus - danke für den Hinweis. Deckt sich ja mit meiner Erfahrung mit den ersten beiden (billigen) Festplattengehäusen. UGREEN wurde mir von ChatGPT tatsächlich empfohlen sowie StarTech, die ich letztlich kaufte. Dann scheint UGREEN noch besser zu sein (waren auch teurer).

Was nicht so häufig am Markt zu bekommen ist, ist die Bauart M.2 SATA, wohl weil sie langsamer ist. Ist aber bei mir technisch notwendig aufgrund meines Raspberry Pi Gehäuses.
Erklärung: 2 Typen von M.2-SSDs: SATA und NVMe - Kingston Technology

D’accord - ddrescue war nur aufgrund der schlechten USB-Controller notwendig. Kaufe billig und Du kaufst zweimal…

ja UGREEN war bei mir tatsächlich ein Reinfall. Vor allem haben die den Kunden angelogen mit der Bezeichnung des verbauten Chips.

Aber hast trotzdem ne schöne Zusammenfassung gemacht, wie man die Platten klonen kann, ohne extra neusynchronisieren zu müssen. Das ist mittlerweile eine sehr häufige Frage hier im Forum. Top! :star_struck:

1 „Gefällt mir“

Ups - lese ich jetzt auch - hatte ich vorher falsch gelesen und dachte noch hätte ich mal…

…gut, dass ich nicht…

1 „Gefällt mir“

Ich bin Windows 11 - User ohne Linux Wissen. Habe nur meine Node auf Umbrel und Raspi 4 laufen. Meine 1 TB SSD wird langsam voll und mir ist die Umstellerei auf 2 TB echt zu kompliziert, kann mit Linux auch wirklich gar nix anfangen.

Was wenn ich einfach auf den Full Node verzichte und auf z.B. 800 MB Blockchain reduziere? Heisst glaube ich im Englischen „prune“.

Sollte eigentlich kein Problem sein, ausser dass dem BTC Netzwerk ein Full Node verloren geht. Kann ich dann eigentlich weiter per Electrum meinen eigenen Node ansprechen um OnChain Transaktionen in den mempool zu stellen?

Eine pruned Node funktioniert wie eine normale Node. Du hast nur keinen Zugriff mehr auf die abgeschnittene Transaktionshistorie.

Wenn man sich mit dem Thema so gar nicht beschäftigen möchte, kann man auch einfach auf der 2TB Platte neu aufsetzen.

Mir geht’s wie dir… mit Linux hab ich nichts am Hut. Aber was soll’s: Ich hab einfach eine neue 2-TB-Platte angeschlossen und alles neu gesync.

Wenn jemand Interesse hat, kann ich eine detaillierte Anleitung mit Bildern zum Klonen einer SSD erstellen. Ich arbeite dabei stets mit https://rescuezilla.com/. Obwohl ich derzeit #Raspibold nutze, funktioniert das Klonen im Prinzip auf die gleiche Weise. Bisher habe ich mehrere Klone erfolgreich erstellt, ohne auf Probleme zu stoßen.

Ein möglicher Nachteil ist, dass bei Systemen wie Umbrel oder CasaOs Container verwendet werden. Das kann dazu führen, dass beim Kopieren von Daten gelegentlich Fehler auftreten. Es ist wichtig, bei der Verwendung solcher Systeme besonders vorsichtig zu sein und sicherzustellen, dass alle Schritte genau befolgt werden, um Datenverluste zu vermeiden.

Wenn eine 1TB SSD auf eine 2TB SSD kopiert wird, kann der zusätzliche Speicherplatz anschließend mit gparted erweitert werden. Dadurch wird der gesamte Speicherplatz der neuen SSD nutzbar gemacht. Falls jemand spezifische Fragen hat oder bestimmte Aspekte des Klonens näher erläutert haben möchte, stehe ich gerne zur Verfügung!

3 „Gefällt mir“

Auch wenn das Thema für mich erledigt ist, denke ich, dass noch einige Leute daran interessiert sein könnten. Die 1-TB-Platten werden bald voll sein.
Wär wirklich toll wenn du dir die Mühe machst. Ich sage mal Dankeschön :+1::smiling_face:

1 „Gefällt mir“

Neu aufsetzen heisst doch auch dass alle Kanäle geschlossen und dann nach dem Aufsetzen neu geöffnet werden müssen, oder?

D.h. Du hast einfach eine Channel Backup gemacht, dann die SSD neu aufgesetzt, die Blockhain neu geladen und die Channel wieder recovered?
Oder wie bist Du vorgegangen?

Muss jetzt doch schneller handeln als gedacht, mein BitCoin Node auf dem Umbrel crasht mit

„A fatal internal error occurred, see debug.log for details: Disk space is too low“. Kann somit die Node gar nicht mehr starten ohne Prune. Die App „Electrs“ nimmt 55.8 GB ein, die könnte ich statt „Prune“ noch löschen aber dann kann ich Electrum auf meinem Windows PC und ich glaube auch ZEUS auf meinem Handy nicht mehr mit der Node verbinden.

Ich nutze kein Lightning. Beim Umstieg auf die 2tb ssd habe ich mir auch gleich einen neuen Raspberry Pi 5 mit 16 GB RAM gegönnt. Die alte SD-Karte vom Pi 4 eingesteckt, die neue SSD angeschlossen – und die Blockchain komplett neu heruntergeladen. Das hat, glaube ich, etwa 3 bis 4 Tage gedauert.

1 „Gefällt mir“

Ja, darum habe ich meine Festplatte geklont.

Electrs bauchst Du, um andere Apps mit der Node zu verbinden wie ZEUS oder Electrum.

Prune kann nicht rückgängig gemacht werden. Hier ist die Entscheidung: entweder Prune und die alte Platte dauerhaft weiternutzen oder auf eine größere Platte klonen, sofern Du Lightning-Kanäle hast und diese nicht schließen oder die Historie erhalten möchtest (letzteres war mir wichtig).

ThunderHub ermöglicht ein Backup und Wiederherstellen der Kanäle nach einem Neu aufsetzen der Node - das habe ich allerdings nie getestet und es birgt auch das Risiko, dass Kanäle zwangsgeschlossen werden. Das ist wirklich nur für den Notfall gedacht. Ich hatte meine Kanäle geschlossen, bevor ich meine Node geklont habe. Das Risiko war mir zu groß, hier einen nicht unerheblichen Verlust zu erleiden, in den Kanälen steckte einiges Geld.

Weil es einfacher ist, nutze ich jetzt Phoenix. Zuvor hatte ich schon einen Kanal zu ACINQ-Node, habe diesen jedoch nicht wiederhergestellt und bin mit Phoenix für meine Zwecke zufrieden. Für die Gewinne aus dem Miningpool nutze ich pragmatischerweise sogar die WoS, weil die Beträge einfach sehr, sehr klein sind und ich dafür dann nicht online sein muss. Alle drei Monate überweise ich mir dann einen Euro „Gewinn“ zu Phoenix :wink:

Eigene Kanäle hatte ich im Grunde nur für Studienzwecke (genau wie jetzt meinen Bitaxe Nerdminer im Pool). Das technische Ausfallrisiko des Raspberry Pi, zudem ohne unterbrechungsfreier Stromversorgung (USV), ist mir für den Alltag viel zu hoch und einen finanziellen Gewinn konnte/kann ich aus alldem nicht ziehen. Aber Freude an Erkenntnis und die Hoffnung auf Bitcoin irgendwann als Zahlungsmittel. Du musst für das Alles also schon ein wenig Nerd sein :face_with_peeking_eye: oder zumindest an der Technik interessiert.

1 „Gefällt mir“

Vielen Dank für den Input hier!
Irgendwie tut es mir leid wenn ich mit Prune den Full Node verliere. Also wage ich es mit dem Klonen meiner Umbrail-Raspi-Node auf ne 2 TB SSD. Werde mir eine neue & schnelle besorgen, z.B die hier: Intenso Externe SSD TX100. Alles fix verbaut inkl. USB Kabel und die sollte einen schnelleren Controller-Chip haben.

silentpredator hatte clonezilla erwähnt: Das klingt sympathisch denn das läuft unter Windows - oder?

clonezilla speicherst du einfach auf ein stick und bootest von dort aus deinen PC. d.h. das ist Plattform-unabhängig. Beim Bootvorgang wählst du den Stick aus und dann erscheint Clonezilla user interface. ist eigentlich nicht schwer durchzuführen. ich werde sobald meine neue Festplatte geliefert wird ebenfalls ein Backup die Tage machen und meine node wieder einmal klonen. wenn du Fragen hast oder nciht weiterkommst, sag einfach Bescheid.

2 „Gefällt mir“

Hat alles geklappt, war doch relativ einfach:

  1. Clonezilla Live als ZIP File von Clonezilla live geholt und auf USB Stick geflashed. Von diesem Stick Windows PC gebootet und die SSD alt auf SSD Neu kopiert

  2. Gparted Live als ZIP von GParted -- Live CD/USB/PXE/HD geholt und auf USB Stick wie beschrieben. Von diesem Stick Windows PC gebootet und die Partition vergrössert.

Vermutlich hätte ich auch mit einem anderen Programm die SSD klonen können aber das wollte ich nicht riskieren.
Apropos Risiko: Ich werde die Summen auf meinem Lightning Node nun doch erheblich reduzieren und Kanäle schliessen. Wird eh zu wenig genutzt und das Risiko, dann doch auf erheblichen Coins sitzen zu bleiben wenn meine Node mal abraucht ist mir zu gross.
Siehe

1 „Gefällt mir“

Super Beitrag! Danke Dir!

1 „Gefällt mir“