Perché voglio farlo?
Il vantaggio di avere un dispositivo di archiviazione di rete sempre attivo è che è estremamente comodo avere i dati (o la destinazione di backup) sempre accessibili ai computer sia all'interno che all'esterno della rete. Il rovescio della medaglia, nella maggior parte dei casi, è che stai consumando una discreta quantità di energia per la comodità.
Il nostro server per ufficio, ad esempio, funziona 24 ore su 24 e consuma quasi 200 $ di energia all'anno. Un dispositivo di archiviazione di rete basato su Raspberry Pi d'altra parte, consuma circa $ 5 di energia all'anno.
Saremo i primi a garantirti che un server completo avrà più spazio di archiviazione e la capacità di fare più lavoro (come la transcodifica di una raccolta di video multi-terabyte in un arco di tempo ragionevole). Per la maggior parte delle persone, tuttavia, lo scopo principale di avere un computer sempre attivo da qualche parte nella casa è quello di fungere da file server e repository di backup di file. Per tali compiti il Raspberry Pi è più che abbastanza potente e ti farà risparmiare una parte del cambiamento nell'uso dell'energia.
Di cosa ho bisogno?
Oltre all'equipaggiamento che ti servirà dal tutorial Guida introduttiva a Raspberry Pi, potrai utilizzare solo il seguente hardware:
Uno (almeno) disco rigido esterno USB per semplici backup di rete e file serving
o
Due (almeno) dischi rigidi esterni USB per la ridondanza dei dati locale
Questo è tutto! Se desideri semplicemente una semplice unità collegata in rete, avrai solo bisogno di un disco rigido. Si consiglia vivamente di utilizzare almeno due dischi rigidi per consentire la ridondanza dei dati locale (a Raspberry Pi). Ai fini di questo tutorial utilizziamo una coppia corrispondente di unità disco esterne portatili esterne Seagate Backup Plus da 1 TB. Sono super piccoli, non richiedono una fonte di alimentazione esterna ed erano in vendita quando stavamo acquistando le parti.
Puoi utilizzare qualsiasi hard disk esterno che hai a portata di mano, ma è l'ideale per utilizzare piccole unità a basso consumo, se possibile, dal momento che l'intero tema del progetto è quello di creare un NAS a bassa potenza che puoi semplicemente togliere e dimenticare.
Prima di continuare, ci sono un paio di scelte progettuali che abbiamo fatto in termini di come stiamo configurando il nostro Raspberry Pi NAS di cui dovresti essere a conoscenza. Mentre la maggior parte degli utenti vorranno seguire esattamente come abbiamo fatto, potresti voler modificare specifici passaggi per adattarli meglio alle tue esigenze e al modo in cui utilizzi i computer sulla tua rete.
Per prima cosa, utilizziamo dischi rigidi con formattazione NTFS. Se il Raspberry Pi NAS dovesse fallire per qualche motivo o Vogliamo copiare rapidamente le informazioni su una connessione USB 3.0 invece che tramite la rete, con dischi formattati NTFS rende semplicissimo prendere le unità USB portatili che stiamo utilizzando nella build NAS e collegarle direttamente in una delle tante finestre macchine che usiamo ogni giorno.
Secondo, stiamo usando Samba per le nostre condivisioni di rete, ancora una volta per la comodità di creare mesh sul NAS Raspberry Pi con la nostra rete prevalentemente Windows.
Preparazione e montaggio dei dischi rigidi esterni
Il primo ordine del lavoro è quello di collegare i dischi rigidi al Raspberry Pi (o l'hub USB collegato a seconda della configurazione e se i dischi rigidi sono autoalimentati o alimentati esternamente). Una volta che i dischi rigidi sono collegati e il Pi è acceso, è ora di lavorare.
Nota: Stiamo usando due dischi rigidi. Se si è deciso di utilizzare solo un disco rigido, ignorare tutti i comandi in questa sezione destinati a montare / modificare o in altro modo interagire con il secondo disco rigido.
Faremo tutto il nostro lavoro all'interno del terminale. In questo modo puoi lavorare direttamente sul tuo Raspberry Pi usando LXTerminal in Raspian o puoi usare SSH nel tuo Raspberry Pi usando uno strumento come Putty. Va bene comunque.
Una volta che sei alla riga di comando, la prima cosa che devi fare è aggiungere il supporto a Rasbian per i dischi formattati NTFS. Per fare ciò digita il seguente comando:
sudo apt-get install ntfs-3g
Ci vorranno un minuto o due per i pacchetti da scaricare, decomprimere e installare. Una volta installato il pacchetto NTFS è tempo di cercare le partizioni non montate dei dischi rigidi esterni collegati.
sudo fdisk -l
Come minimo dovresti vedere due dischi, se hai aggiunto un disco secondario per il mirroring dei dati (come abbiamo) dovresti vederne tre in questo modo:
/dev/mmcb1k0
è la scheda SD all'interno del Raspberry Pi che ospita la nostra installazione di Raspbian. Lo lasceremo completamente solo.
Il secondo disco,
/dev/sda
è il nostro primo disco rigido esterno da 1TB. Il terzo disco,
/dev/sdb
è il nostro secondo disco rigido esterno da 1TB. Le partizioni reali che ci interessano su questi due dischi sono
/sda1/
e
/sdb1/
rispettivamente. Prendere nota dei nomi dei dischi rigidi.
Prima di poter montare le unità, è necessario creare una directory in cui montare le unità. Per semplicità, creeremo semplicemente una directory chiamata USBHDD1 e USBHDD2 per ogni unità. Per prima cosa dobbiamo fare le unità. Alla riga di comando, inserisci i seguenti comandi:
sudo mkdir /media/USBHDD1
sudo mkdir / media / USBHDD2
Dopo aver creato le due directory, è il momento di montare le unità esterne in ogni posizione. Di nuovo alla riga di comando, inserisci i seguenti comandi:
sudo mount -t auto /dev/sda1 /media/USBHDD1
sudo mount -t auto / dev / sdb1 / media / USBHDD2
A questo punto abbiamo i due hard disk esterni montati rispettivamente sulle directory USBHDD1 e USBHDD2. È giunto il momento di aggiungere una directory specifica a entrambe le unità per contenere le nostre cartelle condivise (al fine di mantenere le cose in ordine e compartimentare il nostro lavoro sulle unità). Inserisci i seguenti comandi:
sudo mkdir /media/USBHDD1/shares
sudo mkdir / media / USBHDD2 / condivisioni
Ora è il momento di installare Samba in modo da poter accedere allo storage da qualsiasi altro punto della rete. Alla riga di comando, inserisci:
sudo apt-get install samba samba-common-bin
Quando viene richiesto di continuare, digitare Y e immettere. Siediti e rilassati mentre tutto si scompatta e si installa. Una volta che il pacchetto Samba termina l'installazione, è tempo di fare una piccola configurazione. Prima di fare qualsiasi altra cosa, facciamo una copia di backup del file di configurazione di Samba nel caso in cui avessimo bisogno di ripristinarlo. Alla riga di comando, digitare la seguente riga di comando:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Questo semplicemente crea un backup del file di configurazione con il nome del file smb.conf.old e lo lascia nella stessa directory del file di configurazione originale.
Una volta creato il backup, è tempo di apportare alcune modifiche di base nel file di configurazione di Samba. Digitare il seguente alla riga di comando:
sudo nano /etc/samba/smb.conf
Questo aprirà l'editor di testo nano e ci permetterà di apportare alcune semplici modifiche. Se è la prima volta che usi Nano, ti consigliamo vivamente di dare un'occhiata a The Beginner's Guide to Nano, l'editor di testo della riga di comando di Linux. Dovresti vedere qualcosa del genere nella tua finestra di terminale:
Il primo è l'identificatore del gruppo di lavoro, per impostazione predefinita workgroup = WORKGROUP. Se stai usando un nome diverso per il tuo gruppo di lavoro a casa, vai avanti e freccia su per cambiarlo ora, altrimenti lascialo come predefinito.
La nostra prossima tappa è quella di attivare l'autenticazione utente per il nostro storage samba, altrimenti chiunque avrà accesso generale alla nostra rete (come gli utenti Wi-Fi degli ospiti) sarà in grado di camminare direttamente. Scorri verso il basso nel file di configurazione Samba finché non arrivi al sezione che legge:
Successivamente, aggiungeremo una sezione completamente nuova al file di configurazione. Scorri fino in fondo al file e inserisci il seguente testo:
[Backup] comment = Backup Folder path = /media/USBHDD1/shares valid users = @users force group = users create mask = 0660 directory mask = 0771 read only = no
Nota: Qualunque cosa tu inserisca tra parentesi nella riga superiore sarà il nome della cartella così come appare nella condivisione di rete. Se vuoi un altro nome diverso da "Backup" ora è il momento di modificarlo.
Premere CTRL + X per uscire, premere Y quando viene chiesto se si desidera mantenere le modifiche e sovrascrivere il file di configurazione esistente. Quando si torna al prompt dei comandi, immettere il seguente comando per riavviare i daemon Samba:
sudo /etc/init.d/samba restart
A questo punto dobbiamo aggiungere un utente che possa accedere alle condivisioni di samba di Pi. Creeremo un account con i backup del nome utente e i backup della password4ever. Puoi rendere il tuo nome utente e password qualunque cosa desideri. Per fare ciò digita i seguenti comandi:
sudo useradd backups -m -G users
sudo backup passwd
Ti verrà richiesto di digitare la password due volte per confermare. Dopo aver confermato la password, è ora di aggiungere "backup" come utente legittimo di Samba. Inserisci il seguente comando:
sudo smbpasswd -a backups
Immettere la password per l'account di backup quando richiesto. Dopo aver creato l'account utente e la password, non è necessario riavviare nuovamente il daemon Samba poiché è già stato indicato che è in attesa di utenti autenticati. Ora possiamo salire su qualsiasi macchina con capacità Samba sulla nostra rete e testare la connettività alla condivisione di rete.
Da un computer Windows vicino abbiamo aperto il file explorer di Windows, fatto clic su Rete, confermato che il nome host RASPBERRYPI era nel gruppo di lavoro WORKGROUPS e fatto clic sulla cartella condivisa Backup:
Una volta accettate le credenziali, verrai reindirizzato a una cartella vuota poiché non c'è ancora nulla nella condivisione. Per verificare che tutto funzioni correttamente, creiamo un semplice file dal computer con cui abbiamo verificato la connessione (nel nostro caso, il desktop di Windows 7). Crea un file txt in questo modo:
cd /media/USBHDD1/shares
ls
Prima di lasciare questa sezione del tutorial, abbiamo solo un'altra cosa da fare. Dobbiamo configurare il nostro Pi in modo tale che al suo riavvio esso monterà automaticamente i dischi rigidi esterni. Per fare ciò abbiamo bisogno di accendere l'editor nano e fare una rapida modifica. Al tipo di riga di comando:
sudo nano /etc/fstab
Questo aprirà la tabella dei file system in nano in modo che possiamo aggiungere alcune voci veloci.All'interno dell'editor nano aggiungere le seguenti righe:
/dev/sda1 /media/USBHDD1 auto noatime 0 0
/ dev / sda2 / media / USBHDD2 auto noatime 0 0
Premi CTRL + X per uscire, premi Y per salvare e sovrascrivi il file esistente.
Se stai utilizzando un solo disco rigido per una semplice condivisione di rete senza ridondanza, allora è tutto! Hai finito con il processo di configurazione e puoi iniziare a goderti il NAS a bassissimo consumo.
Configurazione del NAS Raspberry Pi per la ridondanza dei dati semplice
In questa sezione del tutorial useremo due semplici ma potenti strumenti Linux, rsync e cron, per configurare il nostro Raspberry Pi NAS per eseguire un mirror dei dati notturni dalla cartella / condivisioni / sull'unità principale alle / condivisioni / cartella sul disco secondario. Questo non sarà un mirror dei dati in tempo reale simile a RAID, ma un backup dei dati giornaliero (o semi-quotidiano) sull'unità secondaria è un ottimo modo per aggiungere un altro livello di sicurezza dei dati.
Per prima cosa, dobbiamo aggiungere rsync alla nostra installazione Rasbian. Se questa è la prima volta che usi rsync e desideri avere una visione migliore del comando, ti consigliamo di provare Come usare rsync per eseguire il backup dei tuoi dati su Linux.
Alla riga di comando, inserisci il seguente comando:
sudo apt-get install rsync
Una volta installato rsync, è ora di impostare un cron job per automatizzare il processo di copia dei file da USBHDD1 a USBHDD2. Alla riga di comando, inserisci il seguente comando:
crontab -e
Il comando aprirà la tabella di pianificazione cron nell'editor di testo nano che dovrebbe essere alquanto familiare a questo punto del tutorial. Vai avanti e scorri fino alla fine del documento e inserisci la seguente riga:
0 5 * * * rsync -av --delete /media/USBHDD1/shares /media/USBHDD2/shares/
Questo comando specifica che ogni giorno alle 5:00 AM (la parte 0 5), ogni singolo giorno (* * *, caratteri jolly nell'anno, mese, giorno), vogliamo che rsync confronti le due directory, copiando tutto da HDD1 a HDD2 e cancellazione di qualsiasi cosa nella directory di backup che non corrisponde più a qualcosa nella directory principale, ad es se abbiamo un file film su HDD1 che cancelliamo, vogliamo anche che quel file venga rimosso dal backup alla successiva sincronizzazione.
La parte importante della configurazione di questo comando è la selezione di un orario che non interferisca con altre attività di rete sulle cartelle condivise programmate. Ad esempio, se si utilizza il Raspberry Pi NAS come destinazione di backup per una sorta di software automatico che copia i file sul NAS alle 5:00 ogni mattina, è necessario regolare il tempo di backup nel software di backup o è necessario per regolare il tempo per il processo cron sul Pi, ma non è possibile avere entrambi i dati di dumping del backup remoto sulla condivisione di rete e il Raspberry Pi tenta di sincronizzare i dati tra le unità locali contemporaneamente.
Dopo aver inserito la voce crontab, fai clic su CTRL + X per uscire e salvare il file. Se desideri eseguire immediatamente rsync per ottenere il mirror dei dati più velocemente e rendere il lavoro cron iniziale un po 'più leggero sul sistema, vai avanti e inserisci lo stesso comando rsync che hai inserito in crontab alla riga di comando in questo modo:
rsync -av --delete /media/USBHDD1/shares /media/USBHDD2/shares/
Questo è tutto! Tutto quello che devi fare a questo punto è il check-in sul tuo Raspberry Pi nei prossimi giorni o due per assicurarsi che il lavoro pianificato stia sparando come previsto e i dati da
/USBHDD1/shares/
sta comparendo in
/USBHDD2/shares/
Da questo momento in avanti tutto ciò che metti nel tuo NAS con Raspberry Pi sarà replicato quotidianamente su entrambi i dischi rigidi.
Prima di abbandonare completamente l'argomento, ecco alcuni articoli How-To Geek aggiuntivi che potresti voler controllare per aggiungere più punch al tuo nuovo NAS con Raspberry Pi:
- Come eseguire il backup del tuo account Gmail usando il tuo PC Ubuntu: sebbene le istruzioni siano per Ubuntu, puoi facilmente modificarle per Rasbian per trasformare il tuo NAS Pi in un sistema automatico di backup della posta elettronica.
- Quali file dovresti eseguire il backup sul tuo PC Windows? -Se non sei sicuro di quali file dovresti eseguire il backup sul NAS, questo è un buon punto di partenza.
- Come eseguire il backup remoto dei dati gratuitamente con CrashPlan-CrashPlan è un'applicazione di backup gratuita disponibile per macchine Windows, Mac e Linux che semplifica la pianificazione di backup regolari su un NAS.
Hai un progetto Raspberry Pi che ti piacerebbe vederci intraprendere? Grandi o piccoli, amiamo giocare con il Pi-sound nei commenti con le tue idee.