[追記済み] Samba4 + Mac での頻繁な接続断

16 8月

ファイルサーバを FreeBSD10 + Samba4 にしてからというもの、Mac からマウントしてもしばらくすると勝手に切断される、というトラブルにずっと悩まされています。
〜が使用中なため、操作は完了できません っていうエラーも多し。

ルータも FreeBSD を入れているマシンも、FreeBSD のバージョンも (9→10)、Samba のバージョンも (3→4)、まとめて変えてしまったので、原因の切り分けが面倒で困ったなと。。。
ググってもあまり情報もないし。
Windows からは問題ないので、やはり SMB2 での Apple の独自実装が問題ぽい。

しばらく放置していたんですが、先程なんとなく Samba4.2 について調べていたら、Apple 製品との互換性が向上しているとのこと。
これか?と思って pkg でインストールしてみました。4.2.2 です。

ところが、

Performing sanity check on Samba configuration: FAILED

が出て起動できませんでした。

# /usr/local/bin/samba-tool testparm --suppress-prompt --verbose --configfile=/usr/local/etc/smb4.conf

して、

Traceback (most recent call last):
    File "/usr/local/bin/samba-tool", line 33, in <module>
        from samba.netcmd.main import cmd_sambatool
    File "/usr/local/lib/python2.7/site-packages/samba/__init__.py", line 50, in <module>
        from samba._ldb import Ldb as _Ldb
ImportError: /usr/local/lib/libtdb.so.1: version TDB_1.3.0 required by /usr/local/lib/samba/libtdb-wrap-samba4.so not found

と出たのを見ると tdb 1.3.0 が必要なようですが、一緒に入らなかったので、ついでに tdb も更新しています。

また、設定ファイル (smb4.conf)に

/usr/local/bin/samba-tool testparm --suppress-prompt --verbose --configfile=/usr/local/etc/smb4.conf

vfs objects = catia fruit streams_xattr

を追記しています。

しばらく様子見して追記します。

[8/1 追記]

改善したように見えない上に、smbd がバカみたいに CPU と メモリを食うようになったので、fruit は読み込まないようにしました。

起動ディスクの USB メモリが逝って普通にハードディスクにしたり、ついでに ZFS プールを圧縮/非圧縮2つのファイルシステムに分けていたのをプール直下・非圧縮に統合したりした結果、少しましになりましたが。
最近満足にバックアップしておらず緊急事態だったので1つ1つ比較する余裕がありませんでした。

サーバの CPU が非力なのも影響しているとは思う。

[8/16 追記]

接続断の直接の原因はやはり過負荷っぽい。

ついでに ZFS プールを圧縮/非圧縮2つのファイルシステムに分けていたのをプール直下・非圧縮に統合したりした結果、少しましになりましたが。

これにより現在は比較的安定しています。都合により pool が変な構成になっているのも一員か?
次はもう少し性能の良いマシンで普通の raidz2 pool を組もう。

[8/16 追記2]

Samba 4.2.3 では、fruit を有効にしても大丈夫そうです。

# pkg upgrade samba42

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください