Vänd din Raspberry Pi till en NAS-låda

Vänd din Raspberry Pi till en NAS-låda / DIY

Har du ett par externa hårddiskar som ligger och en Raspberry Pi? Gör en billig, lågdriven nätverksansluten lagringsenhet av dem. Medan slutresultatet säkert inte kommer att bli lika imponerande som en $ 500 NAS-enhet som Synology DiskStation Synology DiskStation DS413j NAS Review och Giveaway Synology DiskStation DS413j NAS Review och Giveaway För att ringa till Synology DiskStation DS413j är en NAS-enhet (Network Attached Storage) en nedslående underdrift - men ja det serverar filer över nätverket. För att säga att det har RAID-funktionalitet är också något orättvist ... Läs mer, det ger dig en kraftfull bit av nätverkslagring - speciellt användbart om du blir trött på att ha alla dina data riflade genom NSAs nyfiken ögon - du kan dölja detta på vinden.

Du behöver en Raspberry Pi De 5 bästa användningarna för din Raspberry Pi-dator De 5 bästa användningarna för din Raspberry Pi-dator Jag har nyligen fått min Raspberry Pi efter en lång väntan - och jag har några planer för Det. Problemet är, jag är inte helt säker på vilket projekt jag vill försöka först. Medan ... Läs mer, förstås, och en eller två reservdrivningar. Mindre 2,5-tums-enheter kan köras direkt via USB, men vi behöver en driven nav, eftersom strömmen som tillhandahålls över RPi: s USB-portar inte bara räcker för dem. Alternativt kan du använda en USB-tumdriven eller till och med ett SD kort. Jag har faktiskt använt en blandning av en USB-hårddisk och en tumdriven idag, men proceduren är identisk.

Med bara en enhet kan du fortfarande skapa ett gemensamt nätverkslagringsområde, men med två kan du konfigurera data redundans om en misslyckas.

Förbered dina enheter

Börja med att formatera dina enheter som NTFS från ett skrivbord. Detta är till enkelhet, så att om något går fel kan vi koppla bort dem från NAS och fortfarande läsa data från vilken dator som helst.

Vi skulle kunna Formatera dem från Raspberry Pi, men det tar några timmar och är mycket snabbare att utföra från ett skrivbord. Gör det nu.

För att konfigurera SSH och aktivera root-användaren, skapa först ett lösenord för root-användare:

sudo -i
passwd root

(skriv ditt lösenord)

Kör sedan Raspi-config skript från kommandoraden, antingen genom att använda sudo eller ha loggat ut och in igen som root. Från avancerad alternativmeny, Gör det möjligt SSH.

Efter omstart bör du kunna logga in från en annan nätverksmaskin med (använd Putty om du är på Windows)

SSH root @ [IP-adress]

När du är inloggad, ta reda på vilka enheter som är dina ytterligare enheter. Jag antar att du kommer att använda två för data redundans. Typ

fdisk -l

för att lista de bifogade lagringsenheterna. Du borde se något så här.

den /dev / mmc partitioner är du Pi operativsystem, mmc hänvisar till SD-kort. Förvirrande, den / Dev / sda1 och / Dev / sdb1 är egentligen inget att göra med SD-kortet, och det är faktiskt dina bifogade USB-enheter. (Ursprungligen, “SCSI-enhet”, men betyder nu alla anslutna SATA- eller lagringsenheter)

Installera ntfs-3g för Linux så vi kan komma åt NTFS formaterade Windows-enheter.

apt-get install ntfs-3g

Skapa sedan kataloger som ska användas som monteringspunkter, montera sedan enheterna. Jag håller det enkelt här och hänvisar till dem som 1 och 2.

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

Samba

Därefter sätter vi upp Samba. Samba är nätverksdelning protokollet som används av Windows (och de nyaste OSX Mavericks, faktiskt).

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

Om du inte är bekant med dessa typ av config-filer, a # i början av linjen betyder att den kommenteras och därför inte för närvarande inställd eller konfigurerad. För att aktivera något kan du antingen lägga till en ny rad eller avmarkera en befintlig rad för att göra den aktiv.

Vi börjar med att möjliggöra användarsäkerhet. Tryck CTRL-W och typ “säkerhet” för att hitta den relevanta sektionen. Ta bort # -symbolen från raden som säger

säkerhet = användare

Slutligen rulla ner till botten (eller håll kvar CTRL V tills du når dit) och lägg till så många nätverksaktier som du vill. Använd följande format:

[test] comment = Test share path = / media / 1 / shares giltiga användare = @users force group = användare skapa mask = 0660 katalog mask = 0771 read only = nej

Hänvisa bara till den första monterade enheten, men vi kommer att synkronisera det senare med den andra delen för att ge redundans.

När du är klar, träffa CTRL X och då y att spara.

Starta om Samba med följande kommando.

service samba omstart

Lägg nu till en ny användare till din Pi, förutsatt att du inte vill ha samma inloggning (ersättare “jamie” för din egen användare)

useradd jamie -m -G användare

Efter att du har skrivit in följande kommando blir du uppmanad att ange ett lösenord för din användare och bekräfta det.

passwd jamie

Då kan vi fortsätta och lägga till den här systemanvändaren till Samba. Du måste bekräfta ditt lösenord igen, två gånger.

smbpasswd -a jamie

Fortsätt och testa nätverksdelningen nu - den ska vara synlig från dina andra maskiner (Windows eller Mac), och du borde kunna skriva filer till den.

Det enda problemet vid denna punkt är att enheterna kommer att avmonteras när du startar om Pi. För att lösa detta, installera autofs.

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

Lägg till följande rad under + auto.master

/ media / /etc/auto.ext-usb --timeout = 10, standardvärden, användare, exec, uid = 1000

Nu ska du kunna starta om säkert utan att bryta allt

Data Redundans

Om du antar att du installerade två enheter, kan vi nu konfigurera ett automatiskt skript för att synkronisera data från den 1: a enheten till 2: a, vilket ger oss en säkerhetskopia om en misslyckas. Vi använder rsync-verktyget för detta.

apt-get installera rsync crontab -e

Crontab i Linux är ett sätt att automatisera uppgifter; Jag pratade kort om tidigare när jag visade dig hur man automatiserar säkerhetskopieringar på webbplatsen Automatisera din Wordpress-säkerhetskopiering med enkel Shell Scripting & CRON Automatisera din Wordpress-säkerhetskopiering med enkel Shell Scripting & CRON Förra gången vi pratade om Wordpress-säkerhetskopior visade jag dig hur otroligt lätt det var att säkerhetskopiera hela din databas och filer men SSH med bara några kommandon. Den här gången ska jag visa ... Läs mer. Lägg till följande rad:

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

Numreringsschemat används så här:

minut | timme | dag-av-månaden | månad | veckodag

Så i vår nyligen tillagda rad kommer rsync kommandot att köras på 5:30 am , varje dag (de * jokertecken mening “varje”, så “varje dag i varje månad”)

Om du vill fortsätta och köra säkerhetskopieringen direkt, klistra du bara in i rsync-kommandot som så

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

Beroende på vad du lägger i den delade mappen kan det ta några sekunder eller längre att ge dig en rapport. Det rätta med rsync är att det vet vilka filer som uppdateras, läggs till eller ska raderas. Fortsätt och försök samma kommando igen. Det borde slutföras omedelbart, för det vet ingenting har förändrats.

Det är klart, du har nu din egen snabba och smutsiga NAS. Ja, det kanske inte har alla prickiga funktioner i en riktig NAS, men det blir jobbet snyggt och för mycket mindre strömförbrukning.

Har du problem? Låt oss veta i kommentarerna och jag får se vad jag kan göra, men se till att du kör den senaste Raspian-bilden.