[netatalk-ja:0222] Re: Mac OS X serverからのrsyncでのデータコピーで不具合

Taiki Kimura taikimura8182 @ gmail.com
2013年 7月 24日 (水) 11:28:59 JST


HATさん 佐藤さん お市さん


有益な情報ありがとうございます!


現在の状況を共有いたします。

◆現在の状況
+++++++++++++++++++++
昨日、切り分けの一つとして、4TBのデータのうち問題が顕著に発生していた数GB程度の1フォルダを
Carbon Copy CloneでCentOS6.4側へコピーしてみました。

すると、Carbon Copy Cloneであれば、Finderから手動でコピー&ペーストしてみた時と同じように、
正常にファイルのコピーができ、全てのファイルが閲覧できました。

また、更なる切り分けとして、一度、Finderからcommand+kでafpマウントしたlinuxサーバのnetatalk公開ディレクトリに対し、
ターミナルからcp -Rfaにて、問題が顕著に発生していた数GB程度の1フォルダをコピーしてみたところ、
これも、Carbon Copy Clone同様、正常にファイルのコピーができ、全てのファイルが閲覧できました。

なお、Carbon Copy Cloneは2回目以降、差分コピーとなるとのことなので、
現在4TBのデータをCarbon Copy Cloneでコピーしていますが、
現時点で、コピー開始から16時間経過していますが、まだ、530GBしかコピーできていないので、完了まで数日かかりそうです。

+++++++++++++++++++++



HATさん、書き忘れましたが、実は、netatalk-2.2.0-2.el6.x86_64で問題が出た直後、
netatalk-2.2.0-2.el6.x86_64をアンインストールしNetatalk
3.0.4をインストールしてrsyncでのコピーを試したのですが、
それでも同じ事象が発生しました。

2.2.0系は怪しいということでしたら、Netatalk3系の最新版に変更したほうがよいでしょうか?

あと、コメントいただいた件について分かる範囲で回答します。

・Netatalk/Samba混在だと排他処理
++++++++++++++++++++++++++++++++++++++++++
→いま発生している問題が落ち着いたら、過去のMLを読んでみたいとおもいますが、
弊社は、MacOSのPCを業務端末として利用しているユーザと、Windowsを業務端末としているユーザとで、
それぞれ職種が大きく異なり、通常業務で扱うファイル・ディレクトリも大きく異なるため、
排他制御を気にしなければ行けない状況はあまり発生しないかもしれません。
++++++++++++++++++++++++++++++++++++++++++
・doroboという外付けHDDのファイルシステム
++++++++++++++++++++++++++++++++++++++++++
→確認したところ、Journaled HFS+ でした。
++++++++++++++++++++++++++++++++++++++++++

・man rsync
++++++++++++++++++++++++++++++++++++++++++
-a, --archive               archive mode, equivalent to -rlptgoD
-8, --8-bit-output          leave high-bit chars unescaped in output
-E  --extended-attributes   copy extended attributes, resource forks

少し前に、-Eを指定してrsyncを試してみましたが、コピー先となるlinuxサーバ「-E対応していない」といったようなエラーメッセージが出て失敗しました。
++++++++++++++++++++++++++++++++++++++++++

・リソースフォーク、拡張属性、ファインダ情報等は重要でしょうか
++++++++++++++++++++++++++++++++++++++++++
すみません、これに関して知識が非常に乏しいのですが、現在の環境は前任担当者が構築しており
ls -leで確認するとこのような状態となっており、

 0: user:administrator allow
list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity
 1: group:xxxxxxxallow
list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit
 2: group:everyone allow readattr,readsecurity

また、ls -l@でも d---------@ となっております。必要・不要の判断が当方ではできないのが現状です。
++++++++++++++++++++++++++++++++++++++++++

・設定ファイル
++++++++++++++++++++++++++++++++++++++++++
→ AppleVolumes.default
:DEFAULT: options:upriv,usedots cnidscheme:dbd maccharset:MAC_JAPANESE
dperm:0777 fperm:0777 ea:sys

→netatalk.conf
#### machine's AFPserver/AppleTalk name.
#ATALK_NAME=machinename

#### server (unix) and legacy client (<= Mac OS 9) charsets
ATALK_UNIX_CHARSET='UTF8'
ATALK_MAC_CHARSET='MAC_JAPANESE'

#### Don't Edit. export the charsets, read form ENV by apps
export ATALK_UNIX_CHARSET
export ATALK_MAC_CHARSET

#########################################################################
# AFP specific configuration
#########################################################################

#### Set which daemons to run.
#### If you use AFP file server, run both cnid_metad and afpd.
CNID_METAD_RUN=yes
AFPD_RUN=yes

#### maximum number of clients that can connect:
AFPD_MAX_CLIENTS=100

#### UAMs (User Authentication Modules)
#### available options: uams_dhx.so, uams_dhx2.so, uams_guest.so,
####                    uams_clrtxt.so(legacy), uams_randnum.so(legacy)
#AFPD_UAMLIST="-U uams_dhx.so,uams_dhx2.so"

#### Set the id of the guest user when using uams_guest.so
#AFPD_GUEST=nobody

#### config for cnid_metad. Default log config:
#CNID_CONFIG="-l log_note"

#########################################################################
# AppleTalk specific configuration (legacy)
#########################################################################

#### Set which legacy daemons to run.
#### If you need AppleTalk, run atalkd.
#### papd, timelord and a2boot are dependent upon atalkd.
ATALKD_RUN=no
PAPD_RUN=no
TIMELORD_RUN=no
A2BOOT_RUN=no

#### Control whether the daemons are started in the background.
#### If it is dissatisfied that legacy atalkd starts slowly, set "yes".
#ATALK_BGROUND=no

#### Set the AppleTalk Zone name.
#### NOTE: if your zone has spaces in it, you're better off specifying
####       it in afpd.conf
#ATALK_ZONE=@zone

→afpd.conf
- -tcp -noddp -uamlist uams_dhx2.so,uams_dhx.so -maccodepage MAC_JAPANESE
-setuplog "default log_info /var/log/netatalk.log"
++++++++++++++++++++++++++++++++++++++++++

・ログファイル
++++++++++++++++++++++++++++++++++++++++++
事象発生した際、netatalkサーバのlogファイルにまともなログはほとんどでないのですが、
まれに、こういったlogがでます。

afpd[2311] {ea_sys.c:185} (E:AFPDaemon):
sys_getextattr_content(com.apple.quarantine): error: No such file or
directory


それと、クライアントのMacOS側で、/var/log/system.logにまれにこういったlogがでています。

filecoordinationd[172]: Warning: Exception caught during decoding of
received message, dropping incoming message.
        Exception: Exception while decoding argument 5 of invocation:
        <NSInvocation: 0x7fa369910510>
        return value: {Vv} void
        target: {@} 0x0
        selector: {:} addSubscriber:forID:appBundleID:fileURL:
        argument 2: {@} 0x7fa369913940
        argument 3: {@} 0x7fa369912f30
        argument 4: {@} 0x7fff7e8777c0
        argument 5: {@} 0x0

        Exception: decodeObjectForKey: Object of class "NSURL" returned nil
from -initWithCoder: while being decoded for key (null)
++++++++++++++++++++++++++++++++++++++++++



Carbon Copy Cloneでのコピー完了後、アドバイスいただいた情報をもとに、
dittoなどでもコピー&ペーストを試してみたいと思います。
結果はこちらのMLに共有いたします。


netatalk-ja メーリングリストの案内