Vyatta で Mac 用 TimeMachine サーバ兼ファイルサーバを構築!

こんにちは。@jedipunkz です。

自宅ルータを Vyatta で運用しているのですが、諸電力な筐体に交換した際に HDD ス ロットが余っていたので HDD を一本さしてみました。もったいないので Netatalk を インストールして Mac 用の TimeMachine サーバにするか!そんでもってファイルサー バ兼務にしよう!と思い立って作業したら簡単に出来たので共有します。

Vyatta はご存知の通り Debian Gnu/Linux がベースになっているのでパッケージレポ ジトリを追加してちょちょいで設定出来ます。

手順

電源を通して Disk を追加します。その後起動。私は 3TB Disk が余っていたのでそれ を挿しました。

debian wheezy のパッケージレポジトリを Vyatta に追記します。

% configure
# set system package repository debian url http://ftp.jp.debian.org/debian
# set system package repository debian distribution wheezy
# set system package repository debian components "main contrib"
# commit
# save
# exit 

netatalk, avahi をインストールする。その際に libgcrypt11 のバージョン 1.5.0 が 必要になるのでインストールすること。

% sudo apt-get update
% sudo apt-get install netatalk avahi-daemon avahi-utils libgcrypt11

ディスクのパーティショニング・フォーマットを行うために e2fsprogs, gdisk を入れ る。2TB オーバーな disk が一般的になったので fdisk ではなく gdisk を使う。

% sudo apt-get install e2fsprogs gdisk

パーティショニングを行う。私は1つの大きなパーティションを作りました。その後ファ イルシステム ext4 にてフォーマットを行います。

% sudo gdisk /dev/sdb # パーティショニング方法は割愛
% sudo mkfs.ext4 /dev/sdb1

/mnt ディレクトリにマウントします。/mnt/storage をファイルサーバ用, /mnt/timemachine を Mac の TimeMachine 用として稼働させるためにディレクトリを 作成します。

% sudo mount -t ext4 /dev/sdb1 /mnt
% sudo vi /etc/fstab # /mnt の記述追加
% sudo mkdir /mnt/storage ; sudo chown <userid>:users /mnt/storage
% sudo mkdir /mnt/timemachine ; sudo chown <userid>:users /mnt/timemachine

/etc/netatalk/apfd.conf を修正します。

% diff /etc/netatalk/apfd.conf.org /etc/netatalk/afpd.conf
- # - -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword
+ - -tcp -noddp -uamlist uams_guest.so,uams_dhx.so,uams_dhx2.so -nosavepassword

TimeMachine 用のディレクトリパスに下記のファイルを touch します。中身は空で OK です。

% touch /mnt/timemachine/.com.apple.timemachine.supported

/etc/netatalk/AppleVolumes.default ファイルにファイルサーバ, TimeMachine 用の 設定を投入します。TimeMachine 用は下記の通りオプションが必要になります。

% sudo vi /etc/netatalk/AppleVolumes.default # 下記を追記
/mnt/storage "Storage"
/mnt/timemachine "TimeMachine" cnidscheme:dbd options:usedots,upriv,tm

netatalk を再起動します。

% sudo /etc/init.d/netatalk restart

TimeMachine を設定する Mac 側の設定

今回の様に Apple 公式の TimeCupsule 以外のマシンを TimeMachine のバックアップ 先として利用する場合、Mac 側で下記の設定が必要になります。

% defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

あとは ‘環境設定’ -> ‘TimeMachine’ にて Vyatta を TimeMachine のバックアップ先 に指定すれば OK です。

まとめ

パッケージレポジトリは Wheezy の main, contrib を設定しましたが他のモノを入れ ることも勿論可能。最近の Netatalk は TimeMachine 用の設定が簡単にできるように なっていました。