手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 fstab の基本 – ローカルディスクと永続マウントを安全に管理する

関連する記事

/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: ファイルシステム種別です。例: ext4xfs
  • 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/app

UUID とファイルシステム種別を確認する

ローカルディスクは /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/app

fstab をバックアップする

/etc/fstab の誤りは起動時のトラブルにつながります。変更前に必ずバックアップを取り、戻せる状態にしておきます。

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

UUID で 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/null

fstab の構文を確認する

登録後は findmnt --verify で構文と参照先を確認します。警告やエラーが出る場合は、再起動する前に修正します。

sudo findmnt --verify --verbose

fstab の内容でマウントする

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-pager

LVM の 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、再起動後確認をセットにすると、起動時トラブルを避けやすくなります。

関連する記事
Ubuntu 26.04 fstab の基本 – ローカルディスクと永続マウントを安全に管理する

コメントを残す

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

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

トップへ戻る