So-net無料ブログ作成
  • ブログをはじめる
  • ログイン

NetatalkとSambaの統合 [Netatalk and Samba]

最近はNetatalkとSambaを相互運用できるようになりました。
以下の環境で、実際に相互運用が可能なことを確認しています。

以下の環境では、Sambaのバージョンが古いので相互運用できないことを確認しています。
Sambaパッケージを削除してtarballで最新版を入れれば可能と思われます。
  • Debian 8 Jessie (Samba 4.2.14)
  • Debian 7 Wheezy (Samba 3.6.6)
  • CentOS 6 (Samba 3.6.23)

Netatalk 3.1.8でオプションea =が追加されています。
ea = samba

これを利用すると以下の機能が有効になります。
  • 拡張属性(代替データストリーム)の保存方法をSambaと同じにする

Samba 4.2.xでvfs_fruitが追加されています。
ea support = yes
vfs objects = catia fruit streams_xattr
fruit:locking = netatalk
fruit:encoding = native
streams_xattr:prefix = user.
streams_xattr:store_stream_type = no

これを利用すると以下の機能が有効になります。
  • macOSによるSMBの拡張が使える
  • メタデータの保存をNetatalk 3.x方式にする
  • ファイルロックの方法をNetatalkと同じにする (バグあり)


fruit:locking = netatalkはバグがあるのでコメントアウトする必要があります。(Samba 4.6.1と4.5.4で直ってるのを確認。)
[Samba] vfs_fruit: cannot remove any file

更に、Samba 4.8.0では、以下のTime Machie用のオプションが追加されました。

fruit:time machine = yes


かつては様々な互換性問題により、macOSからはNetatalk、WindowsからはSambaという使い分けをするしかありませんでした。
これからは、Netatalkのea = sambaとSambaのvfs_fruitを使えば、Netatalk繋いでもSambaに繋いでも結果的に同じということになります。

現在のmacOSはSMB上でファイルを扱う場合、FinderInfo、リソースフォーク、拡張属性等を代替データストリームに変換して扱います。今までのSambaはこれに対応していなかったので、色々と面倒が発生しました。特にリソースフォークはサイズが大きいので、Solaris系OS上のZFSを除いては、それをうまく扱えません。
また、macOSはWindows禁止文字を私用領域の文字に置き換えてSMB上で扱うという手法を取るので、これも互換性がありませんでした。
vfs_fruitは、これらのmacOS独自仕様を上手に扱うためにNetatalk 3.x方式に変換します。
また、Sambaはファイルの排他処理の方法がNetatalkと異なるので、Netatalkで先に開いているファイルをSambaで開くとロックしませんでした。vfs_fruitはSambaのロック方式をNetatalkに合わせるので問題がなくなります。

vfs_fruitのバグ一覧はコチラ。
The Samba-Bugzilla – Bug List

コメント(6)  トラックバック(0) 
共通テーマ:パソコン・インターネット

コメント 6

marvelph

こんにちは。
Time Machine機能にSMBが使えるようになるという話題ですが、QNAPのNASで既にサポートがあるようです。

https://www.qnap.com/ja-jp/how-to/tutorial/article/time-machine-を使い-mac-を-smb-経由で-qnap-nas-にバックアップする

恐らく、QTS内部ではSambaが使われていると思います。

by marvelph (2017-06-17 18:59) 

Zetton

SynologyもSMB Time Machine対応でした。

https://www.synology.com/ja-jp/dsm/6.1/software_spec/dsm

今、自分でDiskStation DS218j を動かしていて、対応していることを確認しています。
macのTime Machineの設定でsmb://が選ばれてます。
ただAFPとSMBでファイルコピーの速度を測ってみたところSMBだと速度が1/3くらいだったので、私の環境ではafpで稼働しています。
by Zetton (2017-12-26 10:14) 

HAT

ソースはどこから入手できますかね?
by HAT (2017-12-26 22:04) 

Zetton

ソースとは??
このインプリのソースだとしたら…Synologyのサイトを探していただいて、在れば在る、無ければ無いと思うのですが…あるいはSynologyに要求するとか…
(私はエンドユーザーですので)

それとも情報ソースですか?上記URLですが

コンピューターソースコードというものなら、それに関連するのは、私は以下のURL以上のものを見つけられません
https://www.synology.com/en-global/support/developer#tool
by Zetton (2017-12-27 06:03) 

HAT

https://sourceforge.net/projects/dsgpl/files/Synology%20NAS%20GPL%20Source/22259branch/armadaxp-source/
ここにある
samba-4.x.txz
を確認したところ、
samba 4.4.15に手を加えたもののようです。

by HAT (2018-01-10 00:54) 

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0