Le schede micro SD vengono spesso utilizzate nei dispositivi per l’Internet delle Cose (IoT) e sono essenziali per “pilotare” un single-board computer come Raspberry Pi.
Nel caso della Raspberry Pi, la scheda di memoria contiene il sistema operativo e tutte le applicazioni: in questi articoli abbiamo presentato diversi esempi di utilizzo.
Nell’articolo Scheda SD: perché non sono tutte uguali abbiamo visto le principali differenze tra le schede SD e quali scegliere per ciascuna applicazione.
Dall’integrità dei dati presenti nella scheda SD dipende in larga parte il funzionamento dei dispositivi Raspberry così come degli altri device IoT. Anche la migliore scheda SD, come tutte le memorie flash, può improvvisamente cessare di funzionare e i dati memorizzati possono andare perduti.
Backup scheda SD: come crearlo in Windows
Se si lavora spesso con le schede Raspberry Pi può capitare non solo che la micro SD risulti danneggiata ma anche di commettere errori che provochino il malfunzionamento del software installato.
Dopo aver configurato correttamente la scheda SD, è possibile crearne una copia di backup da ripristinare in caso di necessità.
Il software Raspberry offre l’app SD Card Copier integrata a livello di sistema operativo ma la creazione di un’immagine del contenuto della scheda è forse la strada migliore.
L’immagine del contenuto della scheda SD può essere memorizzato in locale sul PC oppure conservata sul cloud, distribuita ad altri utenti e trasferita su una nuova micro SD in qualunque momento. Allo scopo si possono usare programmi come Etcher o Raspberry Pi Disk Imager.
Per creare il backup della scheda SD da Windows, si può usare l’utilità gratuita Win32 Disk Imager.
Essa consente di creare un’immagine dell’intera struttura della scheda SD: il file che si otterrà sarà capiente più o meno come la capacità della scheda micro SD.
C’è però un problema di fondo: quando si dovesse ripristinare il contenuto della scheda SD a partire dal backup creato in precedenza, bisognerà usare un supporto identico a quello di partenza. Diversamente, la procedura di ripristino non andrà a buon fine.
Creare un backup compatto del contenuto della scheda SD su Raspberry Pi
Senza appoggiarsi a Windows, gli utenti possessori di una scheda Raspberry Pi possono creare il backup della micro SD usando gli strumenti di sistema.
Per procedere, è bene attrezzarsi con un supporto di memorizzazione di dimensioni almeno pari a quelle della scheda SD inserita nella Raspberry Pi.
Dopo averlo formattato usando il file system NTFS (da Windows) oppure ext4 (da un sistema Linux), si potrà connetterlo a una porta USB disponibile sulla Raspberry Pi. Suggeriamo di assegnare un’etichetta in modo da riconoscere più facilmente l’unità (esempio: pibackup
).
Al prompt della Raspberry Pi, si dovrà quindi digitare quanto segue per scaricare e installare PiShrink, un eccellente script che aiuta a comprimere il contenuto della scheda SD:
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
sudo chmod +x pishrink.sh
sudo mv pishrink.sh /usr/local/bin
Digitando il comando lsblk
si dovrà osservare quanto indicato sotto la colonna Mountpoint e annotare l’indicazione corrispondente alla chiavetta USB poco fa collegata alla Raspberry Pi (inizia con /media/
).
Supponendo che il Mountpoint dell’unità USB sia /media/pi/pibackup
, si dovrà digitare:
Infine, scrivendo i comandi che seguono si potrà comprimere il contenuto del file d’immagine creato con dd:
cd /media/pi/pibackup
sudo pishrink.sh -z pibackup.img
Al termine della procedura si otterrà un file dal nome pibackup.img.gz
che contiene tutti i dati della scheda SD in forma compressa. Scollegando l’unità USB dalla Raspberry Pi, si potrà copiare il file compresso altrove.
Creare il backup della scheda SD in un’unità di rete
Se si volesse creare una copia del contenuto della scheda micro SD in uso sulla Raspberry Pi, si può digitare quanto segue al prompt:
sudo mkdir /mnt/pibackup
sudo mount -t cifs //192.168.1.2/PIBACKUP /mnt/pibackup -o user=username,pass=password
sudo dd if=/dev/mmcblk0 of=/mnt/pibackup/pibackup.img bs=1M
Nel comando precedente, le stringhe evidenziate in grassetto vanno sostituite con l’indirizzo IP del sistema di destinazione del backup e il nome della cartella condivisa via SMB; il nome utente e la password per l’accesso.
I comandi seguenti potranno quindi essere utilizzati per comprimere il file d’immagine:
cd /mnt/pibackup
sudo pishrink.sh -z pibackup.img
In entrambi i casi, per ripristinare l’immagine basta scaricare Raspberry Pi Imager, specificare la scheda SD da scrivere quindi scegliere Use custom e specificare il file pibackup.img.gz
compresso ottenuto in precedenza.