Az Apple Time Capsule szervere egy rendkívűl jól működő, és kifinomult megoldás a biztonsági mentések automatikus, hálozaton történtő megoldására. Mac gépek gazdáinak „kötelező” használni a Time Machine-t egyszerű biztonsági megoldás, ami a külső merevlemezek mellett a Time Capsule szerverekre is képes menteni.
A Time Capsule ára azonban meglehetősen borsos, és ha már van egy jól felépítet hálózatunk routerel lehet felesleges is. Egy Pi és egy megfelelő méretű merevlemez kombincáiójával – na és persze némi idővel – ugyanis mi magunk is készíthetünk egy saját Time Capsule szervert.
Mire van szükségünk:
- egy Raspberry Pi-re, amin már van hálózat
- egy USB-s merevlemezre
- Mac számítógépre a Time Machine miatt
Lássunk is neki, nem lesz túl bonyolult.
Lemez előkészítése
Első lépés a merevlemez formázása, és előkészítése a Time Machine számára. Ehhez a cfdisk és parted nevű parancsokat fogjunk használni. Telepítsük fel a cfdisket, ha még nem lenne a rendszerben, a parted nagy valószínűésggel már rendelkezésre áll. A parancsokat root felhasználóval adjuk ki!
apt-get install cfdisk
Most már csak fel kell csatolni, és formázni a meghajtót. Ha még nem lenne csatlakoztatva a lemez, csatlakoztassuk, ha pedig már rádugtuk, huzzuk ki, majd csatlakoztassuk ismét. A dmesg parancs kiadásával ellenőrizhejtük, hogy milyen eszköz azonosítóval ismerte fel a Pi az USB-s merevelemezt, a kiadott parancs utolsó pár sorában valami hasonlónak kell lennie:
[sdb] Attached SCSI removable disk
Ha már van egy USB-s eszköz a Pi-n, akkor nagy valószínűséggel /dev/sdb lesz a cím, ha még nincs, akkor /dev/sda -ra számítsunk.
Formázzuk meg, és hozzuk létre a megfelelő particíót:
cfdisk /dev/sdb
parted /dev/sdb
mklabel gpt
unit s
mkpart primary 2048s 100%
name 1 BFS
quit
Vegyük figyelembe, hogy a fenti parancs 2TB, vagy anál nagyobb méretű eszközök számára ideális. Ha kész a partíciónálás, ideje létrehozni a fájlrendszert neki:
mkfs.ext4 /dev/sdb
A lemez előkészületekkel meg vagyunk, már csak fel kell csatolni a lemezt, hogy a kezelni is tudjuk rendszeren. Ehhez az /etc/fstab fájlt fogjuk szerkeszteni. Ebben az egyszerű fájlban van tárolva ugyanis, hogy milyen meghajtókat, hova csatalkoztasson az indulás során a Linux. Ha nem írnánk ide be, csak a mount parancs segítésével felcsatolnánk a lemezt, egy újraindítás után nem lenne ott automatikusan a lemez.
Nyissuk meg a fájlt a kedvenc szerkesztőnkkel (vim, mcedit, nano):
mcedit /etc/fstab
Majd adjuk hozzáa a következő sort:
/dev/sdb1 /mnt/data ext4 noexec,defaults 0 0
Ami változhat, az természetesen az eszköz azonosítója, illetve a második paraméter, ami a csatolási pontot adja meg. Ebbe a „könyvtárba” fog ugyanis felcsatolódni a külső lemez. Lépjünk ki mentéssel a szerkesztőból, és hozzuk létre az előbb említett mappát:
mkdir /mnt/data
Elvileg mindent jól előkészítettünk, úgyhogy próbáljuk meg felcsatolni a merevlemezt:
mount -a
Ezzel a paranccsal minden meghajtót, ami az fstab fájlban le van írva felcsatol azonnal a rendszer. Ha hiba nélkül lefutott akkor jók vagyunk. A df -h parancs kiadásával tudjuk ellenőrizni, hogy megjelent-e a lemez a megfelelő helyen, és láthatjuk azt is azonnal, hogy mekkora a kapacitás és a foglalt hely.
Szoftverek telepítése, és konfiguráció
Az egyetlen további extra csomag, amit telepíteni kell a netatalk, amely képes beszélni az AFP protokoll nyelvét. Ez pedig ezért kell nekünk, mert az Apple Time Machine ezen keresztül kommunikál a gépekkel. Telepítsük fel, majd állítsuk be, hogy a rendszer bootlásakor ezt a szolgáltatást is elindítsa a linux:
apt-get install netatalk
update-rc.d netatalk defaults
Ezek után személyre kell kicsit szabni a dolgokat, de ez sem lesz bonyolult. A Linux a szolgáltatások beállításait az /etc alatt gyűjti össze, és nincs ez mása netatalk esetében sem. Vegyük elő újra a kedvenc szerkesztőnket, és nyissuk meg a beállításokat tartalmazó fájlokat. Természetesen ezt is root felhasználóval kell végezni.
mcedit /etc/afp.conf
Illeszük be a következő alap konfigurációs fájlt:
[Global]
mimic model = TimeCapsule6,106
log level = default:warn
log file = /var/log/afpd.log
hosts allow = 196.168.1.0/24[Homes]
basedir regex = /home[TimeMachine]
path = /mnt/data/timecapsule/
valid users = pi wife
time machine = yes
Pár dolgot még módosítani kell, elsőképpen a host allow részben a megfelelő hálózat kell megadnunk. Az ifconfig paranncsal tudjuk ellenőrzni, hogy nálunk milyen ip-t osztott ki a router, és ennek megfelelően tudjuk megadni a hozzá tartozó range-t is.
Be kell állítani, hogy a Time Capsule melyik könyvtárba dolgozzon. Ha az előzőleg máshova mountoltuk fel a lemezt, akkor a path részen is azt adjuk meg. A „timecapsule” mappát még létre kell hoznunk.
Meg kell adni még azt is, hogy milyen felhasználók kapcsolódhatnak a Time Capsule-hoz. A „wife” egy új felhasználó, ami eddig nem volt a pi-n létrehozva, így hozzunk létre, és adjuk meg neki a megfelelő jogosultságokat.
useradd wife
passwd wife
groupadd users
usermod -aG users wife
Létrehoztuk a felhasználót, beállítottunk neki egy jelszót, és beraktuk a „users” csoportba.
Utolsó lépsben még annak a könyvtárnak a jogosultságait kell megfelelően beállítani, ahova a Time Machine majd menteni fogja a dolgokat:
chown pi:users /mnt/data/timecapsule
chmod 775 /mnt/data/timecapsule
A faragással kész is vagyunk, nincs más hátra mint az OS X-en elindítani a Time Machine-t, és beállítani, hogy a pi-n található Time Capsule-ra mentsen. Itt jelszót és felhasználó nevet fog kérni, használhatjuk az alapértelmezetten pi user-t, és az előbb fent létrehozott wife nevű felhasználót is.
forrás: https://raymii.org/s/articles/Build_a_35_dollar_Time_Capsule_-_Raspberry_Pi_Time_Machine.htlm