Meng een Raspberry Pi en een hoop goedkope externe harde schijven en je hebt het recept voor een ultra-low-power en always-on netwerkopslagapparaat. Lees verder terwijl we u laten zien hoe u uw eigen Pi-gebaseerde NAS instelt.
Waarom wil ik dit doen?
Het voordeel van een always-on netwerkopslagapparaat is dat het buitengewoon handig is om uw gegevens (of back-upbestemming) altijd toegankelijk te hebben voor de computers binnen en buiten uw netwerk. Het nadeel is in de meeste gevallen dat u voor het gemak een behoorlijke hoeveelheid stroom verbruikt.
Onze kantoorserver draait bijvoorbeeld 24/7 en verbruikt bijna $ 200 aan stroom per jaar. Een op Raspberry Pi gebaseerd netwerkopslagapparaat verbruikt daarentegen ongeveer $ 5 aan stroom per jaar.
We zijn de eerste om u toe te geven dat een volwaardige server meer opslagruimte zal hebben en de mogelijkheid om meer werk te doen (zoals het transcoderen van een videocollectie van meerdere terabytes in een redelijke tijdspanne). Voor de meeste mensen is het hoofddoel van een computer die altijd aanstaat ergens in huis echter om te dienen als bestandsserver en opslagplaats voor bestandsback-ups. Voor dergelijke taken is de Raspberry Pi meer dan krachtig genoeg en bespaart u een hoop verandering in stroomverbruik.
Wat heb ik nodig?
Deze tutorial bouwt voort op onze vorige tutorial: De HTG-gids om aan de slag te gaan met Raspberry Pi en we gaan ervan uit dat je dat al hebt voltooid - met andere woorden, je hebt je Raspberry Pi al, je hebt hem ingeschakeld, aangesloten op een muis en toetsenbord en je hebt Raspbian erop geïnstalleerd.
Naast de uitrusting die je nodig hebt uit de tutorial Aan de slag met Raspberry Pi, heb je alleen de volgende hardware:
- Eén (minimaal) USB externe harde schijf voor eenvoudige netwerkback-ups en bestandsserving
of
- Twee (minimaal) USB externe harde schijven voor lokale gegevensredundantie
Dat is het! Als u alleen een eenvoudige op het netwerk aangesloten schijf wilt, heeft u maar één harde schijf nodig. We raden ten zeerste aan om ten minste twee harde schijven te gebruiken om lokale (op de Raspberry Pi) gegevensredundantie mogelijk te maken. Voor deze tutorial gebruiken we een bijpassend paar Seagate Backup Plus 1TB draagbare externe harde schijven . Ze zijn superklein, hebben geen externe voedingsbron nodig en waren te koop toen we op zoek waren naar onderdelen.
U kunt alle externe harde schijven gebruiken die u bij de hand hebt, maar het is ideaal om indien mogelijk kleine, energiezuinige schijven te gebruiken, aangezien het hele thema van het project is om een kleine en energiezuinige NAS op te zetten die u gewoon uit de weg kunt steken en vergeten.
Voordat we verder gaan, zijn er een aantal ontwerpkeuzes die we hebben gemaakt in termen van hoe we onze Raspberry Pi NAS configureren waarvan u op de hoogte moet zijn. Hoewel de meeste gebruikers precies willen volgen zoals we het hebben gedaan, wilt u misschien specifieke stappen aanpassen aan uw behoeften en hoe u de computers in uw netwerk gebruikt.
Ten eerste gebruiken we NTFS-geformatteerde harde schijven. Mocht de Raspberry Pi NAS om de een of andere reden falen of we willen snel informatie kopiëren via een USB 3.0-verbinding in plaats van via het netwerk, met NTFS-geformatteerde schijven is het doodeenvoudig om de draagbare USB-drives die we gebruiken op de NAS-build te nemen en ze rechtstreeks aan te sluiten op een van de vele Windows machines die we elke dag gebruiken.
Ten tweede gebruiken we Samba voor onze netwerkshares, wederom vanwege het gemak van het meshen van de Raspberry Pi NAS met ons overwegend Windows-netwerk.
Voorbereiden en monteren van de externe harde schijven
Zodra je de hardware hebt verzameld, gevolgd door de tutorial Aan de slag met Raspberry Pi om aan de slag te gaan (en Raspian te gebruiken), is het tijd om je Pi als een NAS in te stellen.
De eerste taak is om de harde schijven aan te sluiten op de Raspberry Pi (of de aangesloten USB-hub, afhankelijk van uw configuratie en of de harde schijven zelf-aangedreven of extern gevoed zijn). Zodra de harde schijven zijn aangesloten en de Pi is ingeschakeld, is het tijd om aan de slag te gaan.
Notitie: We gebruiken twee harde schijven. Als u hebt besloten om slechts één harde schijf te gebruiken, negeert u gewoon alle opdrachten in deze sectie die bedoeld zijn om de tweede harde schijf te koppelen / wijzigen of anderszins te communiceren.
We gaan al ons werk binnen de terminal doen. Als zodanig kun je ofwel rechtstreeks op je Raspberry Pi werken met LXTerminal in Raspian of je kunt SSH in je Raspberry Pi gebruiken met een tool als Putty. Beide manieren zijn prima.
Als u eenmaal op de opdrachtregel bent, moet u eerst ondersteuning toevoegen aan Rasbian voor NTFS-geformatteerde schijven. Typ hiervoor de volgende opdracht:
sudo apt-get install ntfs-3g
Het duurt een minuut of twee voordat de pakketten zijn gedownload, uitgepakt en geïnstalleerd. Zodra het NTFS-pakket is geïnstalleerd, is het tijd om te zoeken naar de niet-gekoppelde partities van de aangesloten externe harde schijven.
sudo fdisk -l
Je zou minimaal twee schijven moeten zien, als je een secundaire schijf hebt toegevoegd voor het spiegelen van gegevens (zoals we hebben), zou je er drie moeten zien:
De eerste schijf
/ dev / mmcb1k0
is de SD-kaart in de Raspberry Pi waarin onze installatie van Raspbian is ondergebracht. Die gaan we helemaal met rust laten.
De tweede schijf,
/ dev / sda
is onze eerste 1TB externe harde schijf. De derde schijf,
/ dev / sdb
is onze tweede 1TB externe harde schijf. De daadwerkelijke partities waarin we geïnteresseerd zijn op deze twee schijven zijn
/ sda1 /
en
/ sdb1 /
, respectievelijk. Noteer de namen van de harde schijven.
Voordat we de schijven kunnen aankoppelen, moeten we een map maken om de schijven aan te koppelen. Eenvoudigheidshalve gaan we voor elke schijf een directory maken met de naam USBHDD1 en USBHDD2. Eerst moeten we de schijven maken. Voer op de opdrachtregel de volgende opdrachten in:
sudo mkdir / media / USBHDD1sudo mkdir / media / USBHDD2
Nadat u de twee mappen heeft gemaakt, is het tijd om de externe schijven op elke locatie te koppelen. Voer opnieuw op de opdrachtregel de volgende opdrachten in:
sudo mount -t auto / dev / sda1 / media / USBHDD1sudo mount -t auto / dev / sdb1 / media / USBHDD2
Op dit punt hebben we de twee externe harde schijven gekoppeld aan respectievelijk de USBHDD1- en USBHDD2-mappen. Het wordt tijd om een specifieke map aan beide schijven toe te voegen om onze gedeelde mappen in te bewaren (om de zaken netjes te houden en ons werk op de schijven in compartimenten te verdelen). Voer de volgende opdrachten in:
sudo mkdir / media / USBHDD1 / sharessudo mkdir / media / USBHDD2 / shares
Nu is het tijd om Samba te installeren, zodat we toegang hebben tot de opslag van elders op het netwerk. Typ op de opdrachtregel:
sudo apt-get install samba samba-common-bin
Wanneer u wordt gevraagd om door te gaan, typt u Y en voert u in. Leun achterover en ontspan terwijl alles wordt uitgepakt en geïnstalleerd. Zodra het Samba-pakket is geïnstalleerd, is het tijd om een kleine configuratie uit te voeren. Voordat we iets anders gaan doen, maken we een reservekopie van het Samba-configuratiebestand voor het geval we ernaar moeten terugkeren. Typ de volgende opdrachtregel op de opdrachtregel:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Dit maakt eenvoudig een back-up van het configuratiebestand met de bestandsnaam smb.conf.old en laat het in dezelfde directory staan als het originele configuratiebestand.
Nadat we de back-up hebben gemaakt, is het tijd om wat basisbewerkingen uit te voeren in het Samba-configuratiebestand. Typ het volgende op de opdrachtregel:
Sudona / Etc / Samba / smb. Kon f
Hierdoor wordt de nano-teksteditor geopend en kunnen we enkele eenvoudige wijzigingen aanbrengen. Als dit de eerste keer is dat u nano gebruikt, raden we u ten zeerste aan om uit te checken De beginnershandleiding voor Nano, de Linux Command-Line Text Editor . U zou zoiets als het volgende in uw terminalvenster moeten zien:
Nano is volledig toetsenbordgestuurd, gebruik de pijltjestoetsen om de cursor naar de locatie te verplaatsen die u wilt bewerken. Terwijl u door de configuratie-instellingen klikt, ziet u er een paar die het waard zijn om op te merken of te wijzigen.
De eerste is de werkgroep-id, standaard workgroup = WORKGROUP. Als je een andere naam voor je thuiswerkgroep gebruikt, ga je gang en ga met de pijl naar boven om dat nu te wijzigen, laat het anders de standaardnaam.
Onze volgende stop is het inschakelen van gebruikersauthenticatie voor onze samba-opslag, anders kan iedereen met algemene toegang tot ons netwerk (zoals gast-wifi-gebruikers) meteen naar binnen lopen. Scroll naar beneden in het Samba-configuratiebestand totdat je bij het sectie die luidt:
Verwijder het # -symbool van de security = user-regel (door het te markeren met de cursor en op delete te drukken) om gebruikersnaam / wachtwoordverificatie voor de Samba-shares mogelijk te maken.
Vervolgens gaan we een geheel nieuwe sectie toevoegen aan het configuratiebestand. Scrol helemaal naar beneden in het bestand en voer de volgende tekst in:
[Backup]
comment = Backup Folder
path = / media / USBHDD1 / shares
geldige gebruikers = @users
force group = gebruikers
masker maken = 0660
mapmasker = 0771
alleen lezen = nee
Notitie : Wat u ook tussen haakjes op de bovenste regel plaatst, wordt de naam van de map zoals deze op de netwerkshare verschijnt. Als u een andere naam dan "Back-up" wilt, is dit het moment om deze te bewerken.
Druk op CTRL + X om af te sluiten, druk op Y wanneer u wordt gevraagd of u de wijzigingen wilt behouden en het bestaande configuratiebestand wilt overschrijven. Wanneer u terug bent bij de opdrachtprompt, voert u de volgende opdracht in om de Samba-daemons opnieuw te starten:
sudo /etc/init.d/samba herstart
Op dit punt moeten we een gebruiker toevoegen die toegang heeft tot de samba-shares van de Pi. We gaan een account maken met de gebruikersnaamback-ups en het wachtwoord backups4ever. U kunt uw gebruikersnaam en wachtwoord naar wens instellen. Typ hiervoor de volgende opdrachten:
sudo useradd backups -m -G gebruikerssudo passwd-back-ups
U wordt ter bevestiging twee keer gevraagd het wachtwoord in te voeren. Nadat u het wachtwoord heeft bevestigd, wordt het tijd om "back-ups" toe te voegen als een legitieme Samba-gebruiker. Voer de volgende opdracht in:
sudo smbpasswd -a back-ups
Voer het wachtwoord voor het back-upaccount in wanneer daarom wordt gevraagd. Nadat u het gebruikersaccount en het wachtwoord heeft aangemaakt, hoeft u de Samba-daemon niet opnieuw op te starten, aangezien we hem al hebben geïnstrueerd om op zoek te gaan naar geverifieerde gebruikers. We kunnen nu op elke Samba-compatibele machine op ons netwerk springen en de verbinding met de netwerkshare testen.
Vanaf een Windows-machine in de buurt hebben we de Windows-bestandsverkenner geopend, op Netwerk geklikt, bevestigd dat de hostnaam RASPBERRYPI in de WORKGROUPS-werkgroep was en op de gedeelde map Backups:
Voer desgevraagd de inloggegevens in die u in de vorige stap hebt gemaakt (als u regel voor regel volgt, is de login back-ups en is het wachtwoord backups4ever).
Zodra uw inloggegevens zijn geaccepteerd, wordt u naar een lege map getrakteerd omdat er nog niets in de gedeelde map staat. Om te controleren of alles soepel werkt, maken we een eenvoudig bestand vanaf de computer waarmee we de verbinding hebben getest (in ons geval het Windows 7-bureaublad). Maak een txt-bestand zoals:
Laten we nu, vanaf de opdrachtregel waar we al die tijd aan werken, kijken of het bestand dat we op het Windows-bureaublad hebben gemaakt, correct wordt weergegeven in de gedeelde map die we hebben gemaakt. Typ het volgende commando op de opdrachtregel:
cd /media/USBHDD1/sharesls
hallo-is-het-ik-je-zoekt-naar.txt staat in de directory; ons eenvoudige experiment met gedeelde mappen is een succes!
Voordat we dit gedeelte van de tutorial verlaten, hebben we nog maar één ding te doen. We moeten onze Pi zo configureren dat wanneer deze opnieuw wordt opgestart, deze automatisch de externe harde schijven koppelt. Om dit te doen, moeten we de nano-editor starten en snel bewerken. Typ op de opdrachtregel:
sudo nano / etc / fstab
Dit opent de bestandssystemen-tabel in nano, zodat we een paar snelle invoer kunnen toevoegen. Voeg binnen de nano-editor de volgende regels toe:
/ dev / sda1 / media / USBHDD1 auto noatime 0 0/ dev / sda2 / media / USBHDD2 auto noatime 0 0
Druk op CTRL + X om af te sluiten, druk op Y om op te slaan en het bestaande bestand te overschrijven.
Als u slechts één harde schijf gebruikt om het netwerk eenvoudig te delen zonder redundantie, dan is dat het! U bent helemaal klaar met het configuratieproces en u kunt beginnen met genieten van uw NAS met ultralaag vermogen.
Uw Raspberry Pi NAS configureren voor eenvoudige gegevensredundantie
Tot dusverre is onze Raspberry Pi NAS aangesloten op het netwerk, bestandsoverdracht werkt, maar er ontbreekt een in het oog springend ding. Die secundaire harde schijf is geconfigureerd maar zit helemaal inactief.
In dit gedeelte van de tutorial gaan we twee eenvoudige maar krachtige Linux-tools gebruiken, rsync en cron, om onze Raspberry Pi NAS te configureren om een nachtelijke dataspiegel uit te voeren van de / shares / map op de primaire schijf naar de / shares / map op het secundaire station. Dit wordt geen realtime RAID-achtige gegevensspiegeling, maar een dagelijkse (of semi-dagelijkse) gegevensback-up naar de secundaire schijf is een geweldige manier om een extra laag gegevensbeveiliging toe te voegen.
Eerst moeten we rsync toevoegen aan onze Rasbian-installatie. Als dit de eerste keer is dat u rsync gebruikt en u een beter overzicht van de opdracht wilt krijgen, raden we u aan uit te checken Hoe rsync te gebruiken om een back-up van uw gegevens op Linux te maken .
Voer op de opdrachtregel de volgende opdracht in:
sudo apt-get install rsync
Zodra rsync is geïnstalleerd, is het tijd om een cron-taak in te stellen om het proces van het kopiëren van bestanden van de USBHDD1 naar USBHDD2 te automatiseren. Voer op de opdrachtregel de volgende opdracht in:
crontab -e
De opdracht opent je cron-planningstabel in de nano-teksteditor, die je op dit punt in de tutorial vrij bekend zou moeten zijn. Ga je gang en scrol omlaag naar de onderkant van het document en voer de volgende regel in:
0 5 * * * rsync -av --delete / media / USBHDD1 / shares / media / USBHDD2 / shares /
Deze opdracht specificeert dat we elke dag om 05:00 uur (het 0 5-deel), elke dag (* * *, jokertekens in het jaar, de maand, dagvlekken), willen dat rsync de twee mappen vergelijkt en alles kopieert van HDD1 naar HDD2 en alles in de back-upmap verwijderen dat niet langer overeenkomt met iets in de primaire map, dwz als we een filmbestand op HDD1 hebben dat we verwijderen, willen we ook dat dat bestand bij de volgende synchronisatie uit de back-up wordt verwijderd.
Het belangrijkste bij het configureren van deze opdracht is dat u een tijd selecteert die geen invloed heeft op andere netwerkactiviteiten naar de gedeelde mappen die u mogelijk heeft gepland. Als je bijvoorbeeld je Raspberry Pi NAS gebruikt als back-upbestemming voor een soort geautomatiseerde software die je bestanden elke ochtend om 5 uur 's ochtends naar de NAS kopieert, dan moet je ofwel de back-uptijd in je back-upsoftware aanpassen, ofwel moet je om de tijd voor de cron-taak op de Pi aan te passen - maar je kunt niet zowel de externe back-upgegevens op de netwerkshare laten dumpen als de Raspberry Pi die die gegevens tegelijkertijd tussen lokale schijven probeert te synchroniseren.
Zodra u het crontab-item heeft ingevoerd, klikt u op CTRL + X om af te sluiten en het bestand op te slaan. Als je de rsync onmiddellijk wilt uitvoeren om de gegevens sneller gespiegeld te krijgen en de initiële cron-taak een beetje lichter op het systeem wilt maken, ga je gang en voer je hetzelfde rsync-commando in dat je in de crontab hebt gezet op de opdrachtregel, zoals:
rsync -av --delete / media / USBHDD1 / shares / media / USBHDD2 / shares /
Dat is het! Het enige dat u op dit punt hoeft te doen, is uw Raspberry Pi de volgende dag of twee inchecken om ervoor te zorgen dat de geplande taak wordt uitgevoerd zoals verwacht en dat de gegevens van
/ USBHDD1 / aandelen /
verschijnt in
/ USBHDD2 / aandelen /
.
Vanaf nu wordt alles wat u in uw Raspberry Pi-aangedreven NAS plaatst, dagelijks gespiegeld op beide harde schijven.
Voordat we het onderwerp volledig verlaten, zijn hier enkele aanvullende How-To Geek-artikelen die u misschien wilt bekijken om meer pit toe te voegen aan uw nieuwe Raspberry Pi-aangedreven NAS:
- Hoe u een back-up van uw Gmail-account maakt met uw Ubuntu-pc —Hoewel de instructies voor Ubuntu zijn, kunt u het thema voor Raspbian gemakkelijk wijzigen om uw Pi NAS in een automatische e-mailback-upmachine te veranderen.
- Van welke bestanden moet u een back-up maken op uw Windows-pc? —Als u niet zeker weet van welke bestanden u een back-up op uw NAS moet maken, is dit een goede plek om te beginnen.
- Hoe u gratis een back-up van uw gegevens kunt maken met CrashPlan — CrashPlan is een gratis back-uptoepassing die beschikbaar is voor Windows-, Mac- en Linux-machines waarmee u eenvoudig regelmatige back-ups naar een NAS kunt plannen.
Heeft u een Raspberry Pi-project dat u ons graag zou zien ondernemen? Groot of klein, we houden ervan om met de Pi te spelen - laat je horen in de commentaren met je ideeën.