SD-Kartentransfer im laufenden Betrieb auf SSD-Laufwerk
Warum sollte man das Dateisystem des Raspberry Pi's auf ein SSD-Laufwerk übertragen?
a) die benutzte SD-Karte im PI war zu klein (nur 4 - 8
GB) und läuft langsam voll
b) man benötigt mehr Speicherplatz und will nicht eine größere SD-Karte einsetzen
c) der Datentransfer soll schneller erfolgen als von SD-Karte
d) im Dauerbetrieb bei vielen Schreibzugriffen überlebt eine SD-Karte nicht lange
Schaffen Sie sich eine 1 - 4 TB große SSD an, die per
USB3.0 einmal viel mehr Speicherplatz bietet,
die Daten auch viel schneller bereitstellen kann als eine SD-Karte und
jahrelang im Einsatz bleiben kann.
Ablauf des Dateitransfers in laufenden Betrieb:
Hierzu hat Login-Techblog ein eindrucksvolles Youtube-Video gemacht, was man 1:1 ausführen kann! Zum Videoa) Die SSD-Festplatte an den PI anschließen (vorher die
Platte mit extFat oder besser noch ext4 formatieren).
b) Sich per SSH (via SSH-Client z.B. mit Bitvise SSH-Client oder Putty auf den PI auf die Konsole einloggen.
c)
Gib in der Konsole den folgenden Befehl ein.:
lsblk
d) zeigt eine hierarchische Liste sämtlicher angeschlossener Laufwerke,
wobei sda die große externe SSD-Festplate bezeichnet und
mmcblk0 die z.B. 64 GB SD-Karte mit dem kleinen Unterverzeicnis für /boot und der größeren Rootpartion /
,
in dem sich das gesamte Betriebssystem (Dietpi mit allen Programmen) befindet.
Nun müssen alle Daten von der SD-Karte mmcblk0 auf sda kopiert werden.
Dafür müssen alle aktiven Dienste gestoppt und die SWAP-Funktion mit folgenden Konsolenbefehlen gestoppt werden.
e) dietpi-services stop
swapoff
f) Nach Stop der Dienste können alle Daten mit dem Befehl dd 1:1 auf die Festplatte kopiert werden.
Passe die Bezeichnung der SD-Karte z.B. mmcblk0 auf die oben mit lsblk ermittelten Bezeichnung an!
Die Befehlsoption "bs=1M" gibt die Blockgröße der übertragenen Daten an;
of=Zieldatei und mit "status=progress"
wird der Fortschritt des Kopierprozesses angezeigt, der gut eine halbe Stunde dauern kann!
Gib nun folgende Befehlszeile für den Kopierprozess in die Konsole ein:
g) dd if=/dev/mmcblk0 of=/dev/sda bs=1M status=progress
Nachdem die gesamten Daten auf die SSD-Platte kopiert wurden, muss der PI
heruntergefahren werden.
Gib dazu folgenden Konsolenbefehl ein!
h) shutdown -h now
Entferne das Stromkabel vom PI und entnimm die SD-Karte aus dem PI, danach den
PI wieder mit Strom versorgen,
wonach der PI nun von der SSD neu bootet.
i) Prüfe nun, wie das Dateisystem auf der SSD angelegt wurde, mit folgendem bekannten Befehl.
lsblk
Du wirst feststellen, dass das Hauptverzeichnis / auf sda2 nur die Größe der SD-Karte (knapp 60 GB) hat.
Um den kompletten Platz der SSD nutzen zu können, muss das Filesystem mit folgendem Befehl vergrößert werden:
dietpi-drive_manager
Wähle im Drivemanager die oberste Position / aus, bestätige mit ok!
Im nächsten Auswahlfenster wähle resize aus und bestätige mit ok!
Bestätige im nächsten Fenster, dass das Rootfilesystem mit resize vergrößert werden soll und lass den PI rebooten.
Eine erneute Überprüfung des Filesystems mit lsblk in der Konsole zeigt, das die gesamte Festplattenplatz zur Verfügung steht!
Im folgenden Bild sieht man, dass der komplette Bereich der 2 TB großen SSD genutzt werden kann und nicht nur das ursprünglich 64 GB große SD-Kartenimage!