autofsでNFS共有を自動マウントする方法|auto.masterと間接マップの設定からトラブルシュートまで

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > Linuxサーバー構築(Rocky Linux/RHEL9) > autofsでNFS共有を自動マウントする方法|auto.masterと間接マップの設定からトラブルシュートまで
「NFSサーバーをfstabに登録しておいたのに、起動時にNFSが先に立ち上がらなくてマウントが失敗する」
「社内NASへのマウントポイントが増えすぎて、fstabの管理が煩雑になってきた」

こうした問題を根本から解決するのが、autofs(オートマウントデーモン)です。

autofsはマウントポイントにアクセスが発生した瞬間にNFS共有を自動マウントし、一定時間(デフォルト300秒)アクセスがなければ自動でアンマウントします。fstabへの記載が不要なため起動順序の問題が起きませんし、未使用時はネットワーク接続を保持しないのでリソースも節約できます。

この記事では、RHEL 9.4 / Rocky Linux 9.4実機でautofsを使ってNFS共有を自動マウントする手順を解説します。/etc/auto.masterと間接マップの書き方・動作確認の方法・よくあるトラブルの切り分けまで実際のコマンド出力を交えて説明します。

この記事のポイント

・autofsはアクセス時に自動マウント、タイムアウト後に自動アンマウントするデーモン
・/etc/auto.masterがエントリーポイント、マップファイルで共有先とオプションを定義
・間接マップで一つの親ディレクトリ配下に複数NFS共有をまとめられる
・「マウントできない」原因の多くはファイアウォール・NFS設定・パーミッションの3点


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

autofsとは何か、fstabと何が違うのか

Linuxでネットワーク共有をマウントする方法は主に2つあります。

fstabを使う方法は、/etc/fstabにマウント設定を書いておき、OS起動時またはmount -a実行時に一括マウントします。設定が一箇所にまとまるメリットがありますが、NFSサーバーの起動タイミングが遅いと「マウント失敗でシステムが途中停止する」問題が起きやすいです。

autofsを使う方法は、マウントポイントへのアクセスが発生した瞬間に自動でマウントし、しばらく使われなければ自動でアンマウントします。起動時に一括マウントしないため、NFSサーバーの起動順序を気にする必要がありません。
比較項目 fstab autofs
マウントタイミング OS起動時 / mount -a アクセス発生時(オンデマンド)
起動順序問題 NFSサーバーが遅いと失敗 起きない(アクセス時に解決)
未使用時の接続 常時マウント保持 タイムアウト後に自動アンマウント
設定ファイル /etc/fstab 1ファイル /etc/auto.master + マップファイル
適した用途 常時使用のローカルデバイス NFS・CIFS・リムーバブルメディア等
セミナーで3,100名以上を指導してきた中で、「fstabにNFSを書いたら起動時にタイムアウトして20分待たされた」という経験をした受講生は少なくありません。autofsに切り替えることでこの問題は根本解決できます。

autofsのインストールと起動

1. autofsパッケージのインストール

RHEL 9 / Rocky Linux 9ではデフォルトでインストールされていない場合があります。まずパッケージを確認します。

# パッケージ確認 rpm -q autofs # インストールされていない場合 sudo dnf install -y autofs

インストール後の確認出力です。

$ rpm -q autofs autofs-5.1.7-56.el9.x86_64

2. autofsサービスの起動と自動起動設定

インストールできたらサービスを有効化します。

# サービス起動と自動起動設定をまとめて行う sudo systemctl enable --now autofs # 状態確認 systemctl status autofs

* autofs.service - Automounts filesystems on demand Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled; preset: disabled) Active: active (running) since Sun 2026-10-04 09:15:42 JST; 5s ago Main PID: 12483 (automount) Tasks: 4 (limit: 11130) Memory: 1.7M CPU: 8ms CGroup: /system.slice/autofs.service └─12483 /usr/sbin/automount --pid-file /run/autofs.pid -f Oct 04 09:15:42 rocky9.example.com systemd[1]: Starting Automounts filesystems on demand... Oct 04 09:15:42 rocky9.example.com systemd[1]: Started Automounts filesystems on demand.

Active: active (running)と表示されれば起動成功です。

/etc/auto.masterの設定方法

autofsの設定は/etc/auto.masterから始まります。このファイルには「どのディレクトリを管理するか」と「どのマップファイルを参照するか」を登録します。

cat /etc/auto.master

# # Sample auto.master file # This is an automounter map and it has the following format # key [ -mount-options-separated-by-comma ] location # For details of the format look at autofs(5). # /misc /etc/auto.misc #/net -hosts #+dir:/etc/auto.master.d #+auto.master

書式は以下のとおりです。

<親ディレクトリ> <マップファイルのパス> [--オプション]

NFS共有用のエントリを追加するには、/etc/auto.masterを編集して新しいマップファイルへの参照を書き加えます。

間接マップでNFS共有を自動マウントする

間接マップ(indirect map)は「ベースとなる親ディレクトリを1つ決め、その配下に複数のNFS共有をぶら下げる」方式です。最もよく使われる設定パターンです。

1. /etc/auto.masterにエントリを追加する

NFSサーバー(ここではnfsserver01)からエクスポートされた共有を /mnt/nfs 配下に自動マウントする例です。

sudo vi /etc/auto.master

以下の1行を末尾に追記します。--timeout=300はアクセスがなくなってから300秒(5分)後に自動アンマウントする設定です。

/mnt/nfs /etc/auto.nfs --timeout=300

2. マップファイル /etc/auto.nfs を作成する

マップファイルにNFS共有の一覧を記述します。書式は キー [-オプション] NFSサーバー:エクスポートパス です。

sudo vi /etc/auto.nfs

# キー オプション NFSサーバー:エクスポートパス data -fstype=nfs4,rw,soft nfsserver01:/exports/data backup -fstype=nfs4,ro,soft nfsserver01:/exports/backup logs -fstype=nfs4,rw,soft,noatime nfsserver01:/exports/logs

この設定で:
・/mnt/nfs/data にアクセスすると → nfsserver01:/exports/data が自動マウントされる
・/mnt/nfs/backup にアクセスすると → nfsserver01:/exports/backup が自動マウントされる
・300秒アクセスがなければ自動でアンマウントされる

3. 親ディレクトリを作成してautofsを再起動する

親ディレクトリ /mnt/nfs を作成します。autofsが管理するので中身は空で問題ありません。その後autofsを再起動します。

sudo mkdir -p /mnt/nfs sudo systemctl restart autofs

4. マウントの動作確認

autofsによるマウントは、lsやcdでマウントポイントにアクセスしたタイミングで自動的に実行されます。

# マウントポイントにアクセスする(この瞬間に自動マウントが起動する) ls /mnt/nfs/data # マウントされたか確認する mount | grep nfs

$ ls /mnt/nfs/data project_a project_b shared $ mount | grep nfs nfsserver01:/exports/data on /mnt/nfs/data type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,soft,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.x.xx,local_lock=none,addr=192.168.x.x)

mountコマンドの詳しい使い方はmount コマンドの使い方で解説しています。

300秒アクセスを止めると自動でアンマウントされます。再度mount | grep nfsを実行して出力がなければアンマウント済みです。

直接マップの使い方(任意パスへのマウント)

直接マップ(direct map)は、親ディレクトリにまとめず任意の既存パスにマウントポイントを設定したい場合に使います。/etc/auto.masterのキーに/-を指定するのが特徴です。

# /etc/auto.masterに追記 /- /etc/auto.direct --timeout=300

# /etc/auto.direct の内容 # 間接マップとの違い: キー列にフルパスを書く /srv/share1 -fstype=nfs4,rw,soft nfsserver01:/exports/share1 /opt/tooldata -fstype=nfs4,ro,soft nfsserver01:/exports/tools

直接マップは、CIツールや既存スクリプトが特定パスを期待している場合や、既存のディレクトリ構造を変えずにNFS共有を追加したい場合に適しています。

現場では開発チームのデプロイ資材をNFSで共有しつつautofsで管理する構成がよく使われます。Linuxサーバー管理の実践スキルを体系的に学ぶなら、Linux Master Pro Seminarも参考にしてみてください。

autofsが「マウントできない」時のトラブルシュート

「マウントされない」問題の大半は次の4つが原因です。順番に確認していきましょう。

1. autofsサービスが起動していない、または設定ファイルの構文エラー

まずサービス状態とログを確認します。

systemctl status autofs journalctl -u autofs -n 50

設定ファイルの構文エラーがあると起動時にエラーログが出力されます。journalctl -u autofsで原因箇所を特定してください。

2. NFSポートがファイアウォールでブロックされている

NFSはTCP/UDP 111(portmapper/rpcbind)と2049(nfsd)を使います。NFSサーバー側でエクスポート一覧が見えるか確認します。

# autofsクライアント側から実行してNFSサーバーのエクスポート一覧を確認 showmount -e nfsserver01

Export list for nfsserver01: /exports/data 192.168.x.0/24 /exports/backup 192.168.x.0/24 /exports/logs 192.168.x.0/24

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)のようなエラーが出た場合、NFSサーバー側のファイアウォールが原因です。

# NFSサーバー側でNFS関連サービスを開放する(RHEL9/Rocky Linux 9) sudo firewall-cmd --add-service=nfs --permanent sudo firewall-cmd --add-service=rpc-bind --permanent sudo firewall-cmd --add-service=mountd --permanent sudo firewall-cmd --reload # 確認 sudo firewall-cmd --list-services

3. NFSエクスポートのクライアントIPが許可範囲外

showmountでエクスポート一覧は見えるのにマウントに失敗する場合、NFSサーバーの/etc/exportsでクライアントIPが許可されていない可能性があります。

# NFSサーバー側で現在のエクスポート状態を確認 exportfs -v

/exports/data 192.168.x.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash) /exports/backup 192.168.x.0/24(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)

クライアントのIPアドレスが許可範囲に含まれているか確認し、不足があれば/etc/exportsを修正して再エクスポートします。

# /etc/exports修正後に再エクスポート sudo exportfs -ra

4. マップファイル変更後の反映忘れ

/etc/auto.masterやマップファイルを変更した後は必ずautofsを再起動してください。設定ファイルの変更はサービス再起動前には反映されません。

# 設定変更後は必ず再起動 sudo systemctl restart autofs # または設定リロードのみ(既存マウントを維持) sudo automount -v

本記事のまとめ

やりたいこと コマンド・ファイル
autofsをインストールする sudo dnf install -y autofs
autofsサービスを起動・有効化する sudo systemctl enable --now autofs
間接マップでNFS共有を登録する /etc/auto.masterにエントリ追加+マップファイル作成
自動アンマウントのタイムアウトを変更する /etc/auto.masterのオプションに --timeout=秒数
NFSサーバーのエクスポート一覧を確認する showmount -e NFSサーバー名
NFSサーバーの現エクスポート状態を確認する exportfs -v
autofsのログを確認する journalctl -u autofs -n 50
マップファイル変更後に設定を反映する sudo systemctl restart autofs
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、
autofsのようなサーバー管理技術を含め、NFSサーバー構築からネットワーク設計まで実機ハンズオンで習得できるプログラムがあります。RHEL10対応・少人数制の2日間集中コースです。
>> Linux Master Pro Seminar の詳細はこちら

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。