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を導入した時の記事は後日、作成予定です。
こちらはかなり苦労しました。








コメント