lvm mounten mit dmsetup
Sonntag, März 6th, 2016Um die Daten einer Festplatte zu retten auf unter anderem ein LVM Raid1 war, habe ich versucht mit vgchange -ay vg
das vg zu starten. Andernfalls waren die LVS nicht unterhalb von /dev/mapper/
nicht aufgeführt.
Nach dem ich aber vgchange -ay vg
aufrief war die Festplatte nur noch mit Lesezugriffen beschäftige. Die LVS waren vorhanden aber leisen sich nicht mounten. Somit habe ich den Vorgang mit vgchange -an vg
wieder abgebrochen.
Um von hinten am LVM vorbei an die Daten heranzukommen half mir folgende Option mit der ich an die Festplatte bzw. die Position des lvs heran kam:
lvs -a -o +seg_pe_ranges|grep lv LV VG Attr LSize Convert PE Ranges WARNING: Device for PV ZfExWH-u4Z9-zuqn-6e8P-ecDe-TYuQ-rBIlQP not found or rejected by a filter. lv vg owi-i-s--- 40,00g dev/sdc3:38146-48385
In der Datei /etc/lvm/backup/vg
fand ich zusätzlich noch folgend Informationen, alle anderen habe ich an dieser stelle ausgelassen:
vg { extent_size = 8192 # 4 Megabytes physical_volumes { pv0 { device = "/dev/sdc3" # Hint only pe_start = 384 # Ofset
Mit diesen Werten kann man die Position des LVs auf der Festplatte lokalisieren und mit dmsetup
einen eigenes device anlegen.
(48385-38146+1)*8192
(Partitionsende – Paritionsanfang + 1) * extent_size = ergibt die gesamt Größe: 83886080
384+38146*8192
pe_start + Paritionsanfang * extent_size begin auf der Parition: 312492416
echo "0 83886080 linear /dev/sdc3 312492416" | dmsetup create -r "lv_ro"
Unter /dev/mepper/lv_ro befindet sich nun das LV das gemountet werden kann.
Wie man an dieser stelle das readonly device mounten kann folgt im nächsten Blog Eintrag.