Advanced Ubuntu Administration and Management Best Practices
Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
/etc/fstab は、Ubuntu 26.04 の起動時や mount 実行時に参照されるファイルシステム設定です。ローカルディスクを永続マウントする場合は、デバイス名ではなく UUID を使い、ファイルシステム種別、マウント先、オプション、dump、passno を正しく登録します。
この記事では、ローカルブロックデバイスを対象に、マウントポイント作成、UUID と TYPE の確認、/etc/fstab バックアップ、登録、findmnt --verify、再マウント確認、失敗時の戻し方を扱います。NFS や CephFS などのリモートマウントは、別記事で扱います。
fstab の基本項目
fs_spec: マウント元です。ローカルディスクではUUID=...を使うのが基本です。fs_file: マウントポイントです。例:/srv/data/app。fs_vfstype: ファイルシステム種別です。例:ext4、xfs。fs_mntops: マウントオプションです。例:defaults。fs_freq: dump 用の値です。通常は0にします。fs_passno: 起動時 fsck の順序です。ルート以外のローカル ext4 では2がよく使われます。
前提条件
- 対象デバイスにファイルシステムが作成済みであること。
- 対象デバイスを取り違えていないこと。
- マウントポイントを決めていること。
- 既存の
/etc/fstabをバックアップしてから変更すること。
lsblk -f
sudo blkid
findmntマウントポイントを作成する
マウントポイントを作成します。ローカルディスクのマウント先は、アプリケーションや運用単位から見て分かりやすいパスにします。
sudo mkdir -p /srv/data/app
sudo chown root:root /srv/data/app
sudo chmod 0755 /srv/data/appUUID とファイルシステム種別を確認する
ローカルディスクは /dev/sdb のようなデバイス名が変わる可能性があるため、UUID を使って登録します。あわせて、実際のファイルシステム種別が想定と一致しているか確認します。
sudo blkid -s UUID -o value /dev/sdb
sudo blkid -s TYPE -o value /dev/sdb
lsblk -f /dev/sdb手動マウントで確認する
/etc/fstab に登録する前に、手動マウントで読み書きできることを確認します。ここで失敗する場合は、fstab に進まず、ファイルシステムやマウントポイントを見直します。
sudo mount /dev/sdb /srv/data/app
findmnt /srv/data/app
df -h /srv/data/app
sudo touch /srv/data/app/.fstab-test
sudo rm /srv/data/app/.fstab-test
sudo umount /srv/data/appfstab をバックアップする
/etc/fstab の誤りは起動時のトラブルにつながります。変更前に必ずバックアップを取り、戻せる状態にしておきます。
sudo cp -a /etc/fstab /etc/fstab.bak.$(date +%Y%m%d%H%M%S)
sudo findmnt --verify --verboseUUID で fstab に登録する
確認した UUID を使って /etc/fstab に登録します。以下は ext4 の例です。xfs など別のファイルシステムを使う場合は、TYPE に合わせて変更します。
UUID=$(sudo blkid -s UUID -o value /dev/sdb)
printf '%s\n' "UUID=$UUID /srv/data/app ext4 defaults 0 2" | sudo tee -a /etc/fstab >/dev/nullfstab の構文を確認する
登録後は findmnt --verify で構文と参照先を確認します。警告やエラーが出る場合は、再起動する前に修正します。
sudo findmnt --verify --verbosefstab の内容でマウントする
mount /srv/data/app と指定すると、/etc/fstab の設定を使ってマウントされます。登録した内容でマウントできることを確認します。
sudo mount /srv/data/app
findmnt /srv/data/app
findmnt -no SOURCE,FSTYPE,OPTIONS /srv/data/app
df -h /srv/data/app再起動後の確認
fstab の設定は再起動後の状態まで確認します。起動後にマウントされているか、ファイルシステム種別とオプションが意図通りかを見ます。
findmnt /srv/data/app
findmnt -no SOURCE,FSTYPE,OPTIONS /srv/data/app
systemctl status local-fs.target --no-pager
journalctl -b -u local-fs.target --no-pagerLVM の LV を登録する場合
LVM の LV を登録する場合も考え方は同じです。LV の UUID と TYPE を確認し、/etc/fstab へ UUID で登録します。
sudo blkid /dev/vg_data/lv_app
UUID=$(sudo blkid -s UUID -o value /dev/vg_data/lv_app)
printf '%s\n' "UUID=$UUID /srv/data/app ext4 defaults 0 2" | sudo tee -a /etc/fstab >/dev/null
sudo findmnt --verify --verbose失敗した時に戻す
マウントや起動に問題が出た場合は、追加した行を無効化し、バックアップから戻します。対象サービスがある場合は、先に停止してからアンマウントします。
sudo systemctl stop example.service
sudo umount /srv/data/app
sudo cp -a /etc/fstab.bak.YYYYMMDDHHMMSS /etc/fstab
sudo findmnt --verify --verboseリモートマウントとの違い
- ローカルディスクでは
UUID=...を使い、起動時 fsck のpassnoを意識します。 - NFS や CephFS などのリモートマウントでは、ネットワーク到達性や
_netdevなどを考えます。 - 必要な時だけマウントする共有は、
fstabよりautofsが向く場合があります。 - ローカルディスクでも、マウント失敗時に空ディレクトリへ書かれないようにアプリケーション側の扱いを確認します。
確認項目
- 対象デバイスの UUID と TYPE を確認していること。
- マウントポイントが存在し、意図した権限になっていること。
/etc/fstab変更前にバックアップを取っていること。findmnt --verifyが通ること。- 再起動後に
findmntでマウント状態を確認していること。
まとめ
Ubuntu 26.04 でローカルディスクを永続マウントする場合は、デバイス名ではなく UUID を使って /etc/fstab に登録します。変更前バックアップ、手動マウント確認、findmnt --verify、再起動後確認をセットにすると、起動時トラブルを避けやすくなります。

