How can I grab the filesystem from corrupted lvm (help recover data from lvm with one pv missing)
Boris shtrasman
borissh1983 at gmail.com
Mon Oct 11 10:36:33 IST 2010
Hi,
Yesterday my harddrive had an inconvenient event: when I was using a d-i
from testing I accidentally overwritten on of the pv's connected to the lvm.
I started to panic and found myself making more damage by running vgreduce
--*remove*-*missing* since in one of the rescue files it noted this is the
way to fix it.
the config was :
/dev/sda7 pv0
/dev/sda8 pv1
digging in the parrtion i found the lvm declaration :
00000200 4c 41 42 45 4c 4f 4e 45 01 00 00 00 00 00 00 00
|LABELONE........|
00000210 e1 4c e7 48 20 00 00 00 4c 56 4d 32 20 30 30 31 |.L.H ...LVM2
001|
00000220 47 42 73 58 46 51 52 64 58 53 69 4d 68 70 50 68
|GBsXFQRdXSiMhpPh|
00000230 6c 65 69 71 66 4d 35 35 37 31 61 4a 67 51 41 61
|leiqfM5571aJgQAa|
00000240 00 8c 71 7c 07 00 00 00 00 00 03 00 00 00 00 00
|..q|............|
00000250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
00000260 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00
|................|
00000270 00 f0 02 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
digging in the raw data of the /dev/sda7 (I think) I found(*) the
filesystems that were on the lvm :
0002fff0 b8 ff 74 b8 ff 74 b8 ff 74 b8 ff 74 b8 ff 74 b8
|..t..t..t..t..t.|
00030000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
*
00030400 00 20 25 00 00 70 94 00 00 6c 07 00 13 13 4e 00 |.
%..p...l....N.|
00030410 01 f0 24 00 00 00 00 00 02 00 00 00 02 00 00 00
|..$.............|
00030420 00 80 00 00 00 80 00 00 00 20 00 00 05 dc b0 4c |.........
.....L|
00030430 c4 df b0 4c a2 01 25 00 53 ef 01 00 01 00 00 00
|...L..%.S.......|
00030440 ae b0 f2 4a 00 4e ed 00 00 00 00 00 01 00 00 00
|...J.N..........|
00030450 00 00 00 00 0b 00 00 00 00 01 00 00 3c 00 00 00
|............<...|
00030460 02 00 00 00 03 00 00 00 6f c8 71 b2 99 4e 4c 1f
|........o.q..NL.|
00030470 85 25 3e e9 9a 2c 55 45 00 00 00 00 00 00 00 00
|.%>..,UE........|
00030480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|
knowing the sizes I dd data (this is from memory) - I think the partition
startes 30000 hence 3*16^4 / 1024 = 192
dd if=/dev/sda7 of=filename bs=1024 count=16M seek=192
tried to mount but without success.
(1) - hd /dev/sda7 | less found what i think is the superblock :
I found that during the tut I run the hence getting a backup of some of the
data (from backup/fileserver)
# Generated by LVM2 version 2.02.66(2) (2010-05-20): Sun Oct 10 01:09:27
2010
contents = "Text Format Volume Group"
version = 1
description = "Created *after* executing 'vgcfgbackup'"
creation_host = "midgard" # Linux midgard 2.6.32-5-amd64 #1 SMP Thu
Aug 12 13:01:50 UTC 2010 x86_64
creation_time = 1286665767 # Sun Oct 10 01:09:27 2010
fileserver {
id = "YKE4Rs-gcaS-oWuy-8dVG-0Loq-MrsL-8m7K8v"
seqno = 11
status = ["RESIZEABLE", "READ", "WRITE"]
flags = []
extent_size = 8192 # 4 Megabytes
max_lv = 0
max_pv = 0
physical_volumes {
pv0 {
id = "GBsXFQ-RdXS-iMhp-Phle-iqfM-5571-aJgQAa"
device = "/dev/sda7" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 62798022 # 29.9444 Gigabytes
pe_start = 384
pe_count = 7665 # 29.9414 Gigabytes
}
pv1 {
id = "fVkJmY-pdwD-bub8-URE8-lNc2-eyhr-IIxIez"
device = "unknown device" # Hint only
status = ["ALLOCATABLE"]
flags = ["MISSING"]
dev_size = 79409232 # 37.8653 Gigabytes
pe_start = 384
pe_count = 9693 # 37.8633 Gigabytes
}
}
logical_volumes {
video {
id = "wuLloD-3u0J-YHeu-Glxk-fsbC-tOyp-RbGBws"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
segment_count = 2
segment1 {
start_extent = 0
extent_count = 7665 # 29.9414 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 0
]
}
segment2 {
start_extent = 7665
extent_count = 2063 # 8.05859 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv1", 0
]
}
}
audio {
id = "a1U4E0-7c1G-TqLc-p7H0-ZcQc-QMZI-1znD0K"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
segment_count = 2
segment1 {
start_extent = 0
extent_count = 2560 # 10 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv1", 5135
]
}
segment2 {
start_extent = 2560
extent_count = 768 # 3 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv1", 4161
]
}
}
opt {
id = "npePvz-nfHw-ILxe-K1oX-bmxa-HTfn-wfkRi2"
status = ["READ", "WRITE", "VISIBLE"]
flags = []
segment_count = 2
segment1 {
start_extent = 0
extent_count = 1998 # 7.80469 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv1", 7695
]
}
segment2 {
start_extent = 1998
extent_count = 2098 # 8.19531 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv1", 2063
]
}
}
}
}
tried doing : .
vgcfgrestore -f fileserver fileserver
Couldn't find device with uuid fVkJmY-pdwD-bub8-URE8-lNc2-eyhr-IIxIez.
Cannot restore Volume Group fileserver with 1 PVs marked as missing.
Restore failed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20101011/7d160a7c/attachment.html>
More information about the Linux-il
mailing list