środa, 17 sierpnia 2011

TimeMachine czyli backup Mac OSX 10.7 Lion na FreeBSD

Założenia:
Host - Lion10.7
Serwer - FreeBSD8.2_64 - system plików zfs, zainstalowany i skonfigurowany jail.
Netatalk - 2.2.0_3,1
mDNSResponder - 320.5

Przygotowanie serwera:
W terminalu:

$ mkdir ~/TimeMachine
# portmaster /net/netatalk




W tym momencie warto odznaczyć opcję Zeroconf, która spowoduje instalację avahi wraz z milionem zależności.
Ponieważ istnieje alternatywa w postaci mDNSResponder warto z niej skorzystać.
Netatalk zainstalowany zatem czas na konfigurację:

# ee /usr/local/etc/AppleVolumes.default

Przed linią kończącą plik dodamy:

/usr/home/zet120/TimeMachine "TimeMachine" allow:zet120 cnidscheme:dbd options:usedots,upriv,tm volsizelimit:70000

volsizelimit - to rozmiar dysku przeznaczony na kopie systemu, w przykładzie 70000M
Następnie edytujemy plik konfiguracyjny serwera afp:

# ee /usr/local/etc/afpd.conf

Na końcu pliku dodamy:

- -tcp -noddp -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword -ipaddr 192.168.1.5

opcja ipaddr określa IP na którym pracuje nasz Jail.
Do rozgłaszania w sieci lokalnej obecności serwera afp oraz usługi TimeMachine niezbędny jest mDNSREsponder zatem instalacja:

portmaster net/mDNSResponder

i konfiguracja, która polega na utworzeniu skryptu do automatycznego uruchamiania po starcie systemu:

# ee /usr/local/etc/rc.d/mdnsadv

Do pustego pliku wkleimy taką zawartość:

#!/bin/sh

# PROVIDE: mdnsadv
# REQUIRE: LOGIN mdnsd
#
# Add the following lines to /etc/rc.conf to enable the mDNSResponder service advertising:
#
# mdnsadv_enable="YES"

. /etc/rc.subr

name="mdnsadv"
rcvar=${name}_enable

command="/usr/local/bin/mDNSResponderPosix"

load_rc_config $name

: ${mdnsadv_enable="NO"}

command_args="-f /usr/local/etc/mdnsadv.conf >/dev/null 2>&1 &"

run_rc_command "$1"

niezbędne uprawnienia:

# chmod ugo+x /usr/local/etc/rc.d/mdnsadv

oraz na utworzeniu pliku konfiguracyjnego

# ee /usr/local/etc/mdnsadv.conf

z zawartością:

AFP Server
_afpovertcp._tcp
548
title='File Server'

TM Volume
_adisk._tcp
9
sys=waMA=XX:XX:XX:XX:XX:XX,adVF=0x100
dk0=adVF=0x83,adVN=TimeMachine

waMA= Mac adres karty sieciowej serwera

Autostart zainstalowanych usług:

# ee etc/rc.conf
netatalk_enable="YES"
cnid_metad_enable="YES"
afpd_enable="YES"
mdnsd_enable="YES"
mdnsadv_enable="YES"

oraz uruchomienie usług:

# /usr/local/etc/rc.d/netatalk start
# /usr/local/etc/rc.d/mdnsadv start
# /usr/local/etc/rc.d/mdnsd start


Konfiguracja MacOSX
jest w zasadzie tożsama z konfiguracją pod Ubuntu z tą róznicą, że pozwalamy aby obraz dysku został wykreowany przez sam mechanizm TM.

wtorek, 16 sierpnia 2011

TimeMachine na Ubuntu

Wraz z premierą Liona oraz Netatalk 2.2 cała operacja dostosowania linuxowej maszyny zrobiła się względnie prosta przynajmniej jeżeli chodzi o podstawową usługę czyli funkcję kopii zapasowych na zdalnej maszynie.

Założenia:
Host - Lion10.7
Serwer - Ubuntu 11.04_64
Netatalk 2.2_beta4
Avahi - 0.6.30 defaultowo zainstalowany w Ubuntu 11.04

Przygotowanie serwera:
W terminalu Ubuntu:

mkdir ~/TimeMachine
cd ~/Pulpit
wget http://dl.dropbox.com/u/3739707/netatalk_2.2%7Ebeta4-1_amd64.deb
sudo dpkg -i netatalk_2.2~beta4-1_amd64.deb

W zależności od konfiguracji naszego Ubuntu mogą wystąpić problemy z zależnościami, jeżeli rzeczywiście wystąpią to dalej w terminalu:

sudo apt-get install -f

Konfiguracja:
Netatalk zainstalowany zatem konfiguracja.
# sudo nano /etc/netatalk/AppleVolumes.default
przed linią kończącą plik dodamy:

/home/zet120/TimeMachine TimeMachine allow:zet120 cnidscheme:dbd options:usedots,upriv,tm

# sudo nano /etc/netatalk/afpd.conf
na końcu pliku dodamy:

- -udp -noddp -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword

Restart daemonów:

sudo /etc/init.d/netatalk restart
sudo service avahi-daemon restart


To tyle, jeżeli chodzi o Ubuntu.


Konfiguracja MacOSX:
Próbujemy połączyć się z serwerem afp czyli [b]Finder /Idź/połącz z serwerem[/b]
i tam

afp://IP z Ubuntu

Zdalny udział zostanie zamontowany na Biurku zatem w temrinalu

cd /Volumes/TimeMachine

i kreujemy obraz, który będzie stanowił kontener o określonym rozmiarze dla kopii zapasowych.

hdiutil create -size 100g -fs HFS+J -volname "Time Machine" 'Mac Pro (zet120)'.sparsebundle

P.S.
Jeżeli chodzi o samą nazwę obrazu w sieci można spotkać rózne informacje, ale z moich doświadczeń wynika, że wystarczy aby ogólna postać nazwy wyglądała tak:

nazwa_modelu (nazwa_użytkownika).sparsebundle


To w zasadzie tyle, kopie zapasowe powinny wykonywać się automatycznie na zdalnej maszynie, a instalator Liona tak zareaguje gdy w naszej lokalnej sieci wykryje obecność serwera afp oferującego usługę TimeMachine: