Hoe een Raspberry Pi te gebruiken als een netwerk-tijdmachine aandrijving voor uw Mac
Waarom zou u $ 300 uitgeven aan een AirPort Time Capsule als u er zelf een kunt maken met een Raspberry Pi en een externe harde schijf? Het duurt even, maar zodra alles is ingesteld, maakt uw Mac automatisch een back-up, zonder enige inspanning van uw kant. U hoeft niet langer een drive op uw computer aan te sluiten.
Nog beter: wanneer het tijd is om bestanden te herstellen, kunt u de harde schijf loskoppelen van de Pi en deze rechtstreeks op uw Mac aansluiten, zodat u kunt herstellen van een systeemstoring met behulp van Systeemherstel. Soortgelijke hacks werken niet op deze manier.
Wat je nodig hebt
We hebben je laten zien hoe je een back-up kunt maken van je Mac met Time Machine en zelfs hoe je back-ups van Time Machine over het netwerk kunt uitvoeren. Maar in die tutorials vereiste back-up via het netwerk dat een andere Mac als een server fungeerde. Dus als je in een huishouden met één Mac woont, zou je je enige optie kunnen bedenken om een USB-harde schijf aan te sluiten of een Apple Time Capsule van $ 300 te kopen.
Dat is niet waar. De Raspberry Pi die is aangesloten op een externe harde schijf, is een geweldig geïmproviseerd alternatief voor een Time Capsule of een andere Mac en het is veel goedkoper. (Ja, de Time Capsule bevat routerfunctionaliteit, dus het is eigenlijk een fatsoenlijke prijs voor wat het biedt, maar met deze methode kun je elke gewenste router gebruiken en krijg je meer ruimte voor upgrades wanneer je schijf geen ruimte meer heeft.)
Deze tutorial gaat ervan uit dat je al de basiskennis hebt over hoe je een Raspberry Pi opzet. Het vereist ook een klein beetje uitrusting:
- Een Raspberry Pi. Elk model zal het doen, maar het huidige model is de Raspberry Pi 3 Model B.
- Een SD-kaart voor het besturingssysteem van de Raspberry Pi. Oudere Raspberry Pis zullen een standaard SD-kaart gebruiken, terwijl nieuwere een microSD-kaart nodig zullen hebben, dus zorg ervoor dat je de juiste soort krijgt. Hier is een geweldige lijst met geteste kaarten en de Pi.
- A Stroomvoorziening voor de Pi. De Pis-voedingspoort is slechts microUSB, maar we raden aan om een voeding te krijgen die is ontworpen voor de Pi voor betrouwbare prestaties - deze van CanaKit werkt goed.
- Een bekabelde netwerkverbinding voor je Pi (je zou wifi kunnen gebruiken, maar het vereist meer setup en bedraad zal veel beter zijn voor die grote back-ups via het netwerk)
- Een externe harde schijf, die u via USB op de Pi aansluit. We raden aan om een externe vaste schijf op de pc te krijgen met een eigen speciale voeding, tenzij u een door USB aangedreven schijf hebt die is getest en werkt met de Pi.
Je kunt de meeste van deze dingen (en meer) in één klap krijgen met een goede Raspberry Pi-starterkit zoals deze, of je kunt ze apart kopen. Jouw beslissing.
Ik kwam achter deze methode uit een blogpost van Caleb Woods, en vulde een paar dingen in die niet voor mij werkten door deze post op Badbox.de te lezen. Hartelijk dank aan jullie beiden.
Een laatste opmerking: deze hack werkt redelijk goed in mijn ervaring, maar uiteindelijk is het nog steeds precies dat: een hack. Om deze reden raad ik aan een back-up naast dit te hebben, bij voorkeur iets offsite. (Je zou toch altijd een externe back-up moeten hebben, in geval van brand of een andere natuurramp.)
Stap één: bereid de externe schijf voor op tijdmachine
Het eerste dat u hoeft te doen, is de externe schijf voorbereiden om met Time Machine te werken. Sluit de schijf aan op uw Mac en start Schijfhulpprogramma. Selecteer uw externe schijf en klik vervolgens op de knop "Wissen". Je gaat de schijf formatteren als "Mac OS Extended", ook bekend als HFS+.
Vervolgens willen we ervoor zorgen dat uw Raspberry Pi en elk apparaat toestemming hebben om de schijf te besturen. Ga naar de Finder en klik met de rechtermuisknop op de schijf in de zijbalk. Klik op 'Info ophalen'.
Onderaan het venster dat wordt geopend, vindt u de machtigingsinstellingen.
Klik op het slot rechtsonder en voer uw wachtwoord in. Vink vervolgens "Negeer eigendom op dit volume aan" aan. En daarmee bent u klaar om uw externe schijf met de Pi te verbinden.
Stap twee: installeer Raspbian op je Pi en maak verbinding via SSH
Vervolgens moet je je Raspberry Pi met Raspbian instellen, zoals beschreven in dit artikel. We zullen het proces hier niet gedetailleerd beschrijven, omdat het een op zichzelf staand project is, dus ga naar die gids om Raspbian op je Pi te installeren. Ik heb Raspbian Core gebruikt voor mijn setup, omdat ik de Pi niet op een beeldscherm heb aangesloten, maar er is geen reden waarom de volledige GUI-versie van Raspbian niet ook zou werken.
Nu we het erover hebben: je hebt twee keuzes als het gaat om de rest van deze tutorial. Je zou je Raspberry Pi op een toetsenbord kunnen aansluiten en de dingen op die manier kunnen instellen, of je kunt verbinding maken met je Pi via SSH en elke stap uitvoeren vanuit je comfortabele Mac. We denken dat de SSH-methode veel eenvoudiger is dan het vinden van een willekeurige monitor, dus hier is hoe dat te doen.
Start de Terminal op uw Mac en voer vervolgens de volgende opdracht in:
Vervangen 192.168.1.11
met het IP-adres van uw Pi. U kunt het IP-adres van elk apparaat dat op uw netwerk is aangesloten, inclusief uw Raspberry Pi, vinden door naar de webinterface van uw router te gaan.
U wordt vervolgens om een wachtwoord gevraagd voor de standaardgebruiker, pi
. Het wachtwoord voor pi
is standaard, framboos
.
Als u voor de eerste keer verbinding maakt met een nieuw systeem, raad ik u aan een paar dingen te configureren voordat u doorgaat. Eerste loop sudo raspi-config
en verander je standaard wachtwoord. Je kunt hier ook je standaardbestandssysteem uitbreiden, als je een grote SD-kaart hebt (hoewel dit niet nodig is voor deze tutorial.) Je Raspberry Pi wordt opnieuw opgestart, op dat moment ben je klaar om aan de slag te gaan.
Stap drie: monteer uw externe schijf
Voordat u uw Time Machine kunt instellen, moet u de drive zo monteren dat uw Raspberry Pi deze kan lezen en ernaar kan schrijven. Om dit te doen moet je wat software installeren. Zorg er eerst voor dat alle software op de Pi up-to-date is. Voer deze twee opdrachten één na één uit:
sudo apt-get update
sudo apt-get upgrade
Installeer vervolgens twee pakketten: hfsprogs en hfsplus. Hiermee kun je je Raspberry Pi je Mac-geformatteerde schijf laten lezen.
sudo apt-get install hfsprogs hfsplus
U hebt nu software die uw schijf kan monteren, maar u moet weten welk station u moet plaatsen, dus u moet wat onderzoek doen. Begin met het starten van Parted.
sudo / sbin / gescheiden
Typ vervolgens afdrukken
om een lijst met momenteel verbonden stations te zien. Je zou je externe schijf hier moeten zien.
Uit deze schermafbeelding kunnen we zien dat mijn schijf een 164 GB Maxtor-schijf is (ik krijg later een grotere schijf, dat beloof ik.) Het belangrijke stukje informatie hier is / Dev / sda
. je schijf heeft een vergelijkbare naam, die je moet noteren.
Bekijk vervolgens de tabel onder dat blok met tekst. In mijn geval is het duidelijk dat de tweede, grotere partitie is waar ik naar op zoek ben. Daarom merk ik op dat de partitie die ik wil aankoppelen is sda2
. Mogelijk hebt u een iets ander cijfer nodig als u meer dan één schijf of meer dan één partitie op uw schijf hebt.
Nu je de informatie hebt die je nodig hebt, typ je ophouden
en druk op Enter. Vervolgens gaan we een map maken die als ons mountpoint zal dienen ...
sudo mkdir -p / media / tm
... en voeg vervolgens wat informatie toe aan het fstab-bestand. Gebruik deze opdracht om een teksteditor te openen:
sudo nano / etc / fstab
Plak de volgende regel in het document en vervang deze / Dev / sda2
met de partitie van je drive, indien anders dan / dev / sda2.
/ dev / sda2 / media / tm hfsplus force, rw, user, auto 0 0
Nadat je de tekst hebt geplakt, druk je op Ctrl + X om de editor te verlaten. Zorg ervoor dat je opslaat wanneer je dit doet.
Monteer vervolgens de schijf met:
sudo mount -a
Als u geen foutmelding ziet, gefeliciteerd! Je hebt je schijf met succes gemonteerd.
Stap drie: compileer en installeer Netatalk
Netatalk is een stukje software dat AFP simuleert, het netwerkprotocol dat Apple momenteel gebruikt voor back-ups van Time Machine. U kunt een oude versie van Netatalk gebruiken met sudo apt-get install netatalk
, maar Ik beveel ten zeerste aan dat je dat niet doet. Vanwege (grotendeels politieke) complexe redenen biedt Debian - waarop Raspbian is gebaseerd - een zeer verouderde versie van Netatalk in zijn opslagplaatsen. Je kunt Time Machine wel enigszins aan het werk krijgen met deze verouderde versie van Netatalk, maar in mijn ervaring is het frustrerend.
Ik raad dus aan om de nieuwste versie te compileren. Het is meer een gedoe om te installeren, maar het is het waard.
Eerst moet u de afhankelijkheden installeren. Hier is alles wat u moet installeren, in één opdracht:
sudo aptitude install build-essential libevent-dev libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmysqlclient-dev avahi-daemon libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libio-socket-inet6-perl tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev
Dit kan even duren om te installeren. Download vervolgens de nieuwste versie van Netatalk. Op dit moment is dat 3,1.10, hoewel je misschien de startpagina van netatalk wilt controleren om het laatste versienummer te krijgen. Voer vervolgens deze opdracht uit om het te downloaden:
wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.10.tar.gz
Vervang het versienummer als u een nieuwere versie op hun site vindt.
Pak het gedownloade bestand nu uit met:
tar -xf netatalk-3.1.10.tar.gz
Schakel vervolgens over naar de nieuwe map die u zojuist hebt gemaakt.
cd netatalk-3.1.10
Vervolgens kunt u alle instellingen van netatalk configureren voordat u het programma compileert, met behulp van deze opdracht:
./ configure \ --with-init-style = debian-systemd \ --without-libevent \ --without-tdb \ --with-cracklib \ --enable-krbV-uam \ --with-pam-confdir = / etc / pam.d \ --with-dbus-daemon = / usr / bin / dbus-daemon \ --with-dbus-sysconf-dir = / etc / dbus-1 / system.d \ --with-tracker- pkgconfig-version = 1.0
Ervan uitgaande dat u geen foutmeldingen ziet, kunt u doorgaan naar de volgende fase en uitvoeren:
maken
Dit gaat een tijdje duren. Je kunt net zo goed koffie, scones en een driegangenmenu maken. Een Raspberry Pi is niet snel in het compileren van software.
Wanneer alles klaar is, kun je eindelijk Netatalk installeren:
sudo make install
Was dat niet leuk? Controleer snel of Netatalk daadwerkelijk wordt uitgevoerd:
netatalk -V
Je zult een heleboel informatie zien over je Netatalk-instellingen. Als alles er goed uitziet, kunnen we dingen configureren!
Stap vier: Netatalk configureren
Nu Netatalk is geïnstalleerd, moet je het vertellen om je schijf te delen. Eerst moet je het bewerken nsswitch.conf
.
sudo nano /etc/nsswitch.conf
Hier moet je toevoegen mdns4
en mdns
naar de regel die begint met "hosts:", zodat het er zo uitziet:
hosts: bestanden mdns4_minimal [NOTFOUND = retourneren] dns mdns4 mdns
Deze fijnafstelling betekent dat je Time Machine-schijf in Finder's zijbalk verschijnt zodra je je Raspberry Pi op het netwerk aansluit.
Vervolgens moet je bewerken afpd.service
:
sudo nano /etc/avahi/services/afpd.service
Kopieer dit tekstblok en plak het in dat bestand:
% h _afpovertcp._tcp 548 _device-info._tcp 0 model = TimeCapsule
Onder andere deze informatie zorgt ervoor dat uw Raspberry Pi een echte Apple Time Capsule nabootst, compleet met het juiste pictogram.
Eindelijk is het tijd om uw externe schijf in te stellen als een netwerkshare.
sudo nano /usr/local/etc/afp.conf
Onderaan dit document plak je de volgende tekst:
[Global] mimic model = TimeCapsule6,106 [Time Machine] path = / media / tm time machine = yes
U kunt desgewenst een andere naam dan "Time Machine" tussen de tweede haakjes plaatsen. Hierdoor verandert de naam van de schijf waarnaar u een back-up hebt gemaakt, zoals weergegeven in Finder en Time Machine zelf.
Tot slot, ga je gang en start je de netwerkdiensten. Voer in volgorde de volgende twee opdrachten uit:
sudo service avahi-daemon start
sudo service netatalk start
Uw schijf wordt nu aangeboden op het netwerk. Om ervoor te zorgen dat dit gebeurt elke keer dat u uw Raspberry Pi opstart, voert u deze commando's opnieuw in, één na één:
sudo systemctl enable avahi-daemon
sudo systemctl enable netatalk
We zijn nu heel dichtbij!
Stap vijf: maak verbinding met uw tijdmachine
Ga op je Mac naar de Finder en je zou je Raspberry Pi hier moeten zien.
U kunt vanaf hier verbinding maken door op "Verbinden als" te klikken en dezelfde gebruikersnaam en hetzelfde wachtwoord in te voeren als waarmee u verbinding maakt via SSH.
In mijn ervaring werkt Time Machine echter beter als u verbinding maakt met de drive via zijn IP-adres, vooral als u statische IP-adressen hebt ingesteld bij uw router (wat u waarschijnlijk wel zou moeten doen). Om verbinding te maken, open Finder en druk op Command + K op je toetsenbord.
Nadat u de schijf hebt aangekoppeld, gaat u naar Systeemvoorkeuren> Tijdmachine en selecteert u de schijf als uw Time Machine-back-up.
De eerste back-up wordt uitgevoerd en daarna worden er elk uur back-ups gemaakt. U hebt nu een Time Machine-schijf in een netwerk. Genieten!