autofs は、自動マウント操作とアンマウント操作をサポートするカーネルファイルシステムの 1 つです。自動マウントを行うために、次のコンポーネントが連動します。
autofs は自動的に適切なファイルシステムをマウントするクライアント側サービスです。自動マウントサービス (svc:/system/filesystem/autofs) は、システムが起動するときに呼び出され、マスターマップファイル auto_master を読み取って autofs マウントの初期セットを作成します。これらの autofs マウントは起動時ではなく、あとからファイルシステムがマウントされる時点に自動的にマウントされます。このようなポイントをトリガーノードと呼ぶこともあります。ナビゲーションプロセスの起動の詳細は、autofs のナビゲーションプロセス開始法 (マスターマップ)を参照してください。
次の図は、autofs サービスが automount コマンドを起動する方法を示しています。
図 2-3 svc:/system/filesystem/autofs サービスによる automount の起動
autofs マウントが設定されると、これらのマウントはそれらに基づいたファイルシステムのマウントをトリガーできます。たとえば、autofs が、現在マウントされていないファイルシステムをアクセスする要求を受け取ると、automountd を呼び出して要求されたファイルシステムを実際にマウントさせます。
autofs マウントポイントで、ファイルシステムへのアクセスが要求された場合は、次の動作が行われます。
autofs がその要求に介入します。
autofs は要求されたファイルシステムをマウントするよう、automountd デーモンにメッセージを送信します。
automountd デーモンがマップからファイルシステム情報を見つけ、トリガーノードを作成し、マウントを実行します。
autofs は、介入した要求の実行を続行させます。
そのファイルシステムが一定期間非アクティブである場合、autofs はそのファイルシステムをアンマウントします。
最初に autofs マウントをマウントしたあとは、必要に応じて automount コマンドを使用し、autofs マウントを更新します。このコマンドは、auto_master マップにあるマウントのリストと、マウントテーブルファイル /etc/mnttab (前のバージョンでは /etc/mtab) にあるマウントされたファイルシステムのリストを比較します。その後、automount によって、適切な変更が加えられます。このプロセスにより、システム管理者は auto_master 内のマウント情報を変更し、autofs デーモンを停止したり再起動したりすることなく、それらの変更を autofs プロセスに使用させることができます。ファイルシステムがマウントされれば、以後のアクセスに automountd は不要になります。次に automountd が必要になるのは、ファイルシステムが自動的にアンマウントされたときです。
mount とは異なり、automount はマウントすべきファイルシステムのリストを調べるために /etc/vfstab ファイル (コンピュータごとに異なる) を参照しません。automount コマンドは、ドメイン内とコンピュータ上で名前空間とローカルファイルを通して制御されます。