マウント要求がトリガーされたときに autofs サービスが何をするかは、オートマウンタマップの構成によって異なります。マウントプロセスの基本はすべてのマウントで同じですが、指定されているマウントポイントとマップの複雑さによって結果が変わります。マウントプロセスにはトリガーノードの作成が含まれます。
autofs マウントプロセスの説明のために、次のファイルがインストールされていると仮定します。
$ cat /etc/auto_master # Master map for automounter # +auto_master /net -hosts -nosuid,nobrowse /home auto_home -nobrowse /share auto_share $ cat /etc/auto_share # share directory map for automounter # ws gumbo:/export/share/ws
/share ディレクトリがアクセスされると、autofs サービスは /share/ws に対するトリガーノードを作成します。これは、/etc/mnttab の中では次のようなエントリになります。
-hosts /share/ws autofs nosuid,nobrowse,ignore,nest,dev=###
/share/ws ディレクトリがアクセスされると、autofs サービスは次ような処理を完了します。
サーバーのマウントサービスが使用可能かどうかを確認します。
要求されたファイルシステムを、/share の下にマウントします。これで、/etc/mnttab ファイルには次のエントリが追加されます。
-hosts /share/ws autofs nosuid,nobrowse,ignore,nest,dev=### gumbo:/export/share/ws /share/ws nfs nosuid,dev=#### #####
オートマウンタファイルに複数の層が定義されているときは、マウントプロセスは複雑になります。前の例の /etc/auto_shared ファイルを拡張して、次の行を追加したとします。
# share directory map for automounter # ws / gumbo:/export/share/ws /usr gumbo:/export/share/ws/usr
/share/ws マウントプロセスは基本的に、マウントポイントがアクセスされる前の例と同じです。さらに、/share/ws ファイルシステム内に次のレベル (/usr) へのトリガーノードが作成されるので、次のレベルがアクセスされたときにマウントできます。この例でトリガーノードが作成されるためには、NFS に /export/share/ws/usr が存在している必要があります。
一定のアイドル時間後に発生するアンマウントは、下位から上位方向です (マウントと逆の順序)。あるディレクトリより上位のディレクトリが使用中であれば、それより下のディレクトリだけがアンマウントされます。アンマウントすると、トリガーノードがすべて削除され、ファイルシステムがアンマウントされます。ファイルシステムが使用中であれば、アンマウントは失敗してトリガーノードは再インストールされます。
![]() | 注意 - 階層的にマウントを指定する場合は、–soft オプションは使用しないでください。–soft オプションを使用すると、トリガーノードを再インストールする要求がタイムアウトすることがあります。トリガーノードを再インストールできないと、マウントの次の階層にアクセスできません。この問題を解決するには、オートマウンタを使用して、階層にあるすべてのコンポーネントのマウントを解除します。オートマウンタでアンマウントするには、ファイルシステムが自動的にアンマウントされるのを待つか、システムをリブートします。 |