ヘプタゴンの技術ブログ

サーバ/ネットワーク/linux/AWSとか青森を拠点でやってます

EC2/EBSでLVMを含んだボリュームのスナップショットを復元

LVMを使っているEBSのスナップショットからボリュームを復元して、
インスタンスにアタッチすると、ボリュームは見えるのだけど、
そのままではマウントできません。

具体的には、
datavgというVG&datalvというLVをスナップショット前に作っていたんだけど、
/dev/datavg/datalvが見当たらないという状況になると思います。

ボリュームの状態を確認してみると、

pvdisplay
 --- Physical volume ---
 PV Name /dev/sdj2
 VG Name datavg
 PV Size 30.00 GiB / not usable 2.01 MiB
 Allocatable yes
 PE Size 4.00 MiB
 Total PE 7679
 Free PE 255
 Allocated PE 7424
 PV UUID xxxxxxxxxxxxxxxxxxxxxx

 vgdisplay
 --- Volume group ---
 VG Name datavg
 System ID
 Format lvm2
 Metadata Areas 1
 Metadata Sequence No 6
 VG Access read/write
 VG Status resizable
 MAX LV 0
 Cur LV 1
 Open LV 0
 Max PV 0
 Cur PV 1
 Act PV 1
 VG Size 30.00 GiB
 PE Size 4.00 MiB
 Total PE 7679
 Alloc PE / Size 7424 / 29.00 GiB
 Free PE / Size 255 / 1020.00 MiB
 VG UUID xxxxxxxxxxxxxxxxxxxxxx

lvdisplay
 --- Logical volume ---
 LV Path /dev/datavg/datalv
 LV Name datalv
 VG Name datavg
 LV UUID xxxxxxxxxxxxxxxxxxxxxx
 LV Write Access read/write
 LV Creation host, time ip-xx-xxx-xxx-xxx, 20xx-xx-xx xx:xx:xx +0000
 LV Status NOT available
 LV Size 29.00 GiB
 Current LE 7424
 Segments 1
 Allocation inherit
 Read ahead sectors auto

のように、PV/VG/LVは認識されているが、
LV StatusがNOT availableになっていると思います。

vgchangeあるいはlvchangeを使って、LV Statusを有効にします。

vgchange -ay

これですべてのLVが有効になるので、
あとはmountするなり、fsckするなりしてみてください。