LVMを用いてファイルシステムを構築していて、そのHDDが壊れた時など、データ損傷し過ぎでどうにもこうにもいかなくなることがある。
そこで、別OSを起動してその壊れたHDDをマウントし、必要なデータを抜き出すにはどうしたらいいか。
ちょっと苦戦したので、そのメモ。
1,OS起動中にSATAを認識させる(HDDをSATAケーブルで接続後)
# echo "scsi add-single-device 01 00 01 00" > /proc/scsi/scsi
※数字は「scsi番号 Channel Id Lun」、今回は「01 00 01 00」だった。
2,SATAが認識されたか確認
# cat /proc/scsi/scsi Host: scsi1 Channel: 00 Id: 01 Lun: 00 Vendor: ATA Model: Maxtor 6Y080M0 Rev: YAR5 Type: Direct-Access ANSI SCSI revision: 05
3,LVMがデバイス内にあるか、物理ボリューム→ボリュームグループ→論理ボリュームの順にスキャン
# pvscan PV /dev/sdb2 VG VolGroup00 lvm2 [76.22 GB / 32.00 MB free] Total: 1 [76.22 GB] / in use: 1 [76.22 GB] / in no VG: 0 [0 ] # vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroup00" using metadata type lvm2 # lvscan ACTIVE '/dev/VolGroup00/LogVol00' [74.25 GB] inherit ACTIVE '/dev/VolGroup00/LogVol01' [1.94 GB] inheri
4,マウントしたいLVMボリュームグループを有効化
# vgchange -ay VolGroup00
5, /dev内にLVMのボリュームが見えるようになったので、マウント
# mount /dev/VolGroup00/LogVol00 /mnt # ls /mnt/ bin/ boot/ dev/ etc/ home/ lib/ lost+found/ media/ misc/ mnt/ net/ opt/ proc/ root/ sbin/ selinux/ srv/ sys/ tmp/ usr/ var/
6,データ吸出しちゃってください。