Re: array went wonky

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux