[samba-jp:22183] Re: xlsxを開く場合の挙動とkernel oplocksについて

t.morikawa137 @ gmail.com t.morikawa137 @ gmail.com
2013年 11月 20日 (水) 18:29:10 JST


ご意見ありがとうございます。

>当てずっぽうですが kernel oplocks 有効時は level2 oplocks
>が機能しないという制約があるようなので、直前に書き込んだクライアントが排他的 
>
> oplock を握っている状態で、サーバーから level2
>oplock への変更要求が来ないので、排他的 oplock を握ったままになっているという推量はありですかね。

つまり、自分自身がoplockを離さない限り、握ったままになるということだと思うのですが
そうなってしまった場合にどういう問題が起こり得るのかが理解できず苦しんでいます。 



当方の環境では最初の質問にも記載しましたがlinuxのプロセスとしてファイルをコピー・移動・削除・owner変更・バックアップは行います。
(cp、mv、rm、rsync、chown)
NFSもFTPもWebDavも使用していません。
そして、samba共有フォルダにアクセスするのはXP以降Windows、そしてMACです。
つまり、ファイルをオープンするのはsambaのみだと考えています。

samba以外のlinuxのプロセスがファイルを開く場合にkernel oplocksが活きてくるのだとマニュアル等から
読み取れたため、当方の環境ではkernel oplocksを無効にしても影響ないのだろうと考えました。

Web検索にてkernel oplocksを無効にすることである現象が改善された、というような記事は
しばしば見受けられるのですが、無効にしたことでこういった弊害が発生した等のマイナスな意見は
oplockされたファイルをNFSなどのプロセスが開く場合に壊れやすくなる、ということ以外見つけることができませんでした。

そのため、kernel oplocksを無効にした状態で以下の検証を行いました。

・xlsxファイルを開くことができるか
・既に開かれているxlsxファイルを他ユーザが開いた場合に排他制御がかかるか
⇒officeとしての挙動
・ファイルを編集・保存が行えるか
・ファイルを削除できるか
・既に開かれているファイルをコピーできるか
・既に開かれているファイルを削除しようとしてはじかれるか

以上のような共有フォルダ上のエクセルファイルに対して行う基本的な挙動を確認し
問題ないことを確認しました。
ですが、公式のkernel oplocksの設定は変更する必要がないという記載があるため
安心しきれません。何か、実際に起きた生じた現象等の情報があればいいのですが
それも見つけることができず。
そのため、kernel oplocksの効能、そして無効にした場合の影響について
様々の情報が欲しいという感じです。



そもそも、根本的な話で、sambaのみの範囲でkernel oplocksの有効無効でファイルオープン時の挙動が変わることが
不思議なので、念のため、sambaのバージョンアップで挙動に変化がないか確認しました。
3.6.5から3.6.20にバージョンアップしたところ、発生頻度が少なくなりました。
ですが、バージョンアップは現状避けたいところで、できれば、kernel oplocksを無効にする対応でいきたいところなのです。


>サーバーが level2 oplock をサポートしていなければ、ないなりに動いてくれるのを期待したいところなのですが。
当方のサーバではlevel2 oplockはサポートしております。
そのため、xlsxファイルを開き、smbstatusコマンドで確認すると、Oplock列のところが LEVEL_2となります。

以上、何かしらの情報をお願いいたします。
私も引き続き検証を続け、進展がありました随時、報告しようと考えています。
よろしくお願い致します。 



samba-jp メーリングリストの案内