Anyone? I'm so close I can taste it. It looks like the superblocks on the other disks think that sdf1 is still defined as a spare, but it's a ddrescue of what used to be /dev/sdc. Is there a way to update the superblocks? On May 2, 2013, at 7:29 AM, Gimpbully <gimpbully@xxxxxxxxx> wrote: > Sorry, I realize I had md127 started. So I stopped it and did the assemble and got the following (the problem is sdf isn't supposed to be a spare at all, it's supposed to be a ddrescue'd sdc: > > eduardo ~ # mdadm --stop /dev/md127 > mdadm: stopped /dev/md127 > eduardo ~ # mdadm --assemble --force /dev/md127 /dev/sd{f,g,e,a}1 > mdadm: /dev/md127 assembled from 3 drives and 1 spare - not enough to start the array. > eduardo ~ # > > > eduardo ~ # mdadm --examine /dev/sd{f,g,e,a}1 | egrep 'Event|/dev/sd' > /dev/sdf1: > Events : 25979 > this 5 8 81 5 spare /dev/sdf1 > 0 0 8 33 0 active sync /dev/sdc1 > 2 2 8 65 2 active sync /dev/sde1 > 4 4 8 1 4 active sync /dev/sda1 > 5 5 8 81 5 spare /dev/sdf1 > /dev/sdg1: > Events : 25979 > this 1 8 17 1 active sync /dev/sdb1 > 0 0 8 33 0 active sync /dev/sdc1 > 1 1 8 17 1 active sync /dev/sdb1 > 2 2 8 65 2 active sync /dev/sde1 > 4 4 8 1 4 active sync /dev/sda1 > 5 5 8 81 5 spare /dev/sdf1 > /dev/sde1: > Events : 25979 > this 2 8 65 2 active sync /dev/sde1 > 0 0 8 33 0 active sync /dev/sdc1 > 2 2 8 65 2 active sync /dev/sde1 > 4 4 8 1 4 active sync /dev/sda1 > 5 5 8 81 5 spare /dev/sdf1 > /dev/sda1: > Events : 25979 > this 4 8 1 4 active sync /dev/sda1 > 0 0 8 33 0 active sync /dev/sdc1 > 2 2 8 65 2 active sync /dev/sde1 > 4 4 8 1 4 active sync /dev/sda1 > 5 5 8 81 5 spare /dev/sdf1 > > > > > > On May 2, 2013, at 7:18 AM, Gimpbully <gimpbully@xxxxxxxxx> wrote: > >> This is very odd. When trying to force an assemble, it's syaing no superblock on /dev/sdf1, but the --examine output appears to say otherwise… Does anyone have any idea how to do this without doing a re-creation? >> >> >> eduardo ~ # mdadm --examine /dev/sd{f,g,e,a}1 | egrep 'Event|/dev/sd' >> /dev/sdf1: >> Events : 25979 >> this 5 8 81 5 spare /dev/sdf1 >> 0 0 8 33 0 active sync /dev/sdc1 >> 2 2 8 65 2 active sync /dev/sde1 >> 4 4 8 1 4 active sync /dev/sda1 >> 5 5 8 81 5 spare /dev/sdf1 >> /dev/sdg1: >> Events : 25971 >> this 1 8 17 1 active sync /dev/sdb1 >> 0 0 8 33 0 active sync /dev/sdc1 >> 1 1 8 17 1 active sync /dev/sdb1 >> 2 2 8 65 2 active sync /dev/sde1 >> 4 4 8 1 4 active sync /dev/sda1 >> 5 5 8 81 5 spare /dev/sdf1 >> /dev/sde1: >> Events : 25979 >> this 2 8 65 2 active sync /dev/sde1 >> 0 0 8 33 0 active sync /dev/sdc1 >> 2 2 8 65 2 active sync /dev/sde1 >> 4 4 8 1 4 active sync /dev/sda1 >> 5 5 8 81 5 spare /dev/sdf1 >> /dev/sda1: >> Events : 25979 >> this 4 8 1 4 active sync /dev/sda1 >> 0 0 8 33 0 active sync /dev/sdc1 >> 2 2 8 65 2 active sync /dev/sde1 >> 4 4 8 1 4 active sync /dev/sda1 >> 5 5 8 81 5 spare /dev/sdf1 >> eduardo ~ # >> >> >> >> On May 1, 2013, at 11:59 AM, Gimpbully <gimpbully@xxxxxxxxx> wrote: >> >>> Alright, so I've ddrescued 2 disks now: >>> sda - clean >>> sdb - SMART errors, kicked out of array >>> sdc - SMART errors, kicked out of array >>> sde - ddrescued copy of sdb >>> sdf - original failed disk, replaced. is now a ddrescued copy of sdc >>> >>> So I run >>> >>> eduardo ~ # mdadm --assemble --force /dev/md127 /dev/sd{f,g,e,a}1 >>> mdadm: cannot open device /dev/sdf1: Device or resource busy >>> mdadm: /dev/sdf1 has no superblock - assembly aborted >>> eduardo ~ # >>> >>> Any ideas? >>> >>> On Apr 30, 2013, at 7:48 AM, Gimpbully <gimpbully@xxxxxxxxx> wrote: >>> >>>> I have no intentions of recreating at all. I fully understand the implications (I've had stripe orders go bad on truly massive scales before, I don't ever wanna experience that again), I just don't know mdadm as well as other vendor storage. >>>> >>>> I was able to ddrescue a copy of sdb with no errors. I assembled the array and got a file system metadata dump (this is HUGE) and it's currently rebuilding before I even look at data. Thank you all for your help, patience was absolutely key here. >>>> >>>> >>>> On Apr 30, 2013, at 7:45 AM, Phil Turmel <philip@xxxxxxxxxx> wrote: >>>> >>>>> On 04/30/2013 02:20 AM, Sam Bingner wrote: >>>>>> On Apr 29, 2013, at 4:33 PM, "Gimpbully" <gimpbully@xxxxxxxxx> >>>>>> wrote: >>>>>>> On Apr 13, 2013, at 7:20 AM, Sam Bingner <sam@xxxxxxxxxxx> wrote: >>>>>>> >>>>>>>> After that you can try to recreate the array with the proper >>>>>>>> order (sdc1, sdb1, sde1, missing, sda1) and copy data off or add >>>>>>>> the spare in again depending on if you were able to recover all >>>>>>>> the data wih GNU ddrescue. >>>>>>> >>>>>>> >>>>>>> What do you mean recreate? what's the specific command? something >>>>>>> like: >>>>>>> mdadm --create --assume-clean --level=5 --raid-devices=5 /dev/md127 >>>>>>> /dev/sdc1 /dev/sdb1 /sdv/sde1 missing /dev/sda1 >>>>>> >>>>>> Don't recreate it - I said the wrong thing... You want to do an >>>>>> assemble on them with force if possible... Recreate is last ditch and >>>>>> make sure you have another copy if you do the previous command in >>>>>> case it doesn't work right due to offsets etc... >>>>>> >>>>>> try: >>>>>> mdadm --stop /dev/md127 >>>>>> mdadm --assemble --force /dev/md127 /dev/sd{c,b,e,a}1 >>>>> >>>>> Yes. >>>>> >>>>>> If you DO need to recreate it, what you showed looks correct. >>>>> >>>>> NO! >>>>> >>>>> The OP has *not* shared sufficient information on the array members to >>>>> say that. Since it has "worked for years", the odds of an offset error >>>>> is *very* high. Chunk size defaults are also likely to be different. >>>>> >>>>> *Complete* output of "mdadm -E" for the array members is needed before >>>>> any "--create" operation is attempted. Plus the distro info, kernel >>>>> version, and mdadm version . >>>>> >>>>> Phil >>>> >>> >> > -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html