Trasforma il tuo Raspberry Pi in una scatola NAS

Trasforma il tuo Raspberry Pi in una scatola NAS / Fai da te

Avete un paio di hard disk esterni in giro e un Raspberry Pi? Esegui un dispositivo di archiviazione collegato in rete economico ea basso consumo. Mentre il risultato finale non sarà certamente impressionante come un dispositivo NAS da 500 $ come Synology DiskStation Synology DiskStation DS413j NAS Review e Giveaway Synology DiskStation DS413j NAS Review e Giveaway Per chiamare la Synology DiskStation DS413j un dispositivo NAS (Network Attached Storage) è un understatement degradante - ma sì, serve i file sulla rete. Dire che ha funzionalità RAID è anche un po 'ingiusto ... Leggi di più, ti darà un po' di memoria di rete a basso potenziale - particolarmente utile se ti stai stancando di avere tutti i tuoi dati filtrati dagli sguardi indiscreti della NSA - puoi nasconderlo in soffitta.

Avrai bisogno di un Raspberry Pi The Top 5 Amazing Uses per il tuo computer Raspberry Pi I 5 migliori usi per il tuo computer Raspberry Pi Recentemente ho ricevuto il mio Raspberry Pi dopo una lunga attesa - e ho un bel po 'di programmi per esso. Il problema è che non sono completamente sicuro di quale progetto voglio provare prima. Mentre ... Leggi altro, ovviamente, e una o due unità di riserva. Le unità più piccole da 2,5 "possono essere alimentate direttamente tramite USB, ma avremo bisogno di un hub alimentato poiché l'alimentazione fornita dalle porte USB del RPi non è sufficiente per loro. In alternativa, è possibile utilizzare una chiavetta USB o anche una SD In effetti, oggi ho usato un mix di un hard disk USB e una thumbdrive, ma la procedura è identica.

Con una sola unità, puoi ancora creare un'area di archiviazione di rete condivisa, ma con due sarai in grado di impostare la ridondanza dei dati nel caso in cui uno fallisca.

Prepara le tue unità

Inizia formattando le tue unità come NTFS da un desktop. Questo è per comodità, in modo che se qualcosa va storto saremo in grado di disconnetterli dal NAS e comunque leggere i dati da qualsiasi PC.

Noi poteva formattali dal Raspberry Pi, ma ci vorranno alcune ore ed è molto più rapido da eseguire da un desktop. Fallo adesso.

Per configurare SSH e abilitare l'utente root, creare prima una password per l'utente root:

sudo -i
passwd root

(digita la tua password)

Quindi eseguire il Raspi-config script dalla riga di comando, usando sudo o disconnettendosi e nuovamente come root. A partire dal menu delle opzioni avanzate, abilitare SSH.

Dopo il riavvio, dovresti essere in grado di accedere da un'altra macchina in rete usando (usa Putty se sei su Windows)

SSH root @ [indirizzo IP]

Una volta effettuato l'accesso, individua quali dispositivi sono le tue unità aggiuntive. Suppongo che ne userai due per la ridondanza dei dati. genere

fdisk -l

per elencare i dispositivi di archiviazione collegati. Dovresti vedere qualcosa di simile.

il /dev / mmc partizioni sei il sistema operativo Pi, mmc riferendosi al scheda SD. Confusamente, il / Dev / sda1 e / Dev / sdb1 in realtà non hanno nulla a che fare con la scheda SD, e quelle sono in realtà le unità USB collegate. (Originariamente, “Dispositivo SCSI”, ma ora significa qualsiasi SATA o dispositivo di archiviazione collegato)

Installare ntfs-3g per Linux in modo da poter accedere alle unità Windows formattate NTFS.

apt-get install ntfs-3g

Quindi, creare le directory da utilizzare come punti di montaggio, quindi montare le unità. Mi sto mantenendo semplice qui e mi riferisco a loro come 1 e 2.

mkdir / media / 1 mkdir / media / 2 mount -t auto / dev / sda1 / media / 1 mount -t auto / dev / sdb1 / media / 2 mkdir / media / 1 / condivide mkdir / media / 2 / condivisioni

Samba

Successivamente, configureremo Samba. Samba è il protocollo di condivisione di rete utilizzato da Windows (e il più recente Maverick OSX, infatti).

apt-get install samba apt-get install samba-common-bin cp /etc/samba/smb.conf /etc/samba/smb.conf.bak nano /etc/samba/smb.conf

Se non si ha familiarità con questo tipo di file di configurazione, a # all'inizio della riga significa che è commentato, e quindi non attualmente impostato o configurato. Per abilitare qualcosa, puoi aggiungere una nuova riga o non commentare una linea esistente per renderla attiva.

Inizieremo abilitando la sicurezza dell'utente; stampa CTRL-W e scrivi “sicurezza” per trovare la sezione pertinente. Rimuovi il simbolo # dalla riga che dice

sicurezza = utente

Infine, scorrere verso il basso (o tenere premuto) CTRL V fino a raggiungere lì) e aggiungere tutte le condivisioni di rete che vuoi. Usa il seguente formato:

[test] comment = Test condividi percorso = / media / 1 / condivide utenti validi = @users force group = utenti crea maschera = 0660 directory mask = 0771 sola lettura = no

Tuttavia, fare riferimento solo alla prima unità montata. In seguito la sincronizzazione verrà eseguita con la seconda condivisione per garantire la ridondanza.

Una volta che hai finito, colpisci CTRL X e poi y salvare.

Quindi riavvia Samba con il seguente comando.

riavvio del servizio samba

Ora aggiungi un nuovo utente al tuo Pi, assumendo che tu non voglia lo stesso login (sostituto “jamie” per il tuo utente)

useradd jamie -m -G utenti

Dopo aver digitato il seguente comando, ti verrà richiesto di inserire una password per il tuo utente e confermarla.

passwd jamie

Quindi possiamo andare avanti e aggiungere questo utente di sistema a Samba. Dovrai confermare nuovamente la password, due volte.

smbpasswd -a jamie

Andare avanti e testare la condivisione di rete ora - dovrebbe essere visibile dalle altre macchine (Windows o Mac), e dovresti essere in grado di scrivere file in esso.

L'unico problema a questo punto è che le unità verranno smontate quando riavvierai il Pi. Per risolvere questo problema, installa autofs.

apt-get install autofs nano /etc/auto.master

Aggiungi la seguente riga sotto + auto.master

/ media / /etc/auto.ext-usb --timeout = 10, defaults, user, exec, uid = 1000

Ora dovresti essere in grado di riavviare in sicurezza senza rompere tutto

Ridondanza dei dati

Supponendo che hai installato due unità, ora possiamo impostare uno script automatico per sincronizzare i dati dalla prima unità al 2 °, offrendoci così un backup nel caso in cui uno fallisca. Useremo l'utility rsync per questo.

apt-get install rsync crontab -e

Il crontab in linux è un modo di automatizzare i compiti; Ho parlato brevemente di prima quando mostrarti come automatizzare i backup del sito Automatizza il tuo Backup di Wordpress con Simple Shell Scripting e CRON Automatizza il tuo Backup di Wordpress con Simple Shell Scripting e CRON L'ultima volta che abbiamo parlato dei backup di Wordpress, ti ho mostrato quanto fosse incredibilmente facile effettua il backup dell'intero database e dei file tramite SSH con solo pochi comandi. Questa volta, mostrerò ... Per saperne di più. Aggiungi la seguente riga:

30 5 * * * rsync -av --delete / media / 1 / condivisioni / media / 2 / condivisioni /

Lo schema di numerazione è usato in questo modo:

minuto | ora | giorno del mese | mese | giorno della settimana

Quindi, nella nostra riga appena aggiunta, verrà eseguito il comando rsync 5:30 , ogni giorno (il * significato di jolly “ogni”, così “ogni giorno di ogni mese”)

Se vuoi andare avanti ed eseguire immediatamente il backup, incolla il comando rsync in questo modo

rsync -av --delete / media / 1 / condivisioni / media / 2 / condivisioni /

A seconda di ciò che hai inserito nella cartella condivisa, potrebbero essere necessari alcuni secondi o più per fornirti un rapporto. Il bello di rsync è che sa quali file vengono aggiornati, aggiunti o dovrebbero essere cancellati. Vai avanti e riprova lo stesso comando. Dovrebbe finire immediatamente, perché sa che nulla è cambiato.

È tutto finito: ora hai il tuo NAS veloce e sporco. Sì, potrebbe non avere tutte le caratteristiche appariscenti di un vero NAS, ma ottiene il lavoro ben fatto e per molto meno consumo energetico.

Stai avendo problemi? Fateci sapere nei commenti e vedrò cosa posso fare, ma assicuratevi di eseguire l'ultima immagine Raspian.