Diciamolo, il limite più rilevante del Raspberry Pi è il fatto che il sistema operativo deve essere installato in una scheda SD.

Sebbene queste schede abbiamo capienze sempre più importanti e allo stesso tempo garantiscano dei tempi di accesso molto rapidi, resta il fatto che hanno un numero di scritture limitate che ne riduce notevolmente la possibilità di utilizzo.

Ciò significa che con il passare del tempo, scrittura dopo scrittura, la scheda perde di consistenza arrivando in maniera del tutto imprevedibile ad essere inutilizzabile.

Questo ovviamente è un grosso problema, in quanto è possibile perdere tutti i dati che abbiamo salvato nel nostro Raspberry da un momento all’altro.

Vediamo alcuni accorgimenti che possiamo prendere per tentare di arginare questo scenario.

Come del resto anche negli altri articoli dedicati al Raspberry Pi, faccio sempre riferimento alla versione 3 model B. Ovviamente ciò non significa che questi metodi non possano funzionare anche con altri modelli, quel che è certo però è che, ad eccezione delle parti in cui ne faccio espressa menzione, non ho avuto modo di testarlo direttamente.

Riduciamo al minimo le scritture

La prima cosa da fare è cercare di ridurre al minimo le scritture effettuate su disco.

Un modo che certamente comporta una differenza sostanziale è disabilitare la scrittura dei file di log che Raspbian tiene costantemente aggiornati.

Per far ciò apriamo il file /etc/rsyslog.con  con il seguente comando:

Copy to Clipboard

E andiamo a commentare tutti quei file di log che per noi sono superflui (nel mio caso ho commentato tutto):

Copy to Clipboard

Eseguiamo il boot da Hard Disk

Dal modello 3 in poi è possibile alimentare gli hard disk esterni direttamente da porta USB. Ciò significa che se abbiamo un hard disk esterno da dedicare al nostro Raspberry possiamo spostare tutti i dati del sistema operativo su quest’ultimo, evitando di usurare ulteriormente la microSD e sfruttando il fatto che gli hard disk, sebbene più lenti, hanno una longevità decisamente superiore.

Nota che il disco rigido dovrà essere formattato (cosa che faremo a breve). Inoltre se la tua intenzione è quella di riutilizzare la microSD, sappi che non potrai in quanto sarà comunque necessario mantenere la scheda montata sul Raspberry.

Dopo aver collegato l’hard disk, cerchiamo subito di capire qual è il percorso che Raspbian gli ha assegnato:

Copy to Clipboard

il comando ci restituirà una lista di tutti i dispositivi di memorizzazione registrati. A noi interessa ovviamente quello con capienza pari all’hard disk collegato, che normalmente dovrebbe finire in /dev/sda.

Di solito, quando colleghiamo un hard disk al Raspberry, il sistema operativo procede automaticamente con il mounting del disco. Poichè la prossima operazione da eseguire sarà formattare il disco che useremo, è innanzitutto necessario fare l’unmounting dello stesso.

Per far questo, eseguiamo prima di tutto il seguente comando:

Copy to Clipboard

Ovviamente nel tuo caso dovrai sostituire /dev/sda con il percorso corretto. La nota deve essere applicata in tutti i comandi dove compare il percorso di mounting del dispositivo.

Formattiamo il disco!

Fatto ciò, procediamo con la formattazione del disco:

Attenzione: questo comporterà la perdita di tutti i dati presenti nel supporto di memorizzazione!

Copy to Clipboard

Copiamo i dati!

Al termine della procedura, è necessario fare la procedura inversa a quanto fatto all’inizio, ovvero effettuare il mounting del disco appena formattato:

Copy to Clipboard

Copiamo poi tutto il contenuto della SD all’interno del disco esterno:

Copy to Clipboard

Modifichiamo l’ordine di boot!

Infine andiamo ad indicare a Raspbian che il nuovo disco di boot (quello con cui vorremo eseguire l’avvio del sistema operativo e tutte le altre operazioni) non sarà più la microSD bensì l’hard disk, prima però facciamo un backup del file di configurazione:

Copy to Clipboard

Poi apriamolo:

Copy to Clipboard

e alla voce root= andiamo a scrivere la posizione del disco esterno (nel mio caso /dev/sda) e i secondi (rootdelay=5) che Raspbian dovrà attendere prima di cominciare con la procedura di montaggio del filesystem:

Copy to Clipboard

Per finire non ci resta che aggiungere il disco esterno in fstab così da procedere automaticamente al suo montaggio ad ogni avvio di sistema.

Apriamo il file:

Copy to Clipboard

Inseriamo quindo il disco esterno nella seconda riga del file andando a commentare la parte relativa alla microSD.
Il risultato dovrebbe essere qualcosa di simile:

Copy to Clipboard

Per questioni tecniche è comunque necessario che la microSD resti montata sul Raspberry Pi in quanto al primo avvio le informazioni di boot saranno recuperate dalla scheda per poi procedere ad utilizzare il disco esterno.

Ciò è comunque un bel vantaggio in quanto la scheda SD sarà utilizzata soltanto una volta all’avvio del sistema.