Time Machine und FreeNAS

Nach eini­gen Stun­den Web­re­cher­che und tes­ten habe ich nun end­lich eine Mög­lich­keit gefun­den, zuver­läs­sig Back­ups via Time Machi­ne auf ein Gerät mit dem NAS-Sys­tem Fre­e­NAS zu rea­li­sie­ren.

Wie viel­leicht bekannt ist, hat Apple mit Mac OS X 10.5.2 die Mög­lich­keit offi­zi­ell gestri­chen, Back­ups mit­tels Time Machi­ne auf Netz­werk­vo­lu­mes vor­zu­neh­men, die kei­ne Time Cap­su­le bezie­hungs­wei­se Air­Port Extre­me mit ange­schlos­se­ner USB-Fest­plat­te sind. Das ist inso­fern ärger­lich, dass Time Cap­su­le mit maxi­mal 1 TB erhält­lich und die Geschwin­dig­keit der Daten­über­tra­gung auf­grund der inter­nen USB-Anbin­dung der Fest­plat­te eher nied­rig ist. Ins­be­son­de­re das initia­le Back­up dau­ert eine hal­be Ewig­keit.

Wer Fre­e­NAS nicht kennt: es han­delt sich dabei um ein Sys­tem, dass auf FreeBSD basiert, also ein UNIX ist, und spe­zi­ell für den Ein­satz auf NAS-Sys­te­men zuge­schnit­ten ist. Die Kon­fi­gu­ra­ti­on erfolgt hier­bei voll­stän­dig über eine über­sicht­li­che Web­ober­flä­che. Die­ses Pro­jekt basiert auf M0n0wall, einer eben­falls auf FreeBSD basie­ren­den inte­grier­ten Fire­wall-Lösung. Die Instal­la­ti­on von Fre­e­NAS kann auf meh­re­re Arten und Wei­sen erfol­gen. So ist es mög­lich, das Sys­tem direkt von einer CD-ROM zu star­ten und die Kon­fi­gu­ra­ti­ons­da­tei­en auf einem MS-DOS-for­ma­tier­ten Daten­trä­ger, wie einem USB-Stick, einer CF-Kar­te oder einer Flop­py abzu­spei­chern. Wer, so wie ich, kein opti­sches Lauf­werk in sei­nem NAS hat, kann das Sys­tem auch auf einem USB-Stick oder einer Fest­plat­te instal­lie­ren. Ich habe die Instal­la­ti­on auf einem USB-Stick gewählt. Mein NAS star­tet also von die­sem Stick und spei­chert sämt­li­che Kon­fi­gu­ra­ti­ons­da­ten auf eben­die­sem. Vor­aus­set­zung dafür ist aber, dass das BIOS das Star­ten von USB-Gerä­ten erlaubt. Außer­dem muss der USB-Stick vor der Instal­la­ti­on mit FAT oder FAT32 for­ma­tiert wer­den und darf erst nach (!) dem Start der Live-CD ange­stöp­selt wer­den. Danach soll­te die Instal­la­ti­on ein­wand­frei lau­fen. Mein Eigen­bau-NAS ver­fügt über ein Board mit Via C7 1 GHz, 1 GB RAM und zwei 1 TB gro­ßen Strom­spar-Fest­plat­ten von Wes­tern Digi­tal. Außer­dem steckt ein 1-Gbit-NIC von Intel in der Maschi­ne.

Nach der Instal­la­ti­on von Fre­e­NAS muss zuerst die IP des oder der Netz­werk­schnitt­stel­len gesetzt wer­den. Das geht ganz ein­fach über das Text­me­nü des Sys­tems. Jetzt kann man sich von einem belie­bi­gen Rech­ner aus über einen belie­bi­gen Web­brow­ser mit dem NAS ver­bin­den und die wei­te­re Kon­fi­gu­ra­ti­on vor­neh­men. Dazu gibt man ein­fach die soeben ein­ge­ge­be­ne IP-Adres­se in das Adress­feld des Brow­sers ein. Der Benut­zer­na­me lau­tet in der Vor­ein­stel­lung admin, das Kenn­wort fre­e­nas. Fre­e­NAS ver­fügt in der aktu­el­len Ver­si­on über die fol­gen­den Diens­te:

  • CIFS/SMB
  • FTP
  • TFTP
  • SSH
  • NFS
  • AFP
  • Rsync
  • Uni­son
  • iSCSI Tar­get
  • UPnP (Media­ser­ver)
  • iTunes/DAAP
  • Dyna­mic DNS
  • SNMP
  • USV
  • Web­ser­ver
  • Bit­Tor­rent (Web­ver­si­on von Trans­mis­si­on)

All die­se Diens­te las­sen sich äußerst bequem über die Web­ober­flä­che kon­fi­gu­rie­ren, nur in den sel­tens­ten Fäl­len besteht die Not­wen­dig­keit, per Text­edi­tor Hand an irgend­wel­che Kon­fi­gu­ra­ti­ons­da­tei­en zu legen. Ich selbst nut­ze vie­le die­ser Diens­te und alle lau­fen ein­wand­frei.

Nach der Instal­la­ti­on muss man zunächst die verbaute(n) Festplatte(n) für die Benut­zung vor­be­rei­ten. Ich gehe davon aus, dass die Fest­plat­ten leer sind und noch über kein Datei­sys­tem ver­fü­gen. FreeBSD ver­wen­det GEOM zur Erstel­lung und für das Manage­ment von RAID-Sys­te­men, die sich eben­falls ganz bequem über die Web­ober­flä­che ein­rich­ten las­sen. Da ich eine Wei­le gebraucht habe, um die kor­rek­te Rei­hen­fol­ge für die Erstel­lung eines RAID her­aus­zu­fin­den, hier eine klei­ne Anlei­tung:

  1. Es müs­sen die Fest­plat­ten über den Menü­punkt Fest­plat­ten -> Manage­ment hin­zu­ge­fügt wer­den. Wel­che Ein­stel­lun­gen ihr hier­bei wählt, bleibt euch über­las­sen, nur muss das Datei­sys­tem auf Soft­ware RAID ein­ge­stellt wer­den, damit die Plat­ten nach­her einem RAID-Ver­bund hin­zu­ge­fügt wer­den kön­nen.
  2. Über den Menü­punkt Fest­plat­ten -> Soft­ware RAID fügt ihr dann die Plat­ten zu eurem RAID-Ver­bund hin­zu. Wel­chen RAID-Modus ihr hier­bei wählt, ist euch über­las­sen. GEOM Stripe/Mirror/Raid5 ist die alt­her­ge­brach­te Lösung unter FreeBSD zur Erstel­lung von RAIDs, GEOM Vinum ist recht neu, soll aber laut diver­ser Web­quel­len sta­bil sein. Ich habe GEOM Vinum gewählt.
  3. Danach müsst ihr euer RAID for­ma­tie­ren, das geht ganz ein­fach über den Menü­punkt Fest­plat­ten -> For­ma­tie­ren. Unter “Fest­plat­te” wählt ihr euer RAID aus, als Datei­sys­tem soll­tet ihr auf jeden Fall das nati­ve Datei­sys­tem unter UNIX, UFS, wäh­len. Alle ande­ren Datei­sys­te­me wer­den nicht offi­zi­ell unter­stützt.
  4. Unter Fest­plat­ten -> Ein­hän­ge­punkt wählt ihr nun einen Namen für den Mount­point. Die­ser spielt für die spä­te­re Benut­zung kaum eine Rol­le, Datei­frei­ga­ben via CIFS bzw. AFP wer­den unter die­sem Namen im Explo­rer bzw. Fin­der ange­zeigt. Der Par­ti­ti­ons­typ soll­te bei einem neu ange­leg­ten RAID auf GPT ste­hen, das Datei­sys­tem wählt ihr ent­spre­chend eurer Ein­stel­lung aus 3., in mei­nem Fal­le also UFS. Alle wei­te­ren Ein­stel­lun­gen könnt ihr, sofern ihr es nicht bes­ser wisst, auf Stan­dard belas­sen.

Nach­dem ihr euer RAID für die Benut­zung erstellt habt, könnt ihr euch nun an die Kon­fi­gu­ra­ti­on der von euch benö­tig­ten Diens­te machen. Die Dia­lo­ge sind selbst­er­klä­rend, des­we­gen fol­gen hier auch kei­ne wei­te­ren Erläu­te­run­gen von mir. Für vie­le der Diens­te macht es aber Sinn, einen loka­len Benut­zer zu erzeu­gen, mit dem ihr euch spä­ter am NAS anmel­det. Dies geht über den Menü­punkt Zugriff -> Benut­zer & Grup­pen. Soll­tet ihr spä­ter Zugriff per SSH auf die Maschi­ne wün­schen, ach­tet dar­auf, dass ihr den Haken ganz unten, Vol­ler Kom­man­do­zei­len­zu­gang für Benut­zer!, setzt. Außer­dem soll­te euer Benut­zer Mit­glied der Grup­pe wheel sein, wenn ihr euch mit dem Befehl “su root” zum Root-Benut­zer machen wollt. Im Nor­mal­fall soll­te das nicht nötig sein, aber man kann ja nie wis­sen 😉

Nun zu Time Machi­ne: wenn man schon ein NAS mit rund 2 TB Fest­plat­ten­ka­pa­zi­tät sein Eigen nennt, das auch noch per Giga­bit im Heim­netz ange­bun­den ist, macht es durch­aus Sinn, sei­ne Time Machi­ne-Back­ups auf die­sem NAS abzu­le­gen. Dank der Anlei­tung von Alper Ise­ri war das glück­li­cher­wei­se nicht wei­ter schwie­rig. Wie ein­gangs erwähnt, mag Apple das aber nicht, des­we­gen muss man OS X erst mal mit dem Ter­mi­nal­be­fehl

defaults wri­te com.apple.systempreferences TMShowUn­sup­por­ted­Net­work­Vo­lu­mes 1

dazu über­re­den, auch nicht-unter­stütz­te Netz­werk­vo­lu­mes für Time Machi­ne zu akzep­tie­ren. Tes­tet danach gleich mal, ob es funk­tio­niert, indem ihr Time Machi­ne über die Sys­tem­ein­stel­lun­gen öff­net und ein Volu­me aus­wählt. Taucht euer NAS dort auf, ist soweit schon mal alles in But­ter. Wenn ihr jetzt aber ver­sucht, eine Siche­rung auf eben­die­ses Gerät vor­zu­neh­men, wer­det ihr lei­der ent­täuscht, Time Machi­ne bricht mit einer Feh­ler­mel­dung ab. Um die­ses Pro­blem zu behe­ben, gebt ihr fol­gen­des Kom­man­do im Ter­mi­nal ein:

hdi­util crea­te -size $GRÖSSEg -fs HFS+J -type SPARSEBUNDLE -vol­na­me “iMac Back­up” COMPUTERNAME_MACADRESSE.spar­se­bund­le

GRÖSSE muss hier­bei durch eine Zahl ersetzt wer­den. Das klei­ne g steht für Giga­byte. Der hier ange­ge­be­ne Wert bestimmt die Maxi­mal­grö­ße des mit die­sem Befehl ange­leg­ten Images. Über den Schal­ter -fs wird fest­ge­legt, dass als Datei­sys­tem für die­ses Image HFS Jour­na­led ver­wen­det wer­den soll. -vol­na­me legt den Namen des Images fest, der im Fin­der ange­zeigt wer­den soll, also bei­spiels­wei­se “iMac Back­up”. Den Com­pu­ter­na­men fin­det ihr den Sharing-Ein­stel­lun­gen in den Sys­tem­ein­stel­lun­gen von Mac OS. Soll­tet ihr Leer­zei­chen in eurem Com­pu­ter­na­men ver­wen­den, müsst ihr nach dem jewei­li­gen Wort einen Back­slash, \ (Tas­ten­kom­bi­na­ti­on Shift-Alt-7), ein­ge­ben. Also zum Bei­spiel “Ulfs\ iMac”. Die MAC-Adres­se bekommt ihr am Ter­mi­nal mit­tels des Befehls “ifcon­fig” oder über Netz­werk in den Sys­tem­ein­stel­lun­gen. Die MAC-Adres­se muss hier­bei ohne die Dop­pel­punk­te ange­ge­ben wer­den. Da die­ses Back­up an die MAC-Adres­se gebun­den ist, soll­tet ihr nicht ver­su­chen, das Back­up über eine ande­re Netz­werk­schnitt­stel­le zu ver­wen­den. Habt ihr also bei der Erstel­lung des Images eure LAN-Schnitt­stel­le ver­wen­det, ver­sucht bit­te nicht spä­ter die WLAN-Schnitt­stel­le zu benut­zen. Soll­te alles geklappt haben, kopiert ihr nun die­ses Spar­se-Bund­le in das Haupt­ver­zeich­nis eurer Netz­werk­frei­ga­be. Soll­tet ihr AFP ein­ge­rich­tet haben, dürf­te euer Fin­der euch das Sys­tem auch gleich anzei­gen und ihr könnt euch ver­bin­den. Wich­tig ist, dass das Image direkt ins Haupt­ver­zeich­nis kopiert wird, Unter­ver­zeich­nis­se wer­den nicht unter­stützt. Das funk­tio­niert natür­lich auch für meh­re­re Macs.

Jetzt könnt ihr Time Machi­ne anwei­sen, dass es euer NAS als Back­up-Volu­me ver­wen­den soll. Kurz nach dem Start des Back­ups dürf­te Mac OS das von euch erstell­te Image moun­ten und mit der Siche­rung begin­nen. Der Benut­zer­na­me und das Kenn­wort, das Time Machi­ne beim ers­ten Mal haben möch­te, ent­spricht dem Benut­zer­na­men und dem zuge­hö­ri­gen Kenn­wort des Benut­zers, den ihr auf dem NAS ange­legt habt.

Soll­tet ihr in eurem Log fol­gen­den Feh­ler bekom­men

afpd[pid]: bad func­tion 4F

habt ihr auch schon den Grund dafür gefun­den, dass Time Machi­ne sein Image nicht selbst erstel­len kann. Laut einem Bei­trag in den Fre­e­NAS-Foren ist die­se Funk­ti­on in der neta­talk-Ver­si­on von Fre­e­NAS noch nicht imple­men­tiert. Die­se Mel­dung könnt ihr aber getrost igno­rie­ren, das Image besteht ja bereits. In Zukunft soll die­se Funk­ti­on aber nach­ge­rüs­tet wer­den.

afpd[pid]: bad func­tion 4C

ist ein Feh­ler­code, den Spot­light gene­riert. Auch den könnt ihr igno­rie­ren.

Beteilige dich an der Unterhaltung

1 Kommentar

  1. Könn­test du ein Feed­back geben wie sich dein Fre­e­Nas Ser­ver als Time Machi­ne in den letz­ten zwei Jah­ren bewährt hat?
    LG Eric

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.