Netatalkで「Time Machine」向けのストレージを作ってみる。 QNAPの場合はこちらApple/TimeMachine/QNAP
本家 http://netatalk.sourceforge.net/

前処理

firewallとselinuxは停止して、再起動

[root@c105 ~]# systemctl disable firewalld
[root@c105 ~]# sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux
[root@c105 ~]# reboot

他、Netatalkのドキュメントから必要な追加パッケージをインストール

[root@c105 ~]# yum install libdb-devel libacl-devel tracker-devel libgcrypt-devel openssl-devel \
avahi-devel tcp_wrappers-devel quota-devel cracklib-devel openldap-devel dbus-glib-devel \
systemtap-sdt-devel pam-devel

本体取得

Netatalkは yum でインストールを考えていたが、http://pkgs.org/search/netatalkを見るとCentOS7向けにはないみたい..
なので、本家からソースを取得して作る事にした。

[root@c105 ~]# mkdir /opt/src && cd /opt/src
[root@c105 src]# wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.8.tar.bz2
[root@c105 src]# bzip2 -cd netatalk-3.1.8.tar.bz2 | tar xf - && cd netatalk-3.1.8/
[root@c105 netatalk-3.1.8]# ./configure --with-tracker-pkgconfig-version=1.0 --with-cracklib --with-acls \
               --with-init-style=redhat-systemd \
               --prefix=/opt/netatalk \
               --sysconfdir=/etc \
               --localstatedir=/var \
               --datarootdir=/usr/share \
               --docdir=/usr/share/doc/netatalk-3.1.8 \
               --with-pam=/usr/lib64/security \
               --with-pam-confdir=/etc/pam.d \
               --with-uams-path=/usr/lib64/netatalk \
               --with-dbus-sysconf-dir=/etc/dbus-1/system.d
(中略)
Configure summary:
    INIT STYLE:
         redhat-systemd
    AFP:
         Extended Attributes: ad | sys
         ACL support: yes
         Spotlight: yes
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     (PAM SHADOW)
         DHX2    (PAM SHADOW)
         RANDNUM (afppasswd)
         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
         AFP stats via dbus:      yes
         dtrace probes:           yes
    Paths:
         Netatalk lockfile:       /var/lock/netatalk
         init directory:          /usr/lib/systemd/system
         dbus system directory:   /etc/dbus-1/system.d
         pam config directory:    /etc/pam.d
    Documentation:
         Docbook:                 no
[root@c105 netatalk-3.1.8]#
[root@c105 netatalk-3.1.8]# make && make install

設定ファイル

/etc/afp.conf が用意される。とりあえずTimeMachine向けの領域として /share を掘った

[root@c105 ~]# mkdir /share
 
[root@c105 ~]# vi /etc/afp.conf
[Global]
log file = /var/log/netatalk.log
 
; [Homes]
; basedir regex = /xxxx
 
[My AFP Volume]
path = /share
time machine = yes
[root@c105 ~]#

起動・停止

コンパイルの際、「--with-init-style=redhat-systemd」としたので systemctl によってコントロールされる。

[root@c105 ~]# systemctl list-unit-files | grep netatalk
netatalk.service                            disabled
 
[root@c105 ~]#

起動させてみる

[root@c105 ~]# systemctl start netatalk

boot時に自動的に起動させるには

[root@c105 ~]# systemctl enable netatalk

とする。停止は

[root@c105 ~]# systemctl stop netatalk

で、boot時も停止させたままにするには

[root@c105 ~]# systemctl disable netatalk

とする。
起動後のログ確認は、設定ファイルで指定した「/var/log/netatalk.log」の他にもsystemctl由来からは

[root@c105 ~]# journalctl -u netatalk

とする。

TimeMachine設定

っで、やっと目的のTimeMachine。
「システム環境設定」の中の「Time Machine」をダブルクリックする。
2016y01m24d_123142451.png
すると「Time Machine」が起動する。
2016y01m24d_123245545.png
このままではロックされた状態で、設定変更ができないので、左下の「鍵」のマークをクリックして編集可能にする。
その際、パスワード認証が求められ、管理者権限のアカウントとパスワードを入力して鍵を解除する。
2016y01m24d_123547477.png
Time Machine」画面に戻り、左下の「鍵」マークが解錠され、設定変更が可能な画面になる。
ここで、「ディスクを選択...」ボタンを押下する。
2016y01m24d_123736233.png
新たな画面が表示され、タイムマシン向けのディスクを選ぶ。
ここでは先ほど設定したnetatalkで作ったボリューム「My AFP Volume」を選択して、「バックアップディスクとして使用」を押下する。
2016y01m24d_124319446.png
するとnetatalkマシンへの認証が求められます。TimeMachine向けの調整しか施していないので他ユーザは存在しない。
面倒なのでrootアカウントを使用したら「{auth.c:226} (error:AFPDaemon): login: root login denied!」と却下された。
ソースコードのauth.cを見たら、仕様的にそうしているようだ。
なので別のユーザをnetatalkマシンに作ってみた。

[root@c105 ~]# useradd  netatalk
[root@c105 ~]# echo netatalk | passwd --stdin netatalk
[root@c105 ~]# chown -R netatalk:netatalk /share

っで、ユーザnetatalkでマシン認証を行ってみた。
2016y01m24d_140837647.png
認証が成功すると、
自動的に「入」になって、バックアップのカウントダウンが始まる。
2016y01m24d_141324499.png
っで、カウントダウンが終わり、バックアップが実行される。
2016y01m24d_141738776.png

暫くするとバックアップは完了する
2016y01m24d_145733521.png

netatalkマシンではフォルダが作成される。

[root@c105 share]# ls -l
合計 8
drwx--S---. 3 netatalk netatalk 4096  1月 24 15:15 lion.sparsebundle
[root@c105 share]#

フォルダ名からホスト名で分類されるようなので、一つのnetatalkマシンで複数の「Time Machine」が保存できそうである。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2016-03-27 (日) 16:02:42 (424d)