手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 fstab によるリモートマウント – リモートストレージを固定マウントする

関連する記事

/etc/fstab によるリモートマウントは、起動後に常に必要な共有を固定的にマウントする方法です。NFS、CephFS、CIFS などのリモートストレージをサービスの前提にする場合は、マウントポイント、接続元、ファイルシステム種別、オプションを明確にしてから登録します。

この記事では、Ubuntu 26.04 でリモートストレージを fstab に登録する流れとして、マウントポイント作成、手動マウント確認、/etc/fstab バックアップ、登録、mountfindmnt による検証、戻し方を扱います。

fstab 固定マウントを使う場面

  • 起動後にアプリケーションがすぐ参照する共有を使う場合。
  • バックアップ、ログ、共有データなど、マウントされていることが前提のディレクトリを使う場合。
  • リモートストレージ停止時の影響を把握したうえで固定マウントしたい場合。
  • 必要な時だけマウントしたい共有ではなく、常時マウントを前提にする場合。

前提条件

  • NFS や CephFS など、利用するリモートファイルシステムのクライアント設定が済んでいること。
  • リモートサーバー名を名前解決できること。
  • マウント元、マウント先、ファイルシステム種別、マウントオプションを決めていること。
  • 起動時に失敗した場合の影響を考え、必要に応じて _netdevnofail を使うこと。
getent hosts nfs01.example.com
findmnt -t nfs,nfs4,ceph,cifs
lsblk

マウントポイントを作成する

先にマウントポイントを作成し、所有者と権限を決めます。アプリケーションが利用する場合は、マウント後の所有者だけでなく、マウントできなかった時に空ディレクトリへ書き込まれない設計も確認します。

sudo mkdir -p /srv/remote/data
sudo chown root:root /srv/remote/data
sudo chmod 0755 /srv/remote/data

手動マウントで確認する

/etc/fstab に登録する前に、手動マウントでマウント元、ファイルシステム種別、オプションを確認します。ここで失敗する場合は、固定マウントに進まず、名前解決、疎通、サーバー側 export、クライアント設定を見直します。

sudo mount -t nfs4 -o rw,hard,timeo=600,retrans=2 nfs01.example.com:/export/data /srv/remote/data
findmnt /srv/remote/data
sudo umount /srv/remote/data

fstab をバックアップする

/etc/fstab は起動時のマウントに影響する重要なファイルです。変更前に必ずバックアップを取り、戻せる状態にしてから編集します。

sudo cp -a /etc/fstab /etc/fstab.bak.$(date +%Y%m%d%H%M%S)
sudo findmnt --verify --verbose

fstab にリモートマウントを登録する

NFSv4 の例では、マウント元、マウント先、ファイルシステム種別、オプション、dump、passno を 1 行で登録します。ネットワーク越しのマウントでは _netdev を付け、起動失敗を致命的にしたくない場合は nofail を検討します。

printf '%s\n' 'nfs01.example.com:/export/data /srv/remote/data nfs4 rw,hard,timeo=600,retrans=2,_netdev,nofail 0 0' | sudo tee -a /etc/fstab >/dev/null

fstab の構文を確認する

登録後は、すぐに構文とマウント可能性を確認します。findmnt --verify で警告が出る場合は、再起動前に必ず解消します。

sudo findmnt --verify --verbose
sudo mount /srv/remote/data
findmnt /srv/remote/data

起動後の状態を確認する

固定マウントは再起動後の状態まで確認して初めて完了です。起動後にマウントされているか、オプションが反映されているか、依存するサービスが正しい順序で起動しているかを確認します。

findmnt /srv/remote/data
findmnt -no SOURCE,FSTYPE,OPTIONS /srv/remote/data
systemctl status remote-fs.target --no-pager
journalctl -b -u remote-fs.target --no-pager

失敗した時に戻す

起動やマウントに問題が出た場合は、追加した行を無効化し、バックアップから戻します。リモートストレージに依存するサービスがある場合は、先にサービスを停止してからアンマウントします。

sudo systemctl stop example.service
sudo umount /srv/remote/data
sudo cp -a /etc/fstab.bak.YYYYMMDDHHMMSS /etc/fstab
sudo findmnt --verify --verbose

fstab と autofs の判断

  • fstab は、起動後に常に必要な共有に向いています。
  • autofs は、利用時だけ必要な共有や、サーバー停止の影響を起動時に受けたくない共有に向いています。
  • リモートストレージの停止がアプリケーション停止につながる場合は、マウント方式だけでなく systemd の依存関係も確認します。
  • 書き込み用途では、マウント失敗時にローカル空ディレクトリへ書かれない仕組みを用意します。

確認項目

  • マウントポイントが存在し、意図した所有者と権限になっていること。
  • 手動マウントで成功するオプションだけを /etc/fstab に登録していること。
  • _netdevnofail、タイムアウト値の意味を理解して使っていること。
  • findmnt --verify が通ること。
  • 再起動後に findmnt でマウント状態を確認していること。

まとめ

/etc/fstab によるリモートマウントは、起動後に常に必要な共有を扱う時に有効です。一方で、リモートサーバー停止やネットワーク遅延の影響を受けるため、手動マウント確認、fstab バックアップ、findmnt --verify、再起動後確認までを一連の作業として扱うことが重要です。

関連する記事
Ubuntu 26.04 fstab によるリモートマウント – リモートストレージを固定マウントする

コメントを残す

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

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

トップへ戻る