Snow Leopaldの頃はNASのSMB上にTime Machine環境を構築していたのですが、Lion以降からその手法が使えなくなりました(※1)。
Time Machineの要件がAFP 3.3/Netatalk 2.2に変更になり、SMBでは利用不可になってしまったらしいのです。
それ以来、面倒になってしまい、そのまま放置していました。
先日、NASのOSをDebian Wheezyに入れ替えたのを期にTime Machine環境も構築することにしました。
※1 tmultiというツールを使えば、今でもSMB上にTime Machine環境を構築できるらしいです。
MountainLionでSMBなNASにTimeMachine環境を構築する – daidai7の日記
photo credit: brianjmatis via photopin cc
NAS(QNAP 459 ProII On Debian Wheezy)にTime Machine環境を構築する
今回使用する機材
NAS: QNAP 459 ProII
現在は販売終了となり、後継品が出ているようです。
HDDを4台格納可能であり、とても静かで、おすすめです。
正面の液晶が青く光るところも気に入っています。
少々高価な製品なのですが、秋葉原の某店の在庫処分セールで格安で入手しました。
OSをDebian Wheezyに入れ替えて稼働しています。
Mac: MacBookAir 11インチ(Late 2010)
NASでの作業
Debian WheezyにNetatalk3.0を導入する
今回はこちらの大変親切なマニュアルを元に作業しましたので、何の問題も無く導入できました。
Install Netatalk 3.0.5 on Debian 7 Wheezy – The Netatalk Wiki
Netatalk3.0のコンパイル
コンパイル前の事前準備として下記のパッケージをインストールします。
% sudo aptitude install build-essential libssl-dev libgcrypt11-dev \ libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev \ libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev \ systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev \ libglib2.0-dev libevent-dev
Netatalk3.0のソースを入手します。
% wget "http://prdownloads.sourceforge.net/netatalk/netatalk-3.0.5.tar.bz2?download" -O netatalk-3.0.5.tar.bz2
解凍して解凍先に移動します。
% tar xvjf netatalk-3.0.5.tar.bz2 % cd netatalk-3.0.5
configureを行い、Makefileを生成します。
% ./configure \ --with-init-style=debian \ --with-cracklib \ --enable-krbV-uam \ --without-libevent \ --with-pam-confdir=/etc/pam.d \ --with-dbus-sysconf-dir=/etc/dbus-1/system.d
結果が下記のようであればOKです。
Compilation summary: CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include CFLAGS = -D_U_="__attribute__((unused))" -g -O2 LIBS = -ldl -lcrack PTHREADS: LIBS = CFLAGS = -pthread SSL: LIBS = -lcrypto CFLAGS = -I/usr/include/openssl LIBGCRYPT: LIBS = -L/lib/i386-linux-gnu -lgcrypt CFLAGS = PAM: LIBS = -lpam CFLAGS = WRAP: LIBS = -lwrap CFLAGS = BDB: LIBS = -ldb-5.1 CFLAGS = GSSAPI: LIBS = -Wl,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err CFLAGS = ZEROCONF: LIBS = -lavahi-common -lavahi-client CFLAGS = -D_REENTRANT LDAP: LIBS = -lldap CFLAGS = LIBEVENT: LIBS = CFLAGS = Configure summary: INIT STYLE: debian AFP: Extended Attributes: ad | sys ACL support: yes CNID: backends: dbd last tdb UAMS: DHX (PAM SHADOW) DHX2 (PAM SHADOW) RANDNUM (afppasswd) Kerberos V clrtxt (PAM SHADOW) guest Options: Zeroconf support: yes tcp wrapper support: yes quota support: yes admin group support: yes valid shell check: yes cracklib support: yes ACL support: yes Kerberos support: yes LDAP support: yes dbus support: yes dtrace probes: yes Paths: Netatalk lockfile: /var/lock/netatalk init directory: /etc/init.d dbus system directory: /etc/dbus-1/system.d pam config directory: /etc/pam.d Documentation: Docbook: no
コンパイル&インストール
% make % sudo make install
正常にインストールされたことを確認する。
/usr/local/sbin/afpd -V afpd 3.0.5 - Apple Filing Protocol (AFP) daemon of Netatalk This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Please see the file COPYING for further information and details. afpd has been compiled with support for these features: AFP versions: 2.2 3.0 3.1 3.2 3.3 CNID backends: dbd last tdb Zeroconf support: Avahi TCP wrappers support: Yes Quota support: Yes Admin group support: Yes Valid shell checks: Yes cracklib support: Yes EA support: ad | sys ACL support: Yes LDAP support: Yes D-Bus support: Yes DTrace probes: Yes afp.conf: /usr/local/etc/afp.conf extmap.conf: /usr/local/etc/extmap.conf state directory: /usr/local/var/netatalk/ afp_signature.conf: /usr/local/var/netatalk/afp_signature.conf afp_voluuid.conf: /usr/local/var/netatalk/afp_voluuid.conf UAM search path: /usr/local/lib/netatalk// Server messages path: /usr/local/var/netatalk/msg/
afpdの設定
% sudo vi /usr/local/etc/afp.conf [Global] mac charset = MAC_JAPANESE afpstats = yes [Homes] basedir regex = /home [My Time Machine Volume] path = /export/timemachine time machine = yes vol size limit = 512000
vol size limitの単位はGB。
Time Machine用のディレクトリを作成
% sudo mkdir -p /export/timemachine % sudo chmod -R 777 /export/timemachine
daemonを起動する
% sudo insserv netatalk % sudo /etc/init.d/netatalk start
iptablesの設定
iptablesを使用している場合にはnetatalkが利用するポートを許可する必要がありますので、下記のルールを追加します。
% vi /etc/iptables/rules.v4 -A INPUT -m state --state NEW -m tcp -p tcp --dport 548 -j ACCEPT % sudo /etc/init.d/iptables-persistent restart
Macの設定
システム環境設定を開きTime Machineを起動する。
先ほど設定したディレクトリを選択してディスクを使用を選択する。
NASにログイン可能なIDとパスを入力
以上でOKでした。
過去にSMBでTime Machineを構築したときは、ディスクユーティリティを使用して、Time Machine用のイメージファイルを作成しなければなりませんでしたが、今回の方法ではそのあたりの作業は一切、必要ありませんした。
今回は初回のバックアップなのでこのくらいの時間がかかるようです。
待っている間にこの記事を作成しています。
QNAP 459 ProIIにDebian Wheezyを導入した時の記事は後日、作成予定です。
こちらはかなり苦労しました。
コメント