tmytのらくがき

個人の日記レベルです

LVM2でpvがmissing といわれてしまったとき

LMV2を使っていて、何かの拍子にPVが見えなくなるも、その後復帰したときPVのmissing flagが残ったままでVGが有効にできないとかなって困ることがあります。というか困りました。

ぐぐっても全然ヒットしない*1中やっとみつけたのがここ。

まず現状確認。

# pvs
  PV         VG Fmt  Attr PSize  PFree
  /dev/sdb   vg lvm2 a--  500.0g 0
  /dev/sdc   vg lvm2 a-m  500.0g 0

sdcのAttrがa-m ってなってる。この状態でvgchange -ayとかすると

Cannot change VG vg while PVs are missing.
Consider vgreduce --removemissing.

とかいわれて全然だめ。でも、よくあるやつのようにuuidが見つからないとは言われてない。uuidは見えるけどPVがmissingって言われるときは次のようにして復旧する。

# vgextend --restoremissing vg /dev/sdc

こうするとmissing となってたsdcが復活する。確認するとこうなる。

# pvs
  PV         VG Fmt  Attr PSize  PFree
  /dev/sdb   vg lvm2 a--  500.0g 0
  /dev/sdc   vg lvm2 a--  500.0g 0

最後にVGを有効にして終わり。

# vgchange -ay

これで次から困らないはず。

*1:ディスクが壊れたから新しいディスク追加してmetadata復旧はよくある