Blanda en Raspberry Pi och ett stänk av billiga externa hårddiskar så har du receptet på en nätverkslagringsenhet med extremt låg effekt och alltid på. Läs vidare när vi visar dig hur du ställer in din egen Pi-baserade NAS.
Varför vill jag göra det här?
Fördelen med att ha en nätverkslagringsenhet som alltid är på är att det är extremt bekvämt att ha din data (eller backup-destination) alltid tillgänglig för datorerna både inom och utanför ditt nätverk. Nackdelen är i de flesta fall att du förbrukar en hel del ström för bekvämligheten.
Vår kontorsserver kör till exempel dygnet runt och förbrukar nästan 200 dollar i ström per år. En Raspberry Pi-baserad nätverkslagringsenhet förbrukar däremot cirka 5 dollar i ström per år.
Vi kommer att vara de första som ger dig att en fullfjädrad server kommer att ha mer lagringsutrymme och förmågan att göra mer arbete (till exempel omkodning av en multiterabyte videosamling på en rimlig tid). För de flesta är dock det huvudsakliga syftet med att ha en dator som alltid är på plats någonstans i huset att fungera som en filserver och en fil för säkerhetskopiering. För sådana uppgifter är Raspberry Pi mer än tillräckligt kraftfull och sparar dig en bit av förändring av energianvändningen.
Vad behöver jag?
Denna handledning bygger på vår tidigare handledning: HTG-guiden för att komma igång med Raspberry Pi och vi antar att du redan har slutfört det - med andra ord har du redan din Raspberry Pi, fått den igång, ansluten till en mus och tangentbord och du har installerat Raspbian på den.
Förutom det redskap du behöver från Handboken Komma igång med Raspberry Pi, kommer du bara att ha följande hårdvara:
- En (minst) USB-extern hårddisk för enkel säkerhetskopiering av nätverk och filservering
eller
- Två (åtminstone) externa USB-hårddiskar för lokal dataredundans
Det är allt! Om du bara vill ha en enkel nätverksansluten enhet behöver du bara en hårddisk. Vi rekommenderar starkt att du använder minst två hårddiskar för att möjliggöra lokal (vid Raspberry Pi) dataredundans. I denna handledning använder vi ett matchande par av Seagate Backup Plus 1 TB bärbara externa hårddiskar . De är superlilla, kräver ingen extern strömkälla och var till försäljning när vi handlade efter delar.
Du kan använda alla externa hårddiskar du har till hands, men det är perfekt att använda små lågeffektsenheter om möjligt eftersom hela temat för projektet är att ställa in en liten NAS med låg effekt som du bara kan stoppa ur vägen och glömma.
Innan vi fortsätter finns det ett par designval vi gjorde när det gäller hur vi konfigurerar vår Raspberry Pi NAS som du bör vara medveten om. Medan de flesta användare vill följa med precis som vi har gjort det kanske du vill justera specifika steg för att bättre passa dina behov och hur du använder datorerna i ditt nätverk.
Först använder vi NTFS-formaterade hårddiskar. Skulle Raspberry Pi NAS misslyckas av någon anledning eller vi vill snabbt kopiera information via en USB 3.0-anslutning istället för via nätverket, med NTFS-formaterade skivor gör det enkelt att ta de bärbara USB-enheterna vi använder på NAS-byggnaden och ansluta dem direkt till en av de många Windows maskiner vi använder varje dag.
För det andra använder vi Samba för våra nätverksaktier, igen på grund av bekvämligheten med att koppla ihop Raspberry Pi NAS med vårt övervägande Windows-nätverk.
Förbereda och montera externa hårddiskar
När du väl har samlat in hårdvaran följde du med Komma igång med Raspberry Pi-handboken för att komma igång (och kör Raspian) är det dags att börja konfigurera din Pi som en NAS.
Den första verksamheten är att ansluta hårddiskarna till Raspberry Pi (eller den anslutna USB-hubben beroende på din konfiguration och huruvida hårddiskarna är självdrivna eller externt drivna). När hårddiskarna är anslutna och Pi är igång är det dags att börja arbeta.
Notera: Vi använder två hårddiskar. Om du har bestämt dig för att bara använda en hårddisk, ignorerar du bara alla kommandon i detta avsnitt som är avsedda att montera / modifiera eller på annat sätt interagera med den andra hårddisken.
Vi kommer att göra allt vårt arbete inom terminalen. Som sådan kan du antingen arbeta direkt på din Raspberry Pi med LXTerminal på Raspian eller så kan du SSH in i din Raspberry Pi med ett verktyg som Putty. Vilket som går bra.
När du är vid kommandoraden är det första du behöver göra att lägga till stöd för Rasbian för NTFS-formaterade diskar. För att göra det skriver du följande kommando:
sudo apt-get install ntfs-3g
Det tar en minut eller två för paketen att ladda ner, packa upp och installera. När NTFS-paketet är installerat är det dags att leta efter de omonterade partitionerna på de anslutna externa hårddiskarna.
sudo fdisk -l
Du bör åtminstone se två diskar, om du har lagt till en sekundär disk för dataspegling (som vi har) borde du se tre liknande:
Den första skivan
/ dev / mmcb1k0
är SD-kortet inuti Raspberry Pi som rymmer vår installation av Raspbian. Vi ska lämna den helt ensam.
Den andra skivan,
/ dev / sda
är vår första 1 TB externa hårddisk. Den tredje skivan,
/ dev / sdb
är vår andra 1 TB externa hårddisk. De faktiska partitionerna vi är intresserade av på dessa två diskar är
/ sda1 /
och
/ sdb1 /
respektive. Anteckna hårddisknamnen.
Innan vi kan montera enheterna måste vi skapa en katalog för att montera enheterna till. För enkelhetens skull skapar vi helt enkelt en katalog som heter USBHDD1 och USBHDD2 för varje enhet. Först måste vi göra enheterna. Ange följande kommandon på kommandoraden:
sudo mkdir / media / USBHDD1sudo mkdir / media / USBHDD2
När du har skapat de två katalogerna är det dags att montera de externa enheterna till varje plats. Återigen vid kommandoraden anger du följande kommandon:
sudo mount -t auto / dev / sda1 / media / USBHDD1sudo mount -t auto / dev / sdb1 / media / USBHDD2
Vid denna tidpunkt har vi de två externa hårddiskarna monterade på USBHDD1- och USBHDD2-katalogerna. Det är dags att lägga till i en specifik katalog till båda enheterna för att hålla våra delade mappar (för att hålla sakerna snygga och dela upp vårt arbete på enheterna). Ange följande kommandon:
sudo mkdir / media / USBHDD1 / delningarsudo mkdir / media / USBHDD2 / delningar
Nu är det dags att installera Samba så att vi kan komma åt lagringen från andra håll i nätverket. Ange vid kommandoraden:
sudo apt-get install samba samba-common-bin
När du uppmanas att fortsätta, skriv Y och gå in. Luta dig tillbaka och koppla av när allt packas upp och installeras. När Samba-paketet har slutförts är det dags att göra en liten konfiguration. Innan vi gör något annat, låt oss göra en säkerhetskopia av Samba-konfigurationsfilen om vi behöver återgå till den. Skriv följande kommandorad på kommandoraden:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Detta skapar helt enkelt en säkerhetskopia av konfigurationsfilen med filnamnet smb.conf.old och lämnar den i samma katalog som den ursprungliga konfigurationsfilen.
När vi har skapat säkerhetskopian är det dags att göra en grundläggande redigering i Samba-konfigurationsfilen. Skriv följande på kommandoraden:
Sudona / Etc / Samba / smb. Kon f
Detta öppnar nano-textredigeraren och gör det möjligt för oss att göra några enkla ändringar. Om det är första gången du använder nano, föreslår vi att du checkar ut Nybörjarguiden till Nano, Linux Command-Line Text Editor . Du bör se ungefär följande i ditt terminalfönster:
Nano är helt tangentbordsstyrd, använd piltangenterna för att flytta markören till den plats du vill redigera. När du klickar ner genom konfigurationsinställningarna ser du några värda att notera eller ändra.
Den första är arbetsgruppsidentifieraren, som standard arbetsgrupp = WORKGROUP. Om du använder ett annat namn för din arbetsgrupp hemma, fortsätt och pil över för att ändra det nu, annars lämna det som standard.
Vårt nästa stopp är att aktivera användarautentisering för vår samba-lagring, annars kommer alla med allmän tillgång till vårt nätverk (som gäst-Wi-Fi-användare) att kunna gå direkt in. Bläddra ner i Samba-konfigurationsfilen tills du kommer till avsnitt som lyder:
Ta bort # -symbolen från säkerhets = användarraden (genom att markera den med markören och trycka på radera) för att möjliggöra verifiering av användarnamn / lösenord för Samba-aktierna.
Därefter ska vi lägga till ett helt nytt avsnitt i konfigurationsfilen. Rulla hela vägen ner till botten av filen och skriv in följande text:
[Backup]
kommentar = Backupmapp
sökväg = / media / USBHDD1 / delningar
giltiga användare = @användare
tvinga grupp = användare
skapa mask = 0660
katalogmask = 0771
skrivskyddad = nej
Notera : Vad du än lägger inom parenteserna i den översta raden kommer att vara namnet på mappen som den visas på nätverksresursen. Om du vill ha ett annat namn än "Backup" är det dags att redigera det.
Tryck på CTRL + X för att avsluta, tryck på Y när du blir tillfrågad om du vill behålla ändringarna och skriva över den befintliga konfigurationsfilen. När du är tillbaka vid kommandotolken anger du följande kommando för att starta om Samba-demonerna:
sudo /etc/init.d/samba startar om
Vid denna tidpunkt måste vi lägga till en användare som kan komma åt Pi: s samba-aktier. Vi ska skapa ett konto med säkerhetskopiorna av användarnamnet och lösenordet backups4ever. Du kan skapa ditt användarnamn och lösenord vad du än vill. För att göra det skriver du följande kommandon:
sudo-användare lägger till säkerhetskopior -m -G-användaresudo passwd-säkerhetskopior
Du uppmanas att skriva in lösenordet två gånger för att bekräfta. Efter att ha bekräftat lösenordet är det dags att lägga till "säkerhetskopior" som en legitim Samba-användare. Ange följande kommando:
sudo smbpasswd -a säkerhetskopior
Ange lösenordet för säkerhetskopian när du uppmanas till det. När du har skapat användarkontot och lösenordet behöver du inte starta om Samba-demonen igen eftersom vi redan har instruerat att vara på utkik efter autentiserade användare. Vi kan nu hoppa på vilken som helst Samba-kompatibel maskin i vårt nätverk och testa anslutning till nätverksresursen.
Från en närliggande Windows-maskin öppnade vi Windows-filutforskaren, klickade på Nätverk, bekräftade att värdnamnet RASPBERRYPI var i arbetsgruppen WORKGROUPS och klickade på den delade mappen Säkerhetskopior:
När du uppmanas ange de autentiseringsuppgifter du skapade i föregående steg (om du följer längs raden för raden är inloggningen säkerhetskopior och lösenordet är backups4ever).
När dina autentiseringsuppgifter har godkänts kommer du att behandlas i en tom mapp eftersom det inte finns något i delningen ännu. För att dubbelkontrollera allt fungerar smidigt, låt oss skapa en enkel fil från den dator vi testade anslutningen till (i vårt fall Windows 7-skrivbordet). Skapa en txt-fil så här:
Nu, från kommandoraden vi har arbetat hela tiden, låt oss kontrollera om filen vi skapade på Windows-skrivbordet visas korrekt i den delkatalog som vi skapade. Skriv följande kommando på kommandoraden:
cd / media / USBHDD1 / delningarls
hej-är-det-jag-du-letar-efter.txt finns i katalogen; vårt enkla delade katalogexperiment är en framgång!
Innan vi lämnar det här avsnittet i handledningen har vi bara en sak till att göra. Vi måste konfigurera vår Pi så att den automatiskt monterar de externa hårddiskarna när den startas om. För att göra det måste vi skjuta upp nano-redigeraren och göra en snabb redigering. Skriv på kommandoraden:
sudo nano / etc / fstab
Detta öppnar filsystemstabellen i nano så att vi kan lägga till några snabba poster. Lägg till följande rader inom nano-redigeraren:
/ dev / sda1 / media / USBHDD1 auto noatime 0 0/ dev / sda2 / media / USBHDD2 auto noatime 0 0
Tryck på CTRL + X för att avsluta, tryck på Y för att spara och skriv över den befintliga filen.
Om du bara använder en enda hårddisk för enkel nätverksdelning utan redundans, så är det allt! Du är klar med konfigurationsprocessen och kan börja njuta av din ultralåg NAS.
Konfigurera din Raspberry Pi NAS för enkel dataredundans
Hittills är vår Raspberry Pi NAS ansluten till nätverket, filöverföring fungerar, men det saknas en uppenbar sak. Den sekundära hårddisken är konfigurerad men sitter helt inaktiv.
I det här avsnittet av handledningen ska vi använda två enkla men kraftfulla Linux-verktyg, rsync och cron, för att konfigurera vår Raspberry Pi NAS för att utföra en nattlig dataspegel från / Shares / mappen på den primära enheten till / Shares / mappen på den sekundära enheten. Detta kommer inte att vara en RAID-liknande dataspegling i realtid, men en daglig (eller halvdag) säkerhetskopiering av data till den sekundära enheten är ett utmärkt sätt att lägga till ytterligare ett datasäkerhetslager.
Först måste vi lägga till rsync till vår Rasbian-installation. Om det är första gången du använder rsync och du vill få en bättre överblick över kommandot, rekommenderar vi att du kolla in det Hur man använder rsync för att säkerhetskopiera dina data på Linux .
Ange följande kommando på kommandoraden:
sudo apt-get install rsync
När rsync har installerats är det dags att skapa ett cron-jobb för att automatisera processen för kopiering av filer från USBHDD1 till USBHDD2. Ange följande kommando på kommandoraden:
crontab -e
Kommandot öppnar din cron-schemaläggningstabell i nano-textredigeraren, vilket borde vara ganska bekant för dig vid denna tidpunkt i handledningen. Fortsätt och bläddra ner till botten av dokumentet och ange följande rad:
0 5 * * * rsync -av --delete /media/USBHDD1/shares /media/USBHDD2/shares/
Detta kommando specificerar att vi vill att rsync ska jämföra de två katalogerna varje dag kl. till HDD2 och ta bort allt i säkerhetskopian som inte längre matchar något i den primära katalogen - dvs. om vi har en filmfil på HDD1 som vi tar bort, vill vi också att filen ska tas bort från säkerhetskopian vid nästa synkronisering.
Den viktiga delen om att konfigurera det här kommandot är att du väljer en tid som inte stör någon annan nätverksaktivitet till de delade mapparna du kan ha planerat. Om du till exempel använder din Raspberry Pi NAS som en reservdestination för någon typ av automatiserad programvara som kopierar dina filer till NAS klockan 05.00 varje morgon, måste du antingen justera säkerhetskopieringstiden i din säkerhetskopieringsprogramvara eller så behöver du för att justera tiden för cron-jobbet på Pi-men du kan inte ha både fjärrback-dumpningsdata till nätverksdelningen och Raspberry Pi som försöker synkronisera dessa data mellan lokala enheter samtidigt.
När du har angett crontab-posten klickar du på CTRL + X för att avsluta och spara filen. Om du vill köra rsync omedelbart för att spegla data snabbare och göra det initiala cron-jobbet lite lättare på systemet, fortsätt och skriv in samma rsync-kommando som du sätter i crontab på kommandoraden så:
rsync -av --delete /media/USBHDD1/shares /media/USBHDD2/shares/
Det är allt! Allt du behöver göra vid denna tidpunkt är att checka in på din Raspberry Pi nästa dag eller två för att se till att det schemalagda jobbet avfyras som förväntat och data från
/ USBHDD1 / delar /
visas i
/ USBHDD2 / delar /
.
Härifrån speglas allt du lägger i din Raspberry Pi-drivna NAS dagligen över båda hårddiskarna.
Innan vi lämnar ämnet helt, här är några ytterligare How-To Geek-artiklar som du kanske vill kolla in för att lägga till mer punch till din nya Raspberry Pi-drivna NAS:
- Så här säkerhetskopierar du ditt Gmail-konto med din Ubuntu-dator —Även om instruktionerna är för Ubuntu kan du enkelt ändra tema för Raspbian för att göra din Pi NAS till en automatisk e-postbackup-maskin.
- Vilka filer ska du säkerhetskopiera på din Windows-dator? —Om du inte är säker på vilka filer du ska säkerhetskopiera till din NAS är det här ett bra ställe att börja.
- Hur du fjärrskopierar dina data gratis med CrashPlan — CrashPlan är en gratis säkerhetskopieringsapplikation tillgänglig för Windows-, Mac- och Linux-maskiner som gör det enkelt att schemalägga regelbundna säkerhetskopior till en NAS.
Har du ett Raspberry Pi-projekt som du skulle vilja se oss genomföra? Stor eller liten, vi älskar att leka med Pi-ljudet i kommentarerna med dina idéer.