3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(Linux)LVMで構築されたパーティションをマウント

Hyper-VCentOSを仮想サーバとして運用しているんですが、そのバックアップされた仮想ハードディスクの中身を確認する必要が出てきました。

とりあえず自PCのVirutalBoxでFedora13を入れて、バックアップされた仮想ハードディスク(vhd)を増設ディスクとさせます。

で、仮想PCのFedora13から mount /dev/sdb2 /mnt/centbkup としてマウント使用としますができません。

で、思い出したのが、このCentOSの仮想ハードディスクはLVMで構築してたことです。

fdiskで確認するとたしかに、LVMでした。

[root@fedora13 ~]# fdisk -l

...

ディスク /dev/sdb: 136.4 GB, 136365211648 バイト

ヘッド 255, セクタ 63, シリンダ 16578

Units = シリンダ数 of 16065 * 512 = 8225280 バイト

セクタサイズ (論理 / 物理): 512 バイト / 512 バイト

I/O size (minimum/optimal): 512 bytes / 512 bytes

ディスク識別子: 0x00021b5b

バイス ブート 始点 終点 ブロック Id システム

/dev/sdb1 * 1 13 104391 83 Linux

/dev/sdb2 14 16578 133058362+ 8e Linux LVM

取りあえず lvscan でLVM名を探します。

[root@fedora13 ~]# lvscan

ACTIVE '/dev/VolGroup00/LogVol00' [124.88 GiB] inherit

ACTIVE '/dev/VolGroup00/LogVol01' [2.00 GiB] inherit

ACTIVE '/dev/vg_fedora13/lv_root' [29.31 GiB] inherit

ACTIVE '/dev/vg_fedora13/lv_swap' [1.31 GiB] inherit

"VolGroup00" ってのがCentOS側のLVMですね。

lvm vgscanでも確認しておきます。

[root@fedora13 ~]# lvm vgscan

Reading all physical volumes. This may take a while...

Found volume group "VolGroup00" using metadata type lvm2

Found volume group "vg_fedora13" using metadata type lvm2

vgchangeコマンドで、ボリュームグループを有効化します。

[root@fedora13 ~]# vgchange -ay VolGroup00

なお、ボリュームグループを無効化する場合は、オプションを -an に変えればいいようです。

後は、マウント作業です。

[root@fedora13 ~]# mount /dev/VolGroup00/LogVol00 /media/centos/

なお、厄介なのはボリュームグループ名がかぶっている場合です。

そういう場合は、レスキューCDから vgrename コマンドを使ってボリューム名を変更する必要があるようですね。

(LVMのマウントに関してはいよいよHyper-V保存用HDDがおかしくなってきたに少しだけ書いてましたね。)

参考:

LVMパーティションの復旧 - hide-k.net#blog

Linuxでボリューム名が同じLVMをマウントしデータを読み書きできるようにする方法

LVMで使っていたドライブからデータを救出する - kinneko@転職先募集中の日記

LinuxでLVMのデータを抜き出す方法: sanonosa システム管理コラム集