Humanity

Edit the world by your favorite way

GlusterFSインストールしてるのにnfs-kernel-serverでNFS公開してた

ずっと「GlusterFSはNFSの機能を持っているからNFSとしてもマウントできる」とか書かれてるのを見るけど
結局マウントできなくて惰性でnfs-kernel-server使ってました。そんな生き方。
glusterfsとしてマウントしたディレクトリをさらにnfs-kernel-serverで公開する、って感じだったのが
brickを直接NFSで公開するようになったのでかなり速くなっているはず。
まぁ情弱なのは常々分かってはいたけど非常に無駄な感じだった訳ですね。
さらにglusterfsとしてマウントすればもっと速いらしいですが
クライアントにglusterfsインストールするのもなぁとよくわからない抵抗を示し、
まぁでもNFS機能はデフォルトで有効なのでNFS、GlusterFSどっちでもマウントできるので
速度が必要になった所でだけ使えばいいんじゃね?とか屁理屈を言ったりしています。
ぶっちゃけ管理の手間増えないしインストールすればいいと思います。
と思って今試したらなんか「Mount failed. Please check the log file for more details.」とか言われて失敗しました。やっぱNFSでいいや。ちくしょう。
最近卑屈になることが増えましたがストレスは特になく寝てばかりいます。そんな最近。


パッケージを消す際に注意することとして、nfs-commonはglusterfsが依存してるので消せません。
けどnfs-commonのサービスは起動してなくても問題ない。
なので

$ sudo apt-get remove nfs-kernel-server
$ sudo sysv-rc-conf nfs-common off

すればいい感じ。
USBメモリにインストールしたDebianなのでサイズがちょっと気になるのです。


あと、nfs-kernel-serverとかglusterfsとか入れてると両方がバッティングして
どっちのディレクトリがexportされてるのかよくわからない状態になるので
次のようにすればGlusterFSのディレクトリがexportされた状態になるはずです。

$ sudo service nfs-kernel-server stop
$ sudo service nfs-common stop
$ sudo service glusterfs restart

ネタ元はGlusterFSのドキュメント
ネタ元ではどのディストリビューションの例かわかりませんが...

On Linux, kernel NFS servers can be stopped by using either of the following commands depending on the distribution in use:
$ /etc/init.d/nfs-kernel-server stop
$ /etc/init.d/nfs stop
Next, restart Gluster NFS server.

Gluster 3.1: NFS Frequently Asked Questions - GlusterDocumentation

GlusterFSのNFS機能は「sudo glusterfs volume set nfs.disable on」とかしてない限りデフォルトでonです。


あと、クライアント側の/etc/fstabを変更する必要がある。
以前は

hogehost:/<nfs-export-dir>     /data      nfs    defaults,_netdev     0 0

だったのが

hogehost:/<volume>     /data      nfs    defaults,_netdev,mountproto=tcp     0 0

のように変更する必要がある。
mountproto=tcpをつける意味はここらへん参照。


こう/etc/fstabをいじることが多いと一元管理したくなる。
たしかLDAPで一元管理できた気がするんだけどなー。
LDAPはさらにめんどくさい気がして(ry
/etc/fstabの一元管理とかミスったら最悪ブートしなさそうで怖い...