Olcsó TimeMachine NAS és DLNA szerver

Mivel a családtagok száma és a használt számítógépek darabszáma már jó ideje egy-az-egy arányt mutat, megoldást kellett találni az adatok biztonságos és lehetőleg automatikus mentésére is.

Az a file, ami csak egy helyen van tárolva egy rendszerben, valójában nincs is meg, éppen csak úgy tűnik mintha meglenne. Amint az az egy hely megsérül, lőttek az adatnak, legyen az a kedvenc filmünk, családi videó, vagy pótolhatatlan fotó. Mentés nélkül a gyűjtögetés egy igen kockázatos foglalkozás.

Több gép esetén a legegyszerűbb megoldás egy központi mentő-egység, más néven NAS (Network-attached storage – hálózati adattároló). Ilyen szerkezetek jelenleg huszonötezer forint környékétől lehet kapni és ehhez még hozzáadódik a HDD ára.

Nálunk a két Mac (10.5 és 10.7) mellett két Vaio-t is menteni kell, ráadásul az egyiken Windows, a másikon Linux van. Egy kis számolgatás után úgy döntöttem, hogy egyelőre elegendő lesz 500 GB tárhely a szerverben, erre elfér az összes gépen tárolt személyes információ, illetve marad hely néhány filmnek is. A szerverhez egy olcsó, lehetőleg halk és kis fogyasztású gépet kerestem, így jutottam el a HP Compaq D530 aprósághoz, melyet 500+80 GB SATA HDD-vel és 512 MB memóriával sikerült húszezer forintért beszerezni. Ez a vas lett a “szegény ember hómszervere”. A fogyasztása maximálisan 68.4 Watt, de file-szerverként nagyon ritka, hogy – jelezve a fogyasztás megugrását – bekapcsoljon a ventilátora.

Első körben a FreeNAS-sal próbálkoztam, de sajnos még a 8.0.2-es verzió sem képes megbirkózni az OSX Lion új, a TimeMachine-hez használt authentikációs protokolljával, így kiesett a versenyből – csak ez miatt pedig nem veszek Time Capsule-t. Második próbálkozás a jól bevált Ubuntu szerver lett, megkockáztatva a héten megjelent 11.10-es verziót. Meglepetésemre mindenféle – az ilyen esetekben sajnos megszokott – küzdelem és félre-működés elkerült, azaz a telepítés és a működés között kevesebb mint fél óra telt el.

Egy kis előjáték az APM-hez:

# apt-get install apmd libapm1 cpufreqd

Mindössze egy trükkre volt szükség, ez a “netatalk” csomag 2.2-es verziója és az ahhoz szükséges külön repository hozzáadását jelentette:

# apt-get install python-software-properties
# add-apt-repository ppa:stefanor/ppa
# apt-get update
# apt-get install netatalk

A friss “netatalk” csomag telepíése után következett a TimeMachine megosztáshoz szükséges paraméterek beállítása a “/etc/netatalk/afpd.conf” file-ban:

- -tcp -noddp -uamlist uams_guest.so,uams_dhx.so,uams_dhx2.so -nosavepassword

A Mac-es mentéshez létrehoztam egy “macbackup” felhasználót és a felhasználó home könyvtárában a “TimeMachine” alkönyvtárat:

# adduser macbackup
# mkdir /home/macbackup/TimeMachine
# chown macbackup:macbackup /home/macbackup/TimeMachine

Következő lépésként a létrehozott könyvtár AFP protokollon való publikálásához szükséges beállításokat tettem meg a “/etc/netatalk/AppleVolumes.default” file-ban:

~/ "Home Directory" options:usedots,upriv ea:ad
/home/macbackup/TimeMachine/ "TimeMachine" options:usedots,upriv,tm ea:ad allow:macbackup

Utolsó konfiguráció lépésként a létrehoztam a telepített “avahi” daemon-hoz egy “afpd” szervizt, a “/etc/avahi/services/afpd.service” file-ban:

< ?xml version="1.0" standalone='no'?>
< !DOCTYPE service-group SYSTEM "avahi-service.dtd">

%h

_afpovertcp._tcp
548


_device-info._tcp
0
model=Xserve


Mindezek után újraindítottam az “avahi” és a “netatalk” szervizeket:

# /etc/init.d/netatalk restart
# /etc/init.d/avahi-daemon restart

Az OSX Leopard és a Lion is szépen megtalálta a TimeMachine megosztást, authentikáció (macbackup user) után tökéletesen elindultak és le is futottak a mentések.

...
Oct 15 13:31:10 server afpd[5361]: AFP logout by macbackup
Oct 15 13:31:11 server afpd[5361]: AFP statistics: 83802565.77 KB read, 20573459.70 KB written
Oct 15 13:31:11 server afpd[5361]: done

A Linux-os mentéshez NFS exportot, míg a Windows-oshoz Samba megosztást hoztam létre, mindkettőhöz saját felhasználót adva.

Extraként el lehet szórakozni a CPU frekvencia állítgatásával, alap üzemben a 3 GHz fölöslegesnek tűnik, visszavehető 750 MHz-re:

root@server:~# cpufreq-info 
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: p4-clockmod
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.00 ms.
  hardware limits: 375 MHz - 3.00 GHz
  available frequency steps: 375 MHz, 750 MHz, 1.13 GHz, 1.50 GHz, 1.88 GHz, 2.25 GHz, 2.63 GHz, 3.00 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 375 MHz and 3.00 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.00 GHz (asserted by call to hardware).
  cpufreq stats: 375 MHz:0.00%, 750 MHz:0.00%, 1.13 GHz:0.00%, 1.50 GHz:81.79%, 1.88 GHz:0.00%, 2.25 GHz:0.00%, 2.63 GHz:0.00%, 3.00 GHz:18.21%  (4)
# sudo cpufreq-set -c 0 -u "750MHz"

vagy automatikusan “powersave” módba küldve:

# sudo cpufreq-set -g powersave
root@server:~# cpufreq-info 
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: p4-clockmod
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.00 ms.
  hardware limits: 375 MHz - 3.00 GHz
  available frequency steps: 375 MHz, 750 MHz, 1.13 GHz, 1.50 GHz, 1.88 GHz, 2.25 GHz, 2.63 GHz, 3.00 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 750 MHz and 1.50 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 750 MHz (asserted by call to hardware).
  cpufreq stats: 375 MHz:41.57%, 750 MHz:48.26%, 1.13 GHz:0.00%, 1.50 GHz:0.00%, 1.88 GHz:0.00%, 2.25 GHz:0.00%, 2.63 GHz:0.00%, 3.00 GHz:10.18%  (4)

** a “/etc/rc2.d” könyvtárból érdemes eltávolítani az “S99ondemand” symlink-et

A HDD zümmögése is csökkenthető a “hdparm” konfigurációjával, mikor is a használaton kívüli állapotban “spindown” következik:

# hdparm -S 36 /dev/sda

/dev/sda:
 setting standby to 36 (3 minutes)

Az iTunes/Airtunes zene megosztáshoz a DAAP daemon-t konfiguráltam, a következő módon:

# apt-get install forked-daapd ogmtools ffmpegthumbnailer

Ezen a szerveren a “media” nevű user home könyvtárába kerülnek a zenék és filmek, ezért a “/etc/forked-daapd.conf” konfigurációs file-ban a következő beállításokat tettem:

# Library configuration
library {
        name = "Shared media on %h"

        # Directories to index
        directories = { "/home/media/media" }
        # Directories containing compilations
        # Matches anywhere in the path (not a regexp, though)
        compilations = { "/home/media/media" }
}

További apróságok is kerültek a gépre, úgymint egy fejlesztéshez elengedhetetlen SVN és TRAC szerver, melyek adatbázisait egy külső USB-s HDD-re menti egy jól irányzott rsync-es megoldás.

A gép előlapján lévő power-gombot is sikerült úgy konfigurálni, hogy megnyomásra shutdown következik, így monitor és billentyűzet nélkül is megoldható a kikapcs-bekapcs procedúra.

Frissítés (2012. május 27): Gondatlanságból és kíváncsiságból elkövettem egy 12.04 LTS upgrade-et, aminek az lett a következménye, hogy nem működik az APM és ezáltal a cpu frekvencia szabályozás és az előlapi power gomb se.

4 thoughts on “Olcsó TimeMachine NAS és DLNA szerver”

Leave a Reply

Your email address will not be published. Required fields are marked *