autofsとは
自動的に適切なファイルシステムをマウントするためのクライアント側のサービスです。クライアントが現在マウントされていないファイルシステムをアクセスしようとすると、autofs ファイルシステムはその要求に介入し、automountd を呼び出して要求されたディレクトリをマウントします。automountd はディレクトリを検索してマウントし、応答します。応答を受け取ると、autofs は待たせてあった要求の処理を続行させます。それ以降のそのマウントへの参照は autofs によって切り替えられ、このファイルシステムが一定時間使用されないために自動的にアンマウントされるまで、automountd は不要となります。
参考: autofs のしくみ (Solaris のシステム管理 (第 3 巻))
必要になった時にアクセスするとマウントしてくれるという便利機能。NFSとかのマウントポイントが大量にあるマシンなんかだとLAがめちゃくちゃ上がったりリソースが大量に食われたりするのにあんまnfs自体へアクセスは少ないよ的なケースで使える。
使ってみる。
/etc/auto.master.d/nfs.autofsあたりに以下を記載しておく。書式はマウントポイント (マップタイプ,フォーマット)マップファイル オプション
/- /etc/auto.master.d/auto.nfs -t 10 rw
これともう一つ。/etc/auto.master.d/auto.nfsへも以下のように記載しておく
/tmp/work db1:/work
これで上記へのアクセス時に自動でマウントされる仕組みが完成です。
何が嬉しいの
fstabにNFSを書いた運用は良くみるし自宅サーバとかでも良く使われている。この場合仮にnfsが障害で落ちてるケースなんかでNFSクライアントを再起動したい場合NFSのアンマウントで刺さりシャットダウンできない。
またNFSクライアントを起動させる場合でもfstabは自動でマウントしにいくのでそこで刺さってOSが起動しないことになってしまう。
autofsを使えばOS再起動周りでの不具合はなくなる。(もちろんアクセス時には刺さるのでhardマウントで無限リトライするかなどの検討は必要なので注意)