1Aug
Mix een Raspberry Pi en een flinke hoeveelheid goedkope externe harde schijven en u hebt het recept voor een apparaat met een ultradun stroomverbruik en een altijd-aan netwerkopslag. Lees verder terwijl we u laten zien hoe u uw eigen op pi-gebaseerde NAS kunt instellen.
Waarom wil ik dit doen?
Het voordeel van een always-on netwerkopslagapparaat is dat het uiterst 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 je een behoorlijke hoeveelheid stroom verbruikt voor het gemak.
Onze kantoorserver, bijvoorbeeld, draait 24/7 en verbruikt bijna $ 200 aan vermogen per jaar. Een op Raspberry Pi gebaseerd netwerkopslagapparaat aan de andere kant verbruikt ongeveer $ 5 aan vermogen per jaar.
We zullen de eerste zijn om u te laten weten dat een volwaardige server meer opslagruimte en de mogelijkheid heeft om meer werk te doen( zoals het transcoderen van een multitertabyte videocollectie in een redelijke tijd).Voor de meeste mensen is het hoofddoel van het altijd thuis hebben van een computer altijd om te dienen als een bestandsserver en een repository voor bestandsback-ups. Voor dergelijke taken is de Raspberry Pi meer dan krachtig genoeg en bespaart u een groot deel van het stroomverbruik.
Wat heb ik nodig?
Deze tutorial bouwt voort op onze vorige tutorial: de HTG-handleiding voor Aan de slag met Raspberry Pi en we gaan ervan uit dat je dat al hebt gedaan - met andere woorden: je hebt al je Raspberry Pi, hebt hem ingeschakeld, aan een muis gekoppeld entoetsenbord, en je hebt Raspbian erop geïnstalleerd.
Naast de uitrusting die je nodig hebt in de handleiding Aan de slag met Raspberry Pi, zul je alleen de volgende hardware hebben:
- Eén( minimaal) USB externe harde schijf voor eenvoudige netwerkback-ups en
of
- Two-bestandendiensten( opminimum) USB externe harde schijven voor lokale gegevensredundantie
Dat is alles! Als u alleen een eenvoudige netwerk-aangesloten schijf wilt, hebt u slechts éé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 passend paar Seagate Backup Plus 1 TB draagbare externe harde schijven. Ze zijn superklein, hebben geen externe voedingsbron nodig en waren te koop toen we naar onderdelen aan het winkelen waren.
U kunt alle externe harde schijven gebruiken die u bij de hand hebt, maar het is ideaal om zo mogelijk kleine energiezuinige schijfeenheden 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 ruimenen vergeten.
Voordat we verder gaan, zijn er een aantal ontwerpkeuzes die we hebben gemaakt in termen van hoe we onze Raspberry Pi NAS configureren, waar je op moet letten. Hoewel de meeste gebruikers precies willen volgen zoals we het hebben gedaan, wilt u misschien specifieke stappen aanpassen om beter aan uw behoeften te voldoen en hoe u de computers in uw netwerk gebruikt.
Ten eerste gebruiken we hard geformatteerde NTFS-schijven. Mocht de Raspberry Pi NAS om de een of andere reden niet goed werken of , willen we snel informatie kopiëren via een USB 3.0-verbinding in plaats van via het netwerk. Het hebben van NTFS-geformatteerde schijven maakt het doodeenvoudig om de draagbare USB-drives te gebruiken die we gebruiken op deNAS bouwt en sluit ze direct aan op een van de vele Windows-machines die we dagelijks gebruiken.
Ten tweede gebruiken we Samba voor onze netwerkshares, wederom vanwege het gemak waarmee de Raspberry Pi NAS kan worden gekoppeld aan ons overwegend Windows-netwerk.
Voorbereiden en monteren van de externe harde schijven
Nadat u de hardware hebt verzameld, gevolgd door de handleiding Aan de slag met Raspberry Pi om op snelheid te komen( en met Raspian draait), is het tijd om uw Pi als een NAS op te zetten.
De eerste orde van zaken 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 zelfaangedreven of extern gevoed zijn).Zodra de harde schijven zijn aangesloten en de Pi is ingeschakeld, is het tijd om aan het werk te gaan.
Opmerking: We gebruiken twee harde schijven. Als u hebt besloten om slechts één vaste schijf te gebruiken, negeert u gewoon alle opdrachten in deze sectie die bedoeld zijn om de tweede harde schijf te activeren / wijzigen of op andere wijze te gebruiken.
We gaan al ons werk doen binnen de terminal. Je kunt dus direct op je Raspberry Pi werken met LXTerminal in Raspian of je kunt SSH gebruiken in je Raspberry Pi met behulp van een tool als Putty. Beide manieren zijn prima.
Als je eenmaal op de commandoregel staat, is het eerste dat je moet doen, het toevoegen van ondersteuning aan Rasbian voor NTFS-geformatteerde schijven. Hiertoe typt u de volgende opdracht:
sudo apt-get install ntfs-3g
Het duurt een minuut of twee voordat de pakketten worden gedownload, uitgepakt en geïnstalleerd. Zodra het NTFS-pakket is geïnstalleerd, wordt het tijd om te zoeken naar de niet-gemonteerde partities van de aangesloten externe harde schijven.
sudo fdisk -l
Op zijn minst zou je twee schijven moeten zien, als je in een secundaire schijf hebt toegevoegd voor het spiegelen van gegevens( zoals wij hebben) zou je er drie moeten zien zoals:
De eerste schijf /dev/ mmcb1k0 is de SD-kaart in deRaspberry Pi die onze installatie van Raspbian huisvest. We laten die helemaal alleen achter.
De tweede schijf, /dev/ sda is onze eerste 1TB externe harde schijf. De derde schijf, /dev/ sdb is onze tweede 1 TB externe harde schijf. De feitelijke partities waarin we geïnteresseerd zijn in deze twee schijven zijn respectievelijk /sda1/ en /sdb1/.Noteer de namen van de harde schijven.
Voordat we de schijven kunnen aankoppelen, moeten we een map maken om de stations aan te koppelen. Eenvoudigheidshalve gaan we voor elke schijf gewoon de directory USBHDD1 en USBHDD2 maken. Eerst moeten we de schijven maken. Voer op de opdrachtregel de volgende opdrachten in:
sudo mkdir /media/ USBHDD1
sudo mkdir /media/ USBHDD2
Nadat u de twee mappen hebt gemaakt, is het tijd om de externe schijfeenheden op elke locatie te koppelen. Voer opnieuw op de opdrachtregel de volgende opdrachten in:
sudo mount -t auto /dev/ sda1 /media/ USBHDD1
sudo mount -t auto /dev/ sdb1 /media/ USBHDD2
Op dit moment hebben we de twee externe harde schijven gekoppeld aan de USBHDD1- en USBHDD2-directory's, respectievelijk. Het is tijd om een specifieke map aan beide stations toe te voegen om onze gedeelde mappen te bewaren( om de zaken opgeruimd te houden en ons werk op de schijven te compartimenteren).Voer de volgende opdrachten in:
sudo mkdir /media/USBHDD1/ shares
sudo mkdir /media/USBHDD2/ shares
Nu is het tijd om Samba te installeren, zodat we toegang hebben tot de opslag van elders in het netwerk. Voer op de opdrachtregel in:
sudo apt-get installeer samba samba-common-bin
Wanneer u wordt gevraagd om verder te gaan, typt u Y en typt u. Leun achterover en ontspan terwijl alles uitpakt en installeert. Nadat 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 het terug moeten halen. 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 alshet originele configuratiebestand.
Zodra we de back-up hebben gemaakt, is het tijd om wat basisbewerkingen in het Samba-configuratiebestand uit te voeren. Typ het volgende op de opdrachtregel:
sudo nano /etc/samba/ smb.conf
Hiermee wordt de nano-teksteditor geopend en kunnen enkele eenvoudige wijzigingen worden doorgevoerd. Als dit de eerste keer is dat u Nano gebruikt, raden we u ten zeerste aan de Beginner's Guide to Nano, de Linux-opdrachtregeleditor, te raadplegen. In je terminalvenster zou je zoiets als het volgende moeten zien:
Nano is volledig toetsenbordgestuurd, gebruik de pijltjestoetsen om de cursor naar de locatie te verplaatsen die je wilt bewerken. Terwijl je door de configuratie-instellingen bladert, zie je er een paar die het waard zijn om te noteren of te veranderen.
De eerste is de werkgroep-ID, standaard werkgroep = WERKGROEP.Als je een andere naam gebruikt voor je thuiswerkgroep, ga je gang en ga je met de pijl om dat nu te veranderen, anders laat je het standaard staan.
Onze volgende stop is om gebruikersauthenticatie in te schakelen voor onze samba-opslag, anders kan iedereen met algemene toegang tot ons netwerk( zoals gast-Wi-Fi-gebruikers) meteen naar binnen lopen. Scroll naar beneden in het Samba-configuratiebestand tot je bijhet gedeelte dat luidt:
Verwijder het # -symbool uit de regel security = user( door het te markeren met de cursor en op delete te drukken) om de gebruikersnaam / wachtwoordverificatie voor de Samba-shares in te schakelen.
Vervolgens gaan we een geheel nieuwe sectie toevoegen aan het configuratiebestand. Blader helemaal naar de onderkant van het bestand en voer de volgende tekst in:
[Back-up]
comment = Back-upmap
path = /media/USBHDD1/-shares
geldige gebruikers = @users
force group = gebruikers
create mask = 0660
directorymask = 0771
read only = nee
Opmerking : Wat u tussen de haakjes in de bovenste regel plaatst, wordt de naam van de map zoals deze wordt weergegeven op de netwerkshare. Als u een andere naam anders dan "Backup" wilt, is dit het moment om het 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. Terug bij de opdrachtprompt voert u de volgende opdracht in om de Samba-daemons opnieuw te starten:
sudo /etc/init.d/ samba restart
Op dit moment 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 de wachtwoordback-ups4ever. U kunt uw gebruikersnaam en wachtwoord maken wat u maar wilt. Hiertoe typt u de volgende opdrachten:
sudo useradd backups -m -G gebruikers
sudo passwd backups
U wordt gevraagd om het wachtwoord tweemaal in te voeren om te bevestigen. Na het bevestigen van het wachtwoord, is het tijd om "back-ups" toe te voegen als een legitieme Samba-gebruiker. Voer de volgende opdracht in:
sudo smbpasswd -a backups
Voer het wachtwoord in voor het back-upaccount wanneer daarom wordt gevraagd. Nadat u het gebruikersaccount en wachtwoord hebt gemaakt, hoeft u de Samba-daemon niet opnieuw te starten, omdat we al hebben aangegeven dat u op zoek moet naar geverifieerde gebruikers. We kunnen nu op elk Samba-apparaat op ons netwerk springen en de connectiviteit testen met de netwerkshare.
Van een Windows-computer in de buurt hebben we de Windows-bestandsverkenner geopend, op Netwerk geklikt, bevestigd dat de hostnaam RASPBERRYPI in de werkgroep WERKGROEPEN zat en op de gedeelde map klikte Back-ups:
Voer de inloggegevens in die je in de vorige stap hebt gemaakt wanneer hierom wordt gevraagd( als u lijn voor regel volgt, is de login een back-up en het wachtwoord is altijd backup4).
Zodra uw inloggegevens zijn geaccepteerd, wordt u getrakteerd op een lege map omdat er nog niets in de share staat. Om te controleren of alles goed werkt, maken we een eenvoudig bestand vanaf de computer waarop we de verbinding hebben getest( in ons geval de Windows 7-desktop).Maak een txt-bestand zoals:
Nu, vanaf de opdrachtregel die we al die tijd hebben gebruikt, laten we controleren of het bestand dat we hebben gemaakt op het Windows-bureaublad correct wordt weergegeven in de gedeelde map die we hebben gemaakt. Typ de volgende opdracht op de opdrachtregel:
cd /media/USBHDD1/-shares
ls
hello-is-it-me-you-are-looking-for.txt bevindt zich in de directory;ons eenvoudige gedeelde directory-experiment 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 gestart, de externe harde schijven automatisch worden gemount. Om dit te doen, moeten we de nano-editor opstarten en een snelle bewerking uitvoeren. Typ het volgende op de opdrachtregel:
sudo nano /etc/ fstab
Hiermee wordt de bestandssysteemtabel in nano geopend, zodat we een paar snel invoeren kunnen toevoegen. Voeg in 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 te bewaren en overschrijf het bestaande bestand.
Als u slechts één enkele harde schijf gebruikt voor eenvoudig delen van het netwerk zonder redundantie, dan is dat alles! U bent helemaal klaar met het configuratieproces en kunt beginnen te genieten van uw ultra-low power NAS.
Uw Raspberry Pi NAS configureren voor eenvoudige gegevensredundantie
Tot nu toe is onze Raspberry Pi NAS aangesloten op het netwerk, bestandsoverdracht is goed, maar er ontbreekt één opvallend ding. Die secundaire harde schijf is geconfigureerd maar zit volledig inactief.
In dit gedeelte van de tutorial gebruiken we twee eenvoudige maar krachtige Linux-tools, rsync en cron, om onze Raspberry Pi NAS te configureren voor het uitvoeren van een nachtelijke dataspiegel vanuit de /shares/-map op de primaire schijf naar de /shares/-map op desecundaire schijf. Dit wordt geen realtime RAID-achtige gegevensspiegeling, maar een dagelijkse( of semi-dagelijkse) gegevensback-up naar de secundaire schijf is een prima manier om een nieuwe laag gegevensbeveiliging toe te voegen.
Allereerst moeten we rsync toevoegen aan onze Rasbian-installatie. Als dit de eerste keer is dat u rsync gebruikt en u wilt een beter overzicht krijgen van de opdracht, raden we u aan te controleren hoe u rsync kunt 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
Nadat rsync is geïnstalleerd, wordt het tijd om een cron-taak in te stellen om het kopiëren van bestanden van USBHDD1 naar USBHDD2 te automatiseren. Voer op de opdrachtregel de volgende opdracht in:
crontab -e
De opdracht opent uw cron-planningstabel in de nano-teksteditor, die u op dit moment in de zelfstudie tamelijk 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 - delet /media/USBHDD1/ deelt /media/USBHDD2/shares/
Deze opdracht geeft aan dat elke dag om 05:00( het 0 5 deel), elkeenkele dag( * * *, wilde kaarten in het jaar, maand, dagvlekken), we willen dat rsync de twee mappen vergelijkt, alles van HDD1 naar HDD2 kopieert en alles in de back-upmap verwijdert die niet langer overeenkomt met iets in de primaire map-d.w.zals 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 onderdeel van het configureren van deze opdracht is dat u een tijd selecteert die geen invloed heeft op andere netwerkactiviteiten voor de gedeelde mappen die u mogelijk hebt gepland. Als u bijvoorbeeld uw Raspberry Pi NAS als een back-upbestemming gebruikt voor een soort geautomatiseerde software die uw bestanden elke ochtend om 5.00 uur naar de NAS kopieert, moet u de back-uptijd in uw back-up software aanpassen of moet uom de tijd voor de cron-job op de Pi aan te passen, maar u kunt niet zowel de externe back-updumpgegevens op de netwerkshare plaatsen als de Raspberry Pi die gegevens tegelijkertijd tussen lokale stations proberen te synchroniseren.
Nadat u het crontab-item hebt 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 te laten spiegelen en de initiële cron-taak wat lichter op het systeem wilt maken, ga je gang en voer je hetzelfde rsync-commando als crtab in op de opdrachtregel:
rsync -av - verwijder /media/USBHDD1/ shares /media/USBHDD2/shares/
Dat is alles! Het enige dat u op dit moment hoeft te doen, is om de volgende dag of twee in te checken op uw Raspberry Pi om ervoor te zorgen dat de geplande taak zoals verwacht wordt afgevuurd en de gegevens van /USBHDD1/shares/ worden weergegeven in /USBHDD2/shares/.
Vanaf nu wordt alles wat u in uw Raspberry Pi-gevoede NAS plaatst dagelijks over beide harde schijven gespiegeld.
Voordat we het onderwerp volledig verlaten, volgen hier enkele aanvullende How-To Geek-artikelen die u misschien wilt bekijken om meer punch toe te voegen aan uw nieuwe Raspberry Pi-gevoede NAS:
- Back-up van uw Gmail-account maken met uw Ubuntu-pc - hoewel deinstructies zijn voor Ubuntu, je kunt ze eenvoudig aanpassen voor Rasbian om je Pi NAS om te zetten in een automatische e-mail back-up machine.
- Welke bestanden moet u back-uppen op uw Windows-pc? -Als u niet zeker weet welke bestanden u moet back-uppen naar uw NAS, is dit een goed beginpunt.
- Hoe u op afstand uw gegevens gratis kunt back-uppen 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 waarvan u graag wilt dat wij het ondernemen? Groot of klein, we spelen graag met de Pi-sound in de comments met jouw ideeën.