Time Machine diszk debian szerverben

Time Machine diszk debian szerverben

Az alábbi leírást 4-5 internetes forrás és egy kis saját kísérletezés eredményeképp sikerült összehozni. A leírás alapján egy AFP szervert faragunk debian vagy ubuntu szerverünkből, ahol az egyik megosztást kvázi “Time Capsule“-ként használjuk.

Linux szerverünkből a netatalk démon segítségével varázsolhatunk afp kiszolgálót, a Bonjour funckióját pedig az Avahi látja el.

Sajnos a netatalk előre fordított verziója nem alkalmas számunkra (ssl támogatás nélküli), de könnyen és egyszerűen fordul a forrás is. Mac OSX Lion DP4 esetében feltétlenül a 2.2-es verzióra lesz szükségünk, ami jelenleg beta4 fázisban van, mert a lion-os backupnak szüksége van egy Server Reply Cache nevű szolgáltatásra, amit a korábbi netatalk verziók nem tartalmaznak.

Természetesen a csomagfordítás első és legfontosabb eleme a build-essential csomag megléte, ha még nem rendelkezünk vele:

apt-get install build-essential

A netatalk fájdalommentes lefordításához szerezzünk be minden függőséget:

sudo apt-get build-dep netatalk

majd magát a netatalk csomagot: (az apt-get source netatalk semmit nem ér, borzalmasan elavult) http://netatalk.sourceforge.net/, meg lehet próbálni stabillal, nekem csak a 2.2 Beta-val ment rendesen.

Tömörítsük ki valami kulturált helyre, majd fordítsunk belőle csomagot:

./configure --enable-afp3 --enable-timelord --enable-cups --enable-a2boot --enable-debian --with-ssl-dir=/usr/lib/ssl --with-cnid-cbd-backend --with-cnid-dbd-backend
make && make install

(természetesen ha csak erre a célra szeretnéd az afp szervert használni, a –enable-timelord –enable-cups –enable-a2boot simán elhagyható)

Ezen a ponton érdemes a netatalkot “hold” állapotba rakni, hogy az APT vagy az Aptitude nehogy galibát csináljon és felrakja a disztribúcióhoz mellékelt csomagot.

echo "netatalk hold" | sudo dpkg --set-selections

A netatalk beállítása:

a /etc/default/netatalk fájlban állítsuk be, hogy mely szolgáltatásokat nyújtsa a szoftver:


ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

A feladat szempontjából nagyon jelentős a CNID_METAD_RUN=yes bejegyzés. A CNID daemon fontos metaadatokat tárol.

a kézzel fordított netatalk konfigurációs állományai a /usr/local/etc/netatalk mappa alatt lesznek.

az afpd.conf végére szúrjuk be az alábbiakat:

- -transall -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword -advertise_ssh

a -nosavepassword ízlés szerint egy kis biztonsági résért + kényelemért cserébe beváltható egy -savepassword -ra, a -advertise_ssh pedig elhagyható ha nincs 10.5-nél öregebb OSX-ünk. A uams_dhx2.so nagyon fontos, enélkül a Lion nem nagyon fog csatlakozni a szerverhez.

Következő lépés a megosztások beállítása, ehhez a /usr/local/etc/netatalk/AppleVolumes.default fájlban kell turkálnunk. A fájl eleje szintén komment, ki lehet belőle igény szerint okosodni.

Lesz a végén egy ilyen sor:

~

nagyjából egyértelmű, mindenkinek kiajánlja a saját mappáját. Ha nem akarunk ilyent akkor simán kommentezzük ki a sort.

a Time machine megosztáshoz az alábbi sort használom:

/TIME_MACHINE/		"TimeMachine" cnidscheme:dbd options:usedots,upriv,tm,noadouble dperm:0755 fperm:0755 ea:sys|ad

Az első szó a megosztott mappa elérési útja. Nyilván, mivel a Time machine szereti felzabálni az összes helyet, ez egy különálló diszk. (Egy kis kitérő: az afpd szereti ha a megosztás alatt lévő mount point opciói között szerepel a user_xatrr bejegyzés. Esetemben ez így fest: /dev/sdb1 /TIME_MACHINE ext4 defaults,user_xattr,acl 0 0). Akkor sincs tragédia ha nem használjuk, ebben az esetben minden extended attribútumot a .Appledouble mappa alatti állományokba fog írkálni.

az idézőjelek között TimeMachine a megosztás neve.

a cnidscheme:dbd a használandó cnid backendet jelöli. Nem próbáltam, de olvastam egy-két helyen hogy a cdb sebesebb bír lenni, de nem bírtam működésre bírni. dbd-vel simán megy.

options, ami fontos belőle:

  • noadouble: ne használja a .AppleDouble fájlokat, csak ha nagyon muszály.
  • upriv: a létreövő fájlok jogosultságait adhatjuk meg.
  • tm: time machine support
  • dperm: a mappák jogosultsága. fperm: a fájlok jogosultsága. (Ha megegyezik, mint itt, akkor lehet simán perm: is).
  • ea:sys|ad: az extended attribútumokat elsősorban a fájlrendszerben próbálja tárolni, ha nem megy, akkor jöhet a .AppleDouble megoldás

ha megvan, jöhet egy netatalk újraindítás:

/etc/init.d/netatalk restart

 

majd kürtöljük világgá hogy van ilyen szolgáltatásunk:

sudo apt-get install avahi-daemon
sudo apt-get install libnss-mdns

és szerkesszük meg a /etc/nsswitch.conf fájlt.

Keressük meg benne ezt a sort:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

és írjuk a végére az mdns bejegyzést.

Hozzunk létre egy /etc/avahi/services/afpd.service nevű fájlt az alábbi tartalommal:

<?xml version=”1.0″ standalone=’no’?><!–*-nxml-*–>
<!DOCTYPE service-group SYSTEM “avahi-service.dtd”>
<service-group>
<name replace-wildcards=”yes”>%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>

és indítsuk újra a szolgáltatást:

/etc/init.d/avahi-daemon restart

 

Kliens oldali varázslat:

Beszéljuk rá a Time Machine-t hogy nem támogatott diszkeket is hagyjon kiválasztani. Ehhez egy terminal-ra lesz szükségünk (Applications/Utilities), amibe az alábbi parancsot kell begépelni (másolni):

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Első alkalommal fel kell mountolnunk a backup diszket, ehhez egy finder ablakra lesz szükségünk. Ha a Bonjour jól dolgozik, akkor a bal oldali oldalsávban már ott fog vigyorogni a szerverünk, szimpatikus Xserve ikonnal. Ha nem, akkor a go->connect to server kell nekünk. Az eléréi úthoz írjuk be az alábbiakat: afp://szerver.ip/ majd csatlakozzunk.

Kapcsolódás AFP szerverhez

Kapcsolódás AFP szerverhez

Ha minden jól megy, kérni fog egy felhasználót és egy jelszót. Itt a debian / ubuntu szerveren érvényes hitelesítő adatainkat adjuk meg, ha egynél több megosztásunk van, akkor pedig válasszuk ki a TimeMachine megosztást.

Válasszuk ki a TimeMachine megosztást!

Válasszuk ki a TimeMachine megosztást!

majd a system preferences-ben válasszuk ki a Time Machine beállításait, és jelöljük ki a frissen létrehozott mentés lemezt.

Figyeljünk oda, ész nélkül fel fog sorolni minden hálózati meghajtót, de ettől függetlenül nem hajlandó bárhova menteni.

Biztonsági mentés kötet kiválasztás

Biztonsági mentés kötet kiválasztás

és ha mindent jól csináltunk, akkor boldogan menteni fog. Az első mentés _nagyon_ sokáig is eltarthat, nálam draft n-es hálón 75 gigát vagy nyolc órán keresztül szenvedett át, egy ethernet kábel tehát csodákra képes.

A leírás kb 80-90%-a ebből a postból származik, így megérdemel egy viszontlinket: http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/

Remélem hasznát veszitek a leírásnak. Ha valami nem stimmel, örömmel várom a kommenteket, nekem már sikerült végigverekednem magam ezen a (kicsit rögös) úton, talán segíteni is tudok.

Kedveled? Másnak is ajánlanád? Megosztás:


Leave a Reply

Please insert the signs in the image: