Root Partition des Raspberry auf USB Stick auslagern

Eine SD Karte in einem Raspberry lässt sich nicht so ohne weiters vergrößern ( No na ned!!). Da mit der Zeit aber immer wieder neue Programme und Daten auf dem Raspi dazukommen, muss man sich was überlegen. Da löschen von nicht mehr benötigten Daten eher als feige eingestuft wird ( 🙂 ) verlagere ich die Root Partition auf einen USB Stick aus. Da an meinem FHEM Raspi bereits ein CUL und der TFT Monitor die 2 USB Anschlüsse belegen, musste ich zusätzlich noch einen passieven USB Hub verwenden.

Als erstes wird der USB Stick (bei mir ein 16GB USB3) an den Raspi gesteckt. Mit

kann man schnell überprüfen ob der Stick erkannt wurde. Wenn es der erste Stick am Raspi ist, wird er unter /dev/sda zu finden sein. Mit

kann man dann die jeweilige Partitionierung des Sticks auslesen. Wir werden alle auf dem Stick löschen und eine neue anlegen. Also fdisk /dev/sda aufrufen, mit “p” alle vorhandenen Partitionen auflisten, mit “d” einzeln löschen und dann mit “n” eine neue “Primäre Partition” anlegen. Start und Stop Bereich vom Programm übernehmen. Als Ergebnis kommt dann so was raus.

fdisk_usb_stick
Als nächstes wird dann noch die neue Partition formatiert.

Vorübergehend wird die neue Partition nach /mnt gemountet. Dies wird nur für den Sync der Files benötigt.

Nun empfiehlt es sich, alle nicht benötigten Dienste zu stoppen (apache2, mysql, fhem …) da der eigentliche Sync bis zu 15 Minuten dauern kann und wir keine inkonsitenten Daten haben wollen. Nun noch das komplette Root Filesystem auf den Stick “syncen”

Wie gesagt, kann bis zu 15 Minuten dauern. Mit dd würde der Abgleich natürlich auch gehen, nur nimmt dd auch den nicht verwendeten Platz mit und dadurch dauert dies dann noch länger. Wenn der Sync fertig ist müssen noch 2 Einträge angepasst werden. Als erstes muss die Datei /boot/cmdline.txt angepasst werden. Der Eintrag für die Root Partition wird von /dev/mmcblk0p2 auf /dev/sda1 geändert und um zu vermeiden, dass der Stick beim Booten nicht gefunden wird kommt noch der Eintrag rootdelay=5 dazu. Meine neue cmdline.txt schaut dann so aus.

Zu guter letzt wird noch die neue fstab angepasst. Dafür wird die Datei /mnt/stick/etc/fstab verwendet!! Diese wird ja nach einem Reboot verwendet. Bei mir schaut diese dann so aus.

Ich habe den alten Eintrag für die Root Partition nur auskommentiert.  Wenn dies erledigt ist, wechselt nach / und unmounted den Stick ( geht nicht, wenn ich noch drinnen steht 😉 ). Nach einem Reboot solltet ihr das Root Filesystem auf eurem neuen Stick im System sehen.

df-h_mit_stick

Im Bild oben sieht man noch zusätzlich mein Backup Volumen vom Synology NAS, in dass ich regelmäßig Backups mit rsync mach.

Comments are closed.