手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 ブロックデバイスの初期化 – 追加ディスクにファイルシステムを作成する

関連する記事

Ubuntu 26.04 で追加ディスクを使う場合、まず対象が本当に初期化してよいブロックデバイスかを確認し、既存ファイルシステムや既存データの有無を見てからファイルシステムを作成します。ここを急ぐと、OS ディスクや既存データを消す事故につながります。

この記事では、追加ディスクを例に、デバイス確認、既存ファイルシステム確認、mkfs、UUID 確認、手動マウント、/etc/fstab 登録前の確認までを扱います。LVM を使う場合は、ファイルシステム作成の前に PV / VG / LV の設計を行います。

初期化する前に決めること

  • 対象デバイス名。例: /dev/sdb
  • 作成するファイルシステム。例: ext4 または xfs
  • マウント先。例: /srv/data/app
  • LVM を使うか、ディスクに直接ファイルシステムを作るか。
  • 既存データを消してよいか、バックアップが必要か。

対象デバイスを確認する

まずディスク一覧、ファイルシステム、マウント状態、モデルやシリアルを確認します。クラウド環境や仮想環境では、再起動や追加順序でデバイス名が変わる場合があるため、サイズやシリアルも見ます。

lsblk -o NAME,TYPE,SIZE,FSTYPE,MOUNTPOINTS,MODEL,SERIAL
sudo blkid
findmnt

既存シグネチャを確認する

wipefs -n は実際には消さず、既存のファイルシステムシグネチャやパーティション情報を確認します。何か表示される場合は、初期化してよいデバイスかを再確認します。

sudo wipefs -n /dev/sdb
sudo blkid /dev/sdb || true

ブロックデバイスであることを確認する

対象パスが存在し、ブロックデバイスであることを確認します。通常ファイルや誤ったパスを指定しないための確認です。

test -b /dev/sdb
ls -l /dev/sdb

ファイルシステムを作成する

対象が空で、初期化してよいことを確認できたらファイルシステムを作成します。以下は ext4 の例です。既存データがあるデバイスに実行すると内容を失います。

sudo mkfs.ext4 /dev/sdb

xfs を使う場合は、必要なパッケージを入れてから作成します。

sudo apt install -y xfsprogs
sudo mkfs.xfs /dev/sdb

作成結果を確認する

ファイルシステム作成後に blkidlsblk -f で TYPE と UUID を確認します。

sudo blkid /dev/sdb
lsblk -f /dev/sdb

手動マウントで確認する

永続化する前に、マウントポイントを作成して手動マウントします。読み書き確認まで行い、想定したファイルシステムが使われていることを確認します。

sudo mkdir -p /srv/data/app
sudo mount /dev/sdb /srv/data/app
findmnt /srv/data/app
df -h /srv/data/app
sudo touch /srv/data/app/.block-device-test
sudo rm /srv/data/app/.block-device-test

UUID を使って fstab 登録する

永続マウントする場合は、デバイス名ではなく UUID を使うと、デバイス名の変化に強くなります。/etc/fstab を変更する前にバックアップを取り、登録後は findmnt --verify で確認します。

UUID=$(sudo blkid -s UUID -o value /dev/sdb)
sudo cp -a /etc/fstab /etc/fstab.bak.$(date +%Y%m%d%H%M%S)
printf '%s\n' "UUID=$UUID /srv/data/app ext4 defaults 0 2" | sudo tee -a /etc/fstab >/dev/null
sudo findmnt --verify --verbose

再マウントして確認する

/etc/fstab 登録後は、いったんアンマウントしてからマウントし直し、登録した内容でマウントできることを確認します。

sudo umount /srv/data/app
sudo mount /srv/data/app
findmnt /srv/data/app
findmnt -no SOURCE,FSTYPE,OPTIONS /srv/data/app

LVM を使う場合の違い

LVM を使う場合は、/dev/sdb に直接 mkfs するのではなく、まず pvcreatevgcreatelvcreate の順に LVM を構成し、作成した LV にファイルシステムを作ります。容量拡張の余地を持たせたい場合は LVM を検討します。

sudo pvcreate /dev/sdb
sudo vgcreate vg_data /dev/sdb
sudo lvcreate -n lv_app -L 20G vg_data
sudo mkfs.ext4 /dev/vg_data/lv_app

Ceph OSD 用ディスクとの違い

Ceph OSD として使うディスクは、通常のローカルファイルシステムとして mkfs しません。Ceph の orchestrator や OSD 作成手順に渡す前提で、対象ディスクが空であることを確認します。

lsblk -f
sudo wipefs -n /dev/sdb
sudo ceph orch device ls --hostname ceph01 --refresh

失敗した時に戻す

/etc/fstab への登録で問題が出た場合は、追加した行を無効化し、バックアップから戻します。ファイルシステム作成後のデータ復旧は簡単ではないため、初期化前の確認が重要です。

sudo umount /srv/data/app
sudo cp -a /etc/fstab.bak.YYYYMMDDHHMMSS /etc/fstab
sudo findmnt --verify --verbose

確認項目

  • 対象が本当に追加ディスクであること。
  • wipefs -nblkid で既存シグネチャを確認していること。
  • LVM を使うか、直接ファイルシステムを作るかを先に決めていること。
  • 手動マウントと読み書き確認が通っていること。
  • /etc/fstab 登録後に findmnt --verify が通ること。

まとめ

ブロックデバイス初期化では、コマンド自体よりも対象確認が重要です。Ubuntu 26.04 で追加ディスクを使う場合は、lsblkblkidwipefs -n で状態を確認し、LVM の要否を決めてからファイルシステムを作成します。永続マウントする場合は UUID を使い、findmnt --verify で再起動前に確認します。

関連する記事
Ubuntu 26.04 ブロックデバイスの初期化 – 追加ディスクにファイルシステムを作成する

コメントを残す

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

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

トップへ戻る