ReadyNASでオフラインファイルの同期に失敗

最近、開発データの類を置いているNASのWindowsHomeServer機が夜中に死ぬという怪奇現象(?)が頻発していました。
調べている内にデータが壊れても困るので過去に少し使ったことがあるNETGEARのReadyNAS Ultra4を導入し、無事コピーも終え一安心だったのですが…。

一部ファイルはノートPCにWindowsのオフラインファイル機能で同期してるのですが、ReadyNASだと「プロセスはファイルにアクセスできません」といわれ同期に失敗してしまいます。
いろいろ調べてMicrosoftの開発チームblogの内容で解決できたので検索用に書いておきます。

Using Offline Files with Samba

環境:
RAIDiator-x86 4.2.19
オフラインファイルを試したのはWindows7のみ(64/32bit版とも)

1. "Enable Root SSH Access"のアドオンを入れる
2. sshにてrootでログイン
3. viなどで /etc/samba/smb.conf の [global] に以下を追加・変更する

oplocks = yes    ← 標準で 0 になってる
level2 oplocks = yes
kernel oplocks = no

4. samba(またはReadyNAS)を再起動

ただこれをせずとも共有ディレクトリでの同期は問題なかったのでパーミッションの設定だけで済んだのかもしれません。

 

追記:
ReadyNAS 316のファームウェア6.5.2で、アップデートで変わったのか自分で変更したのかよくわかりませんwが同じエラーが出るようになりました。同じ方法で直ったので追記します。ただ設定するファイルは上記3のじゃなく、

/etc/frontview/samba/smb.conf.overrides

あたりがいいと思います。たぶん。

 

追記:
ちょっと定かじゃないんですがFW 6.8のころからかReadyNAS内の編集中の共有ファイルが突然ロックされ保存できなくなることがごくたまに起こるようになりました。どうも oplocks が影響しているようで、オフにしたらそれ以来ロックされることは無くなりました。先述の、オンにしないと同期できなかったオフラインファイルも、今はなぜかオフで問題ありません。

 

追記:
買ってきたばかりのReadyNASはWindows10のオフラインファイルがそのまま使えてますので今はsambaの設定を変更する必要な全くないようです。

 

追記:
SMB Plusという純正アプリ(アドオン)でSambaの設定をいじってるとデフォルトがわかんなくなって涙目になることがあります。以下の設定ファイルに書き込まれるようなので削除・リネーム・書き換えなどしてサービスを再起動すればいいんじゃないかと思います。SMB Plusは何をしているのかわかりづらい面もあるので使わずにここに直接書くのがいいでしょう。

/etc/frontview/samba/smb.conf.overrides