sambaのoplock

最近のsambaのアップデートで通信がやたらと遅くなる現象が発生した。原因はoplock(なんらかのファイルロック機構と思われる)がクライアントが正常終了しない場合、かなりの時間残ってしまうことのようだ。oplockはユーザ毎に持つようだが、sambaへのアクセスを同じユーザにしている場合この問題が発生しやすいようだ。

oplockを無効にすることでとりあえず回避。oplockの設定はディレクトリごとにできる。

smb.conf

autofsを使ってsambaを自動マウント

オートマウントとはアクセスされたときに自動的にマウントするための仕組み。またアクセスがなかったときアンマウントする仕組み。ここではubuntuを使って行った。

まずautofsとsmbclientとが入っていなかったらインストールする。

$ sudo apt-get install autofs smbclient

/etc/auto.masterを編集して、以下の一行を加える

/sambaauto /etc/auto.smb

/sambaautoを作成し、あとあと面倒になったら嫌なのでなのでchmodしておく

$ sudo mkdir /sambaauto
$ sudo chmod 777 /sambaauto

autofsをインストールしたときに/etc/auto.smbが入っているはずなので確認し、chmod 755する。

$ sudo chmod 755 /etc/auto.smb

autofsを起動する。

$ sudo /etc/init.d/autofs start

あとは/sambaauto以下、コンピュータ名/フォルダ名でアクセスすれば、自動でマウントしてアクセスできる。コンピュータ名が駄目な場合はIPアドレスで試してみる。

$ cd /sambaauto/192.168.0.100/Share

用語整理:
automount : 実際にマウントするプログラム
autofs : 2つの意味がある。automountをコントロールするためのフロントエンド、そして設定ファイルの記述方法。