Advanced Ubuntu Administration and Management Best Practices
Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
autofs は、ファイルシステムを起動時に常時マウントするのではなく、対象パスへアクセスされた時に自動マウントする仕組みです。Ubuntu 26.04 で利用頻度の低いローカルディスクや、必要な時だけ参照したい領域を扱う場合に使えます。
この記事では、ローカルファイルシステムを例に、autofs の導入、/etc/auto.master.d/local.autofs、/etc/auto.local、サービス管理、アクセス時のマウント確認、fstab との使い分けを扱います。
autofs を使う場面
- 普段は使わない領域を、必要な時だけマウントしたい場合。
- 起動時にすべてのマウントを完了させる必要がない場合。
- 複数のマウントポイントを map ファイルでまとめて管理したい場合。
fstabの固定マウントではなく、アクセス時マウントで十分な場合。
前提条件
- 対象デバイスにファイルシステムが作成済みであること。
- UUID、ファイルシステム種別、マウントポイントを決めていること。
- 起動直後に必ず必要な領域ではないこと。
- 既存の autofs 設定とマウントポイントが重複していないこと。
lsblk -f
sudo blkid
findmntautofs をインストールする
Ubuntu 26.04 では autofs パッケージを導入し、autofs.service で自動マウントを管理します。
sudo apt update
sudo apt install -y autofsmaster 設定用ディレクトリを作成する
/etc/auto.master.d に個別の master 設定を置くと、ローカル用、リモート用など用途ごとに autofs 設定を分けられます。
sudo mkdir -p /etc/auto.master.d
sudo chmod 0755 /etc/auto.master.dmaster 設定を作成する
直接マップ形式を使い、/etc/auto.local をローカルファイルシステム用の map ファイルとして読み込ませます。
sudo tee /etc/auto.master.d/local.autofs >/dev/null <<'EOF'
/- /etc/auto.local
EOF
sudo chmod 0644 /etc/auto.master.d/local.autofsmap ファイルを作成する
map ファイルには、マウントポイント、オプション、マウント元を 1 行で書きます。以下は UUID を使って ext4 のローカルファイルシステムを /srv/data/app に必要時マウントする例です。
UUID=$(sudo blkid -s UUID -o value /dev/sdb)
sudo tee /etc/auto.local >/dev/null <<EOF
/srv/data/app -fstype=ext4,rw UUID=$UUID
EOF
sudo chmod 0644 /etc/auto.localautofs サービスを起動する
設定を作成したら autofs.service を起動し、再起動後も有効になるようにします。
sudo systemctl restart autofs.service
sudo systemctl enable autofs.service
systemctl status autofs.service --no-pagerアクセス時にマウントされることを確認する
autofs は、設定直後に必ずマウント済みになるとは限りません。対象パスへアクセスした時にマウントされることを確認します。
findmnt /srv/data/app || true
ls /srv/data/app
findmnt /srv/data/app
findmnt -no SOURCE,FSTYPE,OPTIONS /srv/data/app自動アンマウントを確認する
一定時間使われていないマウントは autofs により解除されます。解除タイミングは設定や利用状況に依存します。
findmnt /srv/data/app
sleep 60
findmnt /srv/data/app || true複数のマウントを登録する
複数のローカルファイルシステムを管理する場合は、map ファイルに行を追加します。マウントポイント、オプション、マウント元の組み合わせを明確にします。
APP_UUID=$(sudo blkid -s UUID -o value /dev/sdb)
ARCHIVE_UUID=$(sudo blkid -s UUID -o value /dev/sdc)
sudo tee /etc/auto.local >/dev/null <<EOF
/srv/data/app -fstype=ext4,rw UUID=$APP_UUID
/srv/data/archive -fstype=xfs,rw UUID=$ARCHIVE_UUID
EOF
sudo systemctl restart autofs.servicefstab と autofs の使い分け
fstabは、起動後に常に必要なローカルファイルシステムに向いています。autofsは、アクセス時だけ必要なファイルシステムに向いています。- アプリケーションが起動直後から必ず必要とする領域は、autofs だけでなくサービス依存関係も確認します。
- マウント失敗時に空ディレクトリへ書かれないよう、アプリケーション側の挙動も確認します。
トラブル時に見る項目
systemctl status autofs.serviceでサービス状態を確認すること。journalctl -u autofs.serviceで map 読み込みやマウント失敗を確認すること。automount -mで autofs が認識している map を確認すること。- UUID とファイルシステム種別が実デバイスと一致していること。
- マウントポイントが他の fstab や autofs 設定と重複していないこと。
systemctl status autofs.service --no-pager
journalctl -u autofs.service -b --no-pager
sudo automount -m
sudo blkid
findmntまとめ
Ubuntu 26.04 の autofs は、ファイルシステムを必要な時だけ自動マウントするための仕組みです。ローカルディスクでは UUID とファイルシステム種別を確認し、/etc/auto.master.d と map ファイルを分けて管理すると、固定マウントと使い分けやすくなります。起動直後から必要な領域は fstab、アクセス時だけ必要な領域は autofs を検討します。

