Hyper-VでCentOSを仮想サーバとして運用しているんですが、そのバックアップされた仮想ハードディスクの中身を確認する必要が出てきました。
とりあえず自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をマウントしデータを読み書きできるようにする方法