立ち上がらなくなったrootボリュームを修復したい。そのためには、そのボリュームを別インスタンスにマウントして設定ファイルなどを修正する必要がある。ボリュームのパーティションの扱いでちょっとつまづいた過程を覚え書き。
対象rootボリュームを/dev/sdfにアタッチしてインスタンス起動。
マウントするためのデバイスファイル名を取得。
# ls -l /dev/sdf lrwxrwxrwx 1 root root 7 Mar 15 05:58 /dev/sdf -> nvme1n1
/dev/mvme1n1のマウントを試みるが失敗。
# mount /dev/nvme1n1 /mnt/attached_disk mount: wrong fs type, bad option, bad superblock on /dev/nvme1n1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so.
ファイル形式を確認するとext4ではなかった。
# file -s /dev/nvme1n1 /dev/nvme1n1: DOS/MBR boot sector; GRand Unified Bootloader, stage1 version 0x3, stage2 address 0x2000, 1st sector stage2 0x800, stage2 segment 0x200, GRUB version 0.94, extended partition table (last)
ブロックデバイスの構成を確認したらパーティションが存在した。
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:3 0 31G 0 disk ├─nvme0n1p1 259:4 0 31G 0 part / └─nvme0n1p128 259:5 0 1M 0 part nvme1n1 259:0 0 30G 0 disk ├─nvme1n1p1 259:1 0 30G 0 part └─nvme1n1p128 259:2 0 1M 0 part
パーティションのデバイスファイル名で試みたらマウント成功。
# mount /dev/nvme1n1p1 /mnt/attached_disk
アンマウントももちろん問題なし。
# umount /mnt/attached_disk
参考サイト
Amazon EC2インスタンスにSSHできなくなった時の対処法 | Casual Developers Notes
https://casualdevelopers.com/tech-tips/how-to-fix-ssh-problem-to-ec2/
【 file 】コマンド――ファイル形式を確認する:Linux基本コマンドTips(12) – @IT
https://www.atmarkit.co.jp/ait/articles/1605/10/news018.html
【 lsblk 】コマンド――ブロックデバイスを一覧表示する:Linux基本コマンドTips(180) – @IT
https://www.atmarkit.co.jp/ait/articles/1802/02/news021.html