mount関連の小ネタ

このブログはメモとしても使ってるので、たまに自分自身でも見るのですが
もう半年以上も更新してないですねってことで、大きなネタもあるのですが
それはそれでまとめるのがめんどいので、そんな大したことないけど微妙に重要で
しかし普段はあまり使わないのでいざって時に忘れがちな小ネタ。

ソフトマウント

NFSオワコンオワコン言われて久しいですが、実際小規模な環境では便利ですよね。


NFSを運用してて困る場面はマウント先のサーバが落ちた時です。
マウント先が落ちてる時にマウントしてるサーバでdfコマンドを打つとプロンプトが持っていかれます。
Ctrl + C とか Ctrl + D とかやっても抜けられず、わざわざ別窓でログインして
dfコマンドをkillしたりしますよね?よね?


そんな経験があるのでNFSやってるサーバーみると
NFSとかwwwwwwマウント先が落ちたら固まるしwwwwwwww
とかバカにしてましたが、バカは私でした。すみませんでした。


この症状は"soft"オプションで回避できます。

# mount -t nfs -o soft [host]:/foo/bar /baz

こんな感じでsoftオプションを付加すると、リトライを行わずにエラーで返るようになります。
まぁdfコマンド程度なら別にいいんですが、アプリケーションがマウント先に見に行ってる場合は
タイムアウト待ちにならずに、即エラーが返るので便利ですよと。


/etc/init.d/netfs

もう一つ。
NFSを設定した場合は、サーバが再起動した時にも勝手にマウントしてほしいので
/etc/fstabに一行追加しますよね。

[host]:/foo/bar /baz        nfs     rw,soft 0 0

こんな感じで。


この時にありがちな罠でfstabに記述してるのにサーバ起動時NFSが自動マウントされない時があります。
無理やり/etc/rc.localにmount -aを書いてるとこありますが、本来はこれ違う。


本当は/etc/init.d/にnetfsってのがあって、こいつを実行するとサーバ起動時にマウント、
シャットダウン時にアンマウントしてくれます。


でこれ普段は意識しないのですが、よくoffになってます。
なんでかっていうと「linux 不要サービス」みたいなキーワードでググると
netfsはNFSを使わない限り不要なサービスなので落としましょうって書いてあるんですね。


まぁ実際そうなんですが、NFSを使おう!ってときにportmapとかは
必要に迫られて起動するのですが、netfsはサーバが再起動して初めて気がつくので
ついつい忘れがちになりますねって話です。