はじめに
Google Cloud の Compute Engine (Linux) に追加ディスクをアタッチしてマウントする、という作業を試しました。
従来の /dev/sda /dev/sdb ではなく、Google Cloud の公式ドキュメントでは /dev/disk/by-id/google-* を使っているのが気になったので、両方を実際に試し、その理由も考えてみたというメモです。
結論としてはどちらでも作業自体は可能ですが、安全性(誤ったデバイスを指定しにくい)という観点では Google Cloud 推奨のやり方が良さそうだと感じました。
引用
(・ベスト プラクティス: Linux VM で永続デバイス名を使用する
https://docs.cloud.google.com/compute/docs/disks/set-persistent-device-name-in-linux-vm?hl=ja)
Linux オペレーティング システムを使用する VM の場合、次のような手順を行うとデバイス名(/dev/sdaなど)が変更される場合があります。
・VM の起動と停止
・ディスクの切断と再アタッチ
・マシンタイプの変更
※ 本記事は個人環境での作業メモであり、すべての環境での再現性を保証しません。所属組織の見解ではありません。
まずは従来どおり:/dev/sdb を前提にマウントしてみる
lsblk などで追加ディスクが sdb であることを確認し、従来どおりフォーマット&マウント。再起動して確認(簡易的な手順)。
※mkfsは既存データがあるディスクに対して実行するとデータは完全に消えるので注意
# 追加ディスクの確認
lsblk -f
# フォーマット
sudo mkfs.ext4 /dev/sdb
# マウント
sudo mkdir -p /mnt/data
sudo mount /dev/sdb /mnt/data
# UUID 確認(fstab 用)
sudo blkid /dev/sdb
# fstab 編集(例: UUID=... /mnt/data ext4 defaults,nofail 0 2)
sudo vi /etc/fstab
# 設定反映&再起動
sudo mount -a
sudo reboot
# 再起動後の確認
lsblk -f
この方法で作業は問題なく完了。
ただしこれは 「今この瞬間 sdb が意図したディスクである」 ことに依存します
公式寄りのやり方:/dev/disk/by-id/google-* を使ってみる(簡易的な手順)
Google Cloud の手順では、まず ls -l /dev/disk/by-id/google-* でデバイス名を確認します
※mkfsは既存データがあるディスクに対して実行するとデータは完全に消えるので注意
# by-id と実体(/dev/sdX /dev/nvme...)の対応を確認
ls -l /dev/disk/by-id/google-*
# 例) google-disk-mnt-test-20260213 -> ../../sdb
そのまま by‑id を指定して実行しても OK でした。
# フォーマット
sudo mkfs.ext4 /dev/disk/by-id/google-disk-mnt-test-20260213
# マウント
sudo mkdir -p /mnt/data
sudo mount /dev/disk/by-id/google-disk-mnt-test-20260213 /mnt/data
# UUID 確認
sudo blkid /dev/disk/by-id/google-disk-mnt-test-20260213
# fstab 編集(例: UUID=... /mnt/data ext4 defaults,nofail 0 2)
sudo vi /etc/fstab
# 設定反映&再起動
sudo mount -a
sudo reboot
lsblk -f
従来の方法 vs Google Cloud 公式寄りの手順
- どちらでも作業は可能
- ただし、
mkfsのような取り返しのつかないコマンドを打つ場面では、
対象ディスクを誤指定しにくいのは by‑id/UUIDだと感じました
まとめ
- 従来の
/dev/sdbでも作業はできる - ただし デバイス名は再起動・再アタッチ等で変わり得るため、
- 「どちらでもできるが、安全性を考えると推奨側の識別子(UUID/by‑id)を使うのが良さそうという結論に落ち着いた
参考(公式)
- Linux VM で非ブートディスクをフォーマットしてマウント
https://docs.cloud.google.com/compute/docs/disks/format-mount-disk-linux?hl=ja - ベスト プラクティス: Linux VM で永続デバイス名を使用
https://docs.cloud.google.com/compute/docs/disks/set-persistent-device-name-in-linux-vm?hl=ja - 新しい Persistent Disk を作成/アタッチ
https://docs.cloud.google.com/compute/docs/disks/add-persistent-disk?hl=ja