マザーボードのボタン電池を取り替える必要が出たわけですが、CPUクーラーと干渉してたため、電池の交換にはマザーボードをケースから取り外して、CPUクーラーを取り外してようやく交換となりました。
その際うっかりSATAケーブルを何も考えず抜いてしまいました。私は複数のHDDを1つのデカい論理ボリュームにして使っていたのですが、SATAの端子が変わってしまっただけでLVMが起動できなくなってしまいました。
LVMを使っている場合はSATAケーブルを抜く前に配線をしっかり記録しておきましょう…。
ということでやらかした後の復活手順。
/etc/fstab で自動マウントする設定にしてたらまずOSが正常に起動しないので、OSが正常に起動しない場合はまず/etc/fstab を修正し、LVMが起動時に自動マウントしないようにコメントアウトしてからの作業になります。
1 2 |
# pvscan # vgscan |
起動後、pvscan や vgscan をしても何も表示されません。
1 |
# fdisk -l |
fdiskではLVMのディスクとして認識されています。
1 |
# lsblk -o +MODEL,SERIAL -fs |
まずデバイスのパスとUUIDを確認します。
1 |
# ls /etc/lvm/archive/ |
vgの情報が保存されているフォルダを確認します。
1 |
# cat /etc/lvm/archive/bk_xxxxxxxx.vg |
覗いてみましょう。複数LVMを構築してる場合は複数あると思います。がんばって該当のを探しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
physical_volumes { pv0 { id = "xxxx-xxxx-...." device = "/dev/sdb1" # Hint only device_id_type = "sys_wwid" device_id = "naa.----..." status = ["ALLOCATABLE"] flags = [] dev_size = 7814035087 # 3.63869 Terabytes pe_start = 2048 pe_count = 953861 # 3.63869 Terabytes } |
こんな感じで色々と情報が出てきます。構築したときのUUIDとデバイスが確認できます。先ほどlsblkコマンドで確認したものとデバイスのパスが異なっているものがあるはず。比較すると正しい配線の仕方がわかるので、一旦シャットダウンしSATAケーブルを接続し直します。
今回の場合、これだけでは復活しなかったので、以下の作業を続けて行いました。
1 |
# pvcreate --uuid "xxxx-xxxx-...." --restorefile /etc/lvm/archive/bk_xxxxxxxx.vg /dev/sdb1 |
バックアップファイルからPVを復活させます。LVMとして使っていたHDDの台数分行います。
1 |
# vgcfgrestore vgname -f /etc/lvm/archive/bk_xxxxxxxx.vg |
PVを復活できたら次はVG。VGの名前はバックアップファイルで確認できます。
1 2 3 4 5 6 |
creation_host = "localhost" # Linux localhost 5.14.0-427.28.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 15:28:35 UTC 2024 x86_64 creation_time = 1722907501 # Tue Aug 6 10:25:01 2024 vgname { id = "...." seqno = 11 |
最初の方に載ってます。この例だとVGの名前は “vgname” となります。合わせなくてもいいのかもですが。
1 2 |
# vgchange -ay vgname # lvdisplay |
アクティブにして無事復活。後はマウントしておしまい。
コメント