[linux-lvm] Dead PV....recovering data

paddy paddy at panici.net
Mon Aug 14 23:58:49 UTC 2006


On Tue, Jul 11, 2006 at 12:58:42AM -0400, Patrick Picard wrote:
> Good morning everyone.
> 
> I was away on vacation and when i got back, I booted my server up. 
> Unfortunately, one of the HD's didn't come back.
> 
> The hard drive was a WD4000YR 400GB.
> 
> PV /dev/hdb  --> Hitachi 400GB
> PV /dev/sdd --> WD4000YR 400GB (the dead one)
> 
> Both PV's were part of my Video Volume group.
> 
> Now that my WD hard drive is dead(not seen by bios at all :() the 
> videovg wont load.
> Is it possible to recover the data on the remaining PV?
> 
> To my understanding, the data is stripped across the PV's in the volume 
> group.....

which sounds *BAD* but see below

> 
> Right now im loosing around 570GB of videos :(
> 
> Thanks for any help
> 
> Patrick
> 
> To help outline my configuration see below. PV1 is the missing drive:
> [root at fc4 backup]# cat /etc/lvm/backup/videovg
> # Generated by LVM2: Tue Jan 31 18:55:29 2006
> 
> contents = "Text Format Volume Group"
> version = 1
> 
> description = "Created *after* executing 'lvextend -l +95388 
> /dev/videovg/movieslv'"
> 
> creation_host = "fc4.patpic.com"        # Linux fc4.patpic.com 
> 2.6.14-1.1656_FC4smp #1 SMP Thu Jan 5 22:24:06 EST 2006 i686
> creation_time = 1138751729      # Tue Jan 31 18:55:29 2006
> 
> videovg {
>        id = "mqumMs-fVhb-mOhv-KgEj-ZJqW-pWhD-3RDbQR"
>        seqno = 4
>        status = ["RESIZEABLE", "READ", "WRITE"]
>        extent_size = 8192              # 4 Megabytes
>        max_lv = 0
>        max_pv = 0
> 
>        physical_volumes {
> 
>                pv0 {
>                        id = "bHJ1PS-yEg4-QlD0-D62k-nhyy-2TVe-b84gL0"
>                        device = "/dev/hdb"     # Hint only
> 
>                        status = ["ALLOCATABLE"]
>                        pe_start = 384
>                        pe_count = 95388        # 372.609 Gigabytes
>                }
> 
>                pv1 {
>                        id = "rH7yLu-aAoG-Gcc7-C2ZM-r2jP-lU1L-Cg8IsY"   
> // this is the bad drive
>                        device = "/dev/sdc"     # Hint only
> 
>                        status = ["ALLOCATABLE"]
>                        pe_start = 384
>                        pe_count = 95388        # 372.609 Gigabytes
>                }
>        }
> 
>        logical_volumes {
> 
>                movieslv {
>                        id = "ijlCES-kuxY-YHnA-FlDo-cm7a-yYlO-cXHmga"
>                        status = ["READ", "WRITE", "VISIBLE"]
>                        segment_count = 2
> 
>                        segment1 {
>                                start_extent = 0
>                                extent_count = 95388    # 372.609 Gigabytes
> 
>                                type = "striped"
>                                stripe_count = 1        # linear
> 
>                                stripes = [
>                                        "pv0", 0
>                                ]
>                        }
>                        segment2 {
>                                start_extent = 95388
>                                extent_count = 95388    # 372.609 Gigabytes
> 
>                                type = "striped"
>                                stripe_count = 1        # linear
> 
>                                stripes = [
>                                        "pv1", 0
>                                ]
>                        }
>                }
>        }
> }                                        

If I read this correctly, your volume is spanned, and given an assumption of 
reasonable contiguity of files you should be able to recover a good deal
from your remaining drive.

Off the top of my head, I don't recall the right way to do this, but
hopefully someone will chime in with the right answer, otherwise I'll
see if I can think of it tomorrow or so :-)

Regards,
Paddy
-- 
Perl 6 will give you the big knob. -- Larry Wall




More information about the linux-lvm mailing list