手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 autofs によるリモートマウント – 必要な時だけリモートストレージをマウントする

関連する記事

autofs によるリモートマウントは、NFS や CephFS などのリモートストレージを、アクセスされた時だけマウントする方法です。起動時にリモートサーバーへ強く依存したくない共有や、普段は使わないが必要な時だけ参照する共有に向いています。

この記事では、Ubuntu 26.04 で autofs を使ってリモートストレージをマウントするために、autofs の導入、/etc/auto.master.d/remote.autofs/etc/auto.remote、サービス再起動、アクセス時の確認、固定マウントとの使い分けを扱います。

autofs を使う場面

  • 起動時にリモートストレージへ依存したくない場合。
  • 利用頻度が低い共有を、必要な時だけマウントしたい場合。
  • NFS サーバー停止時に、クライアント起動を巻き込みたくない場合。
  • 複数の共有を同じ方式で管理したい場合。

前提条件

  • NFS や CephFS など、利用するリモートファイルシステムのクライアント設定が済んでいること。
  • リモートサーバー名を名前解決できること。
  • マウントポイント、マウントオプション、マウント元を決めていること。
  • 起動直後から常に必要な共有ではないことを確認していること。
getent hosts nfs01.example.com
showmount -e nfs01.example.com
findmnt -t nfs,nfs4,ceph,cifs

autofs をインストールする

Ubuntu 26.04 では autofs パッケージを導入し、autofs.service で自動マウントを管理します。

sudo apt update
sudo apt install -y autofs

master 設定用ディレクトリを確認する

/etc/auto.master.d に個別の master 設定を置くと、用途ごとに autofs 設定を分けやすくなります。

sudo mkdir -p /etc/auto.master.d
sudo chmod 0755 /etc/auto.master.d

master 設定を作成する

直接マップ形式を使う場合は、/- と map ファイルのパスを指定します。ここでは /etc/auto.remote をリモートストレージ用の map ファイルにします。

sudo tee /etc/auto.master.d/remote.autofs >/dev/null <<'EOF'
/- /etc/auto.remote
EOF
sudo chmod 0644 /etc/auto.master.d/remote.autofs

map ファイルを作成する

map ファイルには、マウントポイント、マウントオプション、マウント元を 1 行で書きます。以下は NFSv4 の共有を /srv/remote/data に必要時マウントする例です。

sudo tee /etc/auto.remote >/dev/null <<'EOF'
/srv/remote/data -fstype=nfs4,rw,hard,timeo=600,retrans=2 nfs01.example.com:/export/data
EOF
sudo chmod 0644 /etc/auto.remote

autofs サービスを再起動する

設定ファイルを作成または変更したら、autofs.service を再起動して設定を読み込みます。

sudo systemctl restart autofs.service
sudo systemctl enable autofs.service
systemctl status autofs.service --no-pager

アクセス時にマウントされることを確認する

autofs では、設定直後に必ずマウント済みになるとは限りません。対象パスへアクセスした時にマウントされることを確認します。

findmnt /srv/remote/data || true
ls /srv/remote/data
findmnt /srv/remote/data
findmnt -no SOURCE,FSTYPE,OPTIONS /srv/remote/data

一定時間後にアンマウントされることを確認する

autofs は使われていないマウントを自動的に解除します。解除タイミングは autofs の設定や利用状況に依存しますが、不要になった共有が残り続けていないかを確認します。

findmnt /srv/remote/data
sleep 60
findmnt /srv/remote/data || true

複数の共有を登録する

複数のリモート共有を扱う場合は、/etc/auto.remote に行を追加します。マウントポイント、オプション、マウント元の組み合わせを共有ごとに明確にします。

sudo tee /etc/auto.remote >/dev/null <<'EOF'
/srv/remote/data -fstype=nfs4,rw,hard,timeo=600,retrans=2 nfs01.example.com:/export/data
/srv/remote/archive -fstype=nfs4,ro,hard,timeo=600,retrans=2 nfs01.example.com:/export/archive
EOF
sudo systemctl restart autofs.service

fstab と autofs の使い分け

  • fstab は、起動後に常に必要な共有に向いています。
  • autofs は、アクセス時だけ必要な共有に向いています。
  • リモートサーバー停止時にクライアント起動へ影響させたくない場合は、autofs が扱いやすくなります。
  • アプリケーションが起動直後から必ず共有を必要とする場合は、autofs だけでなくサービス依存関係も確認します。

トラブル時に見る項目

  • systemctl status autofs.service でサービス状態を確認すること。
  • journalctl -u autofs.service で map 読み込みやマウント失敗を確認すること。
  • map ファイルのマウントポイント、オプション、マウント元の順序を確認すること。
  • NFS の場合は、サーバー側 export とクライアント側の nfs-common 設定を確認すること。
  • CephFS の場合は、ceph-commonceph.conf、keyring を確認すること。
systemctl status autofs.service --no-pager
journalctl -u autofs.service -b --no-pager
sudo automount -m

まとめ

autofs によるリモートマウントは、リモートストレージを常時マウントせず、必要な時だけ利用したい場合に有効です。Ubuntu 26.04 では、/etc/auto.master.d に master 設定を置き、map ファイルでマウントポイント、オプション、マウント元を管理すると、NFS や CephFS などの共有を用途ごとに分けやすくなります。

関連する記事
Ubuntu 26.04 autofs によるリモートマウント – 必要な時だけリモートストレージをマウントする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る