Ciao ragazzi, oggi si torna a sperimentare
con il Raspberry Pi 3B+!
In particolare, visto che in passato me lo
avevate chiesto, ho voluto provare a trasformare
il piccolo single board computer in una sorta
di NAS o disco di rete economico, comodo da
avere in casa per backup di files e quant’altro,
senza la necessità di dover andare a scomodare
i sempre più diffusi servizi cloud…
I single board computer della fondazione inglese
possono essere plasmati in praticamente qualsiasi
cosa, ed è chiaramente possibile utilizzarli
anche per l’uso su cui ci stiamo concentrando oggi.
Ma ci sono alcune importantissime considerazioni
da fare e su cui è necessario soffermarsi
fin da subito.
Tanto per cominciare un NAS vero e proprio
è un dispositivo di rete che nasce con lo
scopo ben preciso di fare da storage di rete:
ha un software dedicato, ha sistemi avanzati
di backup per i files, cerca insomma in ogni
modo di rassicurare l’utente riguardo la
sicurezza relativa ai dati in esso presenti.
Dispositivi del genere possono essere molto
costosi e sicuramente sono da preferire in
tutte quelle situazioni, come a lavoro o quando
si ha a che fare con contenuti altamente rilevanti,
in cui possedere backup e copie su copie di
ogni tipo è d’obbligo.
Allo stesso modo, ci sono anche altre soluzioni
commerciali (dai semplici dischi di rete o
via Internet) che, essendo progettate proprio
per questo scopo, e questo scopo soltanto,
possono essere preferibili a soluzioni più
amatoriali o in qualche modo “arrangiate”.
Premesso ciò, quello che possiamo fare con
Raspberry Pi è avvicinarci molto a tali soluzioni,
tenendo però fermamente a mente che: 1) un
Raspberry Pi è un dispositivo lento, non
offre grandi prestazioni e può diventare
un grande collo di bottiglia se ci sono molti
utenti attivi che lo utilizzano in contemporanea
o se vengono trasferiti files pesanti, etc…
2) i Pi inferiori al modello 4B hanno una
gestione delle interfacce di rete a dir poco
creativa, limitata e che non può garantire
prestazioni equivalenti a quelle di prodotti
commerciali; e 3) in base alla tipologia di
hard disk che si collegherà al Pi, potranno
esserci limiti oppure meno garanzie rispetto
ad apparati dedicati.
Perfetto. Noi vogliamo continuare 
ugualmente, quindi che si fa?
Il sistema più semplice per creare un NAS
o un semplice disco di rete tramite Raspberry Pi
è sfruttare OpenMediaVault, abbreviato
in OMV.
OMV è fondamentalmente una interfaccia web
di amministrazione, in esecuzione su di una
distribuzione Linux derivata da Debian.
Tale interfaccia permette di gestire utenti,
dischi e tante altre features dedicate proprio
alla condivisione e backup dei files.
Tramite OMV, insomma, è possibile creare
e gestire con pochissimi passaggi un proprio
NAS o disco di rete casalingo, anche tramite
Raspberry Pi.
Che è proprio quello che vogliamo fare!
Nel mio specifico caso, io ho installato OMV
sul mio Raspberry Pi 3B+, ma chiaramente il
sistema funziona anche su modelli meno recenti
sempre tenendo in mente che, depotenziando
il single board computer, diminuiscono anche
le prestazioni… Per quanto riguarda Raspberry
Pi 3B+, inoltre, occorre fare un paio di precisazioni:
visto che con questo modello è stata implementata
la Gigabit LAN, il nostro single board computer
consuma ancora più corrente rispetto ai precedenti
modelli.
Tutto ciò si traduce in una nostra necessaria
attenzione maggiore rispetto a quale alimentatore
utilizzare: è assolutamente obbligatorio
sfruttare l’alimentatore originale o uno
perfettamente equivalente, cioè un alimentatore
che garantisca il sufficiente amperaggio per
il funzionamento del Pi 3B+.
In caso di sotto voltaggio, infatti, il sistema
risulterà altamente instabile, con il rischio
di perdite di dati!
Inoltre, sarebbe preferibile utilizzare hard
disk USB con alimentazione tramite caricatore
proprio e non via porta USB, così da alleviare
un po’ il carico sul Raspberry Pi.
In alternativa, in caso aveste solamente dischi
autoalimentati, assicuratevi ancor di più
di fornire la giusta potenza al Raspberry
Pi, altrimenti il sistema non funzionerà
correttamente.
OK. La prima cosa da fare è ovviamente scaricare
dal sito ufficiale del progetto (che trovate
linkato in descrizione) l’immagine per Raspberry
Pi, la quale andrà scritta su una microSD
da almeno 8 o 16 GB, tramite Etcher o altri
tool simili.
Una volta completata la scrittura ed inserita
la microSD nel Pi, collegate il single board
computer via Ethernet al vostro router e poi
all’alimentatore.
Il sistema non necessita di monitor, mouse
o tastiera: il Pi rimarrà in secondo piano,
e tutto ciò che faremo sarà eseguito da
remoto.
A questo punto sarà necessario attendere
che il sistema si auto-configuri: tale procedura
può durare anche più di 20 minuti a seconda
della velocità della microSD, della quantità
di aggiornamenti che vengono automaticamente
installati al primo avvio e quindi dalla velocità
della vostra rete.
È completamente automatica, quindi non c’è
alcuna operazione da fare da parte dell’utente
che dovrà semplicemente verificare dai LED
di stato del Pi quando esso sarà pronto all’uso.
Infatti, terminato il setup, il Pi sarà automaticamente
riavviato e diverrà accessibile.
Al primo avvio, però, sarà impossibile accedere
via SSH al Pi: l’unica cosa che si potrà
fare è sfruttare il browser web sul PC o
mobile per digitare l’indirizzo IP assegnato
al Raspberry Pi dal vostro router.
A tale indirizzo IP risponderà l’interfaccia
web di amministrazione di OMV, tramite una
maschera di login.
Le credenziali di default sono utente = admin
e password = openmediavault.
Una volta dentro, sarà possibile avere accesso
a tutte le configurazioni e funzionalità
fornite dal software.
Inutile dire che la prima operazione indispensabile
da fare sarà quella di cambiare, nell’apposita
sezione, la password di default ed eventualmente
abilitare l’accesso solo tramite HTTPS (previo
inserimento di un valido certificato SSL).
A questo punto, se si vuole accedere via SSH
al Raspberry Pi, si dovrà creare un nuovo
utente (operazione che in ogni caso va portata
a termine per poter accedere ai files sull’hard
disk), assegnandogli però anche i gruppi
ssh e sudo.
Questo utente così configurato potrà ora
essere utilizzato per accedere via SSH al
Pi, funzione comunque non indispensabile visto
che la maggior parte delle configurazioni
è direttamente e comodamente disponibile
dall’interfaccia di amministrazione.
Parlando dell’interfaccia, essa è ben organizzata
e suddivisa in macro sezioni.
In System è possibile configurare il timezone,
oppure l’hostname assegnato al Raspberry
Pi e varie altre impostazioni legate alla
rete; è possibile fare in modo che il sistema
invii delle notifiche ad un dato indirizzo
email ogni qual volta si verifichi un certo
evento; ci sono alcune funzionalità relative
al risparmio energetico, con tanto di processi
di controllo che è possibile schedulare;
non manca tutta la gestione di monitoraggio
e quella per i certificati di sicurezza; poi
è possibile persino creare dei comandi automatici
da eseguire in determinati momenti del giorno,
con tanto di invio dell’output via email;
ed infine non mancano la gestione degli aggiornamenti
di sistema, dei plugin e delle feature aggiuntive di OMV.
Per quanto riguarda gli aggiornamenti di sistema,
essi possono essere scaricati dalla rete oppure
semplicemente caricati tramite pacchetti (se
ad esempio non vogliamo che il nostro Raspberry
Pi acceda al web), ed è anche possibile abilitare
funzionalità ancora in beta o recuperare
fix dalla community.
Per quanto riguarda i plugin, invece, sì:
OMV è estendibile tramite piccoli add-on
che consentono di ampliare le funzionalità
di backup, gestione dei file system, monitoraggio,
e via discorrendo.
Ovviamente anche in questo caso è possibile
caricare manualmente le estensioni oltre che
prelevare ed abilitare quelle già presenti
sui repository.
Discorso simile vale per gli extra, che possono
essere rapidamente abilitati o disabilitati.
La sezione storage è quella che a noi ovviamente
interessa di più: qui sarà possibile gestire
tutti i dischi connessi al Pi; impostare i
cosiddetti S.M.A.R.T. tests per tenere sotto
controllo le memorie e le relative temperature,
nonché eventualmente eseguire controlli aggiuntivi;
dopodiché c’è tutta la gestione dei RAID
e cioè di quelle tecniche di installazione
raggruppata di più dischi rigidi cosicché
gli stessi appaiano e siano utilizzabili come
se fossero un unico volume di memorizzazione,
ma in realtà mantengono più copie dei files,
aumentano le prestazioni e permettono accessi
simultanei.
Ovviamente è possibile gestire anche i file
system direttamente da qui (montando, smontando,
formattando, creando, e via discorrendo tutto
ciò che può servire); ed infine non manca
qualche dettaglio sulla memoria flash e sulle
regole dell’fstab.
Altra sezione importante e che abbiamo velocemente
già intravisto è quella per la gestione
degli accessi.
In utenti è possibile gestire gli utenti
appunto, in group ci sono i gruppi, mentre
sulle cartelle condivise ci torneremo tra
poco.
I servizi sono fondamentalmente le metodologie
supportate per l’accesso ai files immagazzinati
sugli hard disks connessi al Pi.
C’è il supporto per Apple Filling, non
manca chiaramente l’accesso FTP con tutte
le opzioni del caso, c’è il protocollo
NFS, la possibilità di sfruttare rsync per
la sincronizzazione di files e cartelle, ed
infine non mancano i comunissimi protocolli
SMB/CIFS e l’accesso SSH.
Avrete sicuramente notato come ognuno di questi
protocolli abbia un TAB dedicato alla condivisione:
beh, ci torneremo tra poco!
Le ultime due aree sono quella dedicata allo
stato del sistema e quella per le informazioni
generali.
Da qui è possibile avere un’idea generale
di cosa stia succedendo sul nostro single
board computer, con tutti i LOG e le metriche,
le info e quant’altro in tempo reale.
Il menu presente a lato consente di cambiare
rapidamente la lingua in uso, resettare l’interfaccia,
e presenta le opzioni per sloggarsi o persino
riavviare o spegnere il Raspberry Pi.
Perfetto: questa era una panoramica generale
su OMV e sulle sue funzioni principali.
A questo punto siamo pronti a collegare il
nostro hard disk al Raspberry Pi per trasformarlo
in un NAS casalingo o disco di rete.
Una volta collegato, tornando nella sezione
dischi, il sistema dovrebbe aver già rilevato
la presenza di una nuova periferica.
Nel mio caso si tratta di un hard disk da
500 GB, e da questa sezione è anche possibile
configurare qualche opzione aggiuntiva che
al momento però non ci interessa.
Inoltre, volendo è qui che è possibile cancellare
completamente il contenuto del disco.
Diciamo che al momento abbiamo un solo disco
e che in generale non ci interessi creare
un RAID, quindi possiamo passare direttamente
alla gestione del file system.
Se necessario, è possibile formattare il
disco affinché sia possibile utilizzarlo
per memorizzare sopra i files.
Nel mio caso non ho eseguito e non eseguirò
tale operazione, ma il mio consiglio è di
farlo così da avere una base di partenza
completamente pulita.
Durante la formattazione è possibile scegliere
la tipologia di file system da utilizzare
(es. NTFS, FAT o EXT, etc).
In ogni caso, una volta pronta la partizione,
sarà necessario salvare il tutto e premere
il bottone mount cosicché il sistema possa
attivarla e renderla disponibile all’utilizzo.
È perfino possibile configurare delle quote
massime per utente oltre le quali egli non
è più autorizzato a scrivere dati.
Ora abbiamo un hard disk connesso al Pi, formattato
e pronto all’uso: sarà necessario creare
una o più cartelle al suo interno in cui
consentire agli utenti di memorizzare i propri files.
E per far ciò occorre recarsi in Shared Folders
e creare una o più cartelle condivise.
Tali cartelle andranno create a partire dall’hard
disk di interesse, ed ogni cartella avrà
un nome ed un path di destinazione (il quale,
se non esiste, sarà automaticamente creato).
È fondamentale indicare chi avrà la possibilità
di utilizzare ogni cartella condivisa: se
solo gli amministratori, se qualsiasi utente,
e chi potrà leggere o scrivere files… Vanno
infine salvate le modifiche apportate affinché
il sistema si occupi di configurare l’occorrente per noi.
Abbiamo una o più cartelle condivise, dobbiamo
istruire il sistema affinché ne consenta
l’accesso tramite uno o più protocolli.
Ad esempio, potremmo decidere che in una delle
nostre cartelle condivise vi ci si possa entrare
tramite il protocollo SMB/CIFS, che è tra
i più comuni nei mondi Windows, Linux o Mac
per accedere ai dischi di rete.
Sarà sufficiente recarsi nell’apposito
servizio SMB, abilitarlo se non lo è già,
ed aprire il TAB Shares che vi avevo fatto
notare in precedenza.
Qui va aggiunta la cartella condivisa creata
poc’anzi.
A questo punto possiamo decidere se sia necessario
o meno che chi voglia accedere ad essa debba
autenticarsi oppure no, più tutta una serie
di opzioni relative allo specifico protocollo
che possiamo lasciare così come sono configurate.
Salviamo le modifiche ed il gioco è fatto!
Abbiamo un hard disk collegato al nostro Raspberry
Pi 3B+ con all’interno una cartella condivisa
in cui, in teoria, sarà possibile memorizzare
files di qualsivoglia natura direttamente
da qualsiasi computer in grado di raggiungere
l’indirizzo IP del Raspberry Pi tramite
il protocollo SMB.
Ovviamente andiamo a verificare se è vero!
Su Linux è facilissimo accedere ai dischi
di rete tramite il protocollo SMB: direttamente
dal file manager basta connettersi al server
smb://indirizzo-ip-assegnato-al-pi, et voilà,
viene richiesta l’autenticazione con l’utente
indicato sull’interfaccia di amministrazione
di OMV abilitato all’accesso (oppure con
un generico utente anonimo se è impostato
l’accesso libero).
Anche su Windows e Mac è molto semplice accedere
a dischi di rete tramite protocollo SMB, anzi
è probabile che tali dischi vengano anche
automaticamente collegati dal sistema nelle
apposite sezioni relative ai gruppi di rete…
In ogni caso, una volta acceduti al server,
si potrà entrare nella cartella condivisa
ed utilizzarla come repository di rete.
Per test, possiamo creare un file di testo
con delle informazioni casuali all’interno,
e salvarlo direttamente all’interno della
cartella condivisa sul disco di rete.
Ad operazione completata, troveremo il nostro
file pronto all’uso!
Ovviamente sarà possibile utilizzare tale
cartella come una qualsiasi altra cartella
del nostro PC, quindi potremo trascinare dentro
i files, effettuare operazioni di copia e
incolla o qualsiasi altra azione siamo abituati
a fare con i files sul nostro PC.
Bene, abbiamo visto come grazie ad OMV sia
davvero banale creare un NAS casalingo o semplice
disco di rete via Raspberry Pi.
Ovviamente il sistema consente di fare molto
altro, dai backup alla gestione avanzata di
utenti e permessi.
C’è tutta la questione RAID e le altre
funzionalità add-on ed extra accennate ad
inizio video.
Quello che è importante sottolineare, però,
è che stiamo sempre parlando di una soluzione
non commerciale, strettamente legata alle
modeste risorse che il piccolo single board
computer pone in campo, ed ovviamente il tutto
è fortemente dipendente dalle caratteristiche
degli hard disk che si vanno ad utilizzare.
È possibile esporre il nostro Raspberry Pi
su Internet e quindi rendere possibile l’accesso
ai nostri file anche da remoto: attenzione
però a gestire correttamente utenti, autorizzazioni
e quant’altro!
Soprattutto, in tal caso, vi consiglio di
disabilitare l’SSH e rendere l’accesso
all’interfaccia di amministrazione tramite
porta non standard, nonché dietro HTTPS.
Voi che ne pensate di questo sistema?
Potrebbe fare al caso vostro, magari per avere
backup locali di files senza dover necessariamente
insistere su soluzioni cloud?
Oppure utilizzate già OMV, e se sì, come
vi trovate?
Insomma vi aspetto nei commenti perché sono
curioso di sapere la vostra.
Io spero che il video vi sia piaciuto e tornato
utile, e mi fermo qui.
Ci sentiamo presto, ciao!
