Linux RAID subsystem development
 help / color / mirror / Atom feed
From: "Majed B." <majedb@gmail.com>
To: Tim Bostrom <tbostrom@gmail.com>
Cc: linux-raid <linux-raid@vger.kernel.org>
Subject: Re: RAID 5 array recovery - two drives errors in external enclosure
Date: Fri, 18 Sep 2009 02:28:53 +0300	[thread overview]
Message-ID: <70ed7c3e0909171628w4040ae5cydf4335adb51f2b7d@mail.gmail.com> (raw)
In-Reply-To: <2267211f0909171611m4b4a0d02p81b80bc882a0855@mail.gmail.com>

Before creating the array, did you re-examine the disks with mdadm and
made sure of each disk's position in the array?

After your recabling, the disk names may have changed again.

mdadm --examine /dev/sdb1

      Number   Major   Minor   RaidDevice State
this     7       8       17        7      active sync   /dev/sdb1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       97        1      active sync   /dev/sdg1
   2     2       0        0        2      faulty removed
   3     3       0        0        3      faulty removed
   4     4       8       33        4      active sync   /dev/sdc1
   5     5       8       65        5      active sync   /dev/sde1
   6     6       8       49        6      active sync   /dev/sdd1
   7     7       8       17        7      active sync   /dev/sdb1

(That's the output of an array I'm working on)

Notice the first line: *this* and then the value of RaidDevice. That's
the position of the partition in the array. 0 is first, 1 is second,
and so on.

In my case, the order is: sdh1,sdg1,missing,missing,sdc1,sde1,sdd1,sdb1

On Fri, Sep 18, 2009 at 2:11 AM, Tim Bostrom <tbostrom@gmail.com> wrote:
> I re-cabled the drives so that they show up as the same drive letter
> as they were before when in the enclosure.
>
> I then went ahead and tried your idea of restarting the array. I tried
> this first:
>
> mdadm -C /dev/md0 -l 5 -n 5 -c 256 /dev/sd[bcde]1 missing
>
> mount -o ro /dev/md0 /mnt/teradata
>
> /var/log/messages:
> -----------------
> Sep 17 16:07:09 tera kernel: md: bind<sdb1>
> Sep 17 16:07:09 tera kernel: md: bind<sdc1>
> Sep 17 16:07:09 tera kernel: md: bind<sdd1>
> Sep 17 16:07:09 tera kernel: md: bind<sde1>
> Sep 17 16:07:09 tera kernel: raid5: device sde1 operational as raid disk 3
> Sep 17 16:07:09 tera kernel: raid5: device sdd1 operational as raid disk 2
> Sep 17 16:07:09 tera kernel: raid5: device sdc1 operational as raid disk 1
> Sep 17 16:07:09 tera kernel: raid5: device sdb1 operational as raid disk 0
> Sep 17 16:07:09 tera kernel: raid5: allocated 5268kB for md0
> Sep 17 16:07:09 tera kernel: raid5: raid level 5 set md0 active with 4
> out of 5 devices, algorithm 2
> Sep 17 16:07:09 tera kernel: RAID5 conf printout:
> Sep 17 16:07:09 tera kernel: --- rd:5 wd:4
> Sep 17 16:07:09 tera kernel: disk 0, o:1, dev:sdb1
> Sep 17 16:07:09 tera kernel: disk 1, o:1, dev:sdc1
> Sep 17 16:07:09 tera kernel: disk 2, o:1, dev:sdd1
> Sep 17 16:07:09 tera kernel: disk 3, o:1, dev:sde1
> Sep 17 16:07:56 tera kernel: EXT3-fs error (device md0):
> ext3_check_descriptors: Block bitmap for group 8064 not in group
> (block 532677632)!
> Sep 17 16:07:56 tera kernel: EXT3-fs: group descriptors corrupted!
> --------------------------------
>
>
> I then tried a few more permutations of the command:
> mdadm -C /dev/md0 -l 5 -n 5 -c 256 /dev/sd[bdce]1 missing
> mdadm -C /dev/md0 -l 5 -n 5 -c 256 /dev/sd[bdec]1 missing
> mdadm -C /dev/md0 -l 5 -n 5 -c 256 /dev/sd[becd]1 missing
>
> Every time I changed the order, it would still print the order the
> same in the log:
>
> Sep 17 16:02:52 tera kernel: md: bind<sdb1>
> Sep 17 16:02:52 tera kernel: md: bind<sdc1>
> Sep 17 16:02:52 tera kernel: md: bind<sdd1>
> Sep 17 16:02:52 tera kernel: md: bind<sde1>
> Sep 17 16:02:52 tera kernel: raid5: device sde1 operational as raid disk 3
> Sep 17 16:02:52 tera kernel: raid5: device sdd1 operational as raid disk 2
> Sep 17 16:02:52 tera kernel: raid5: device sdc1 operational as raid disk 1
> Sep 17 16:02:52 tera kernel: raid5: device sdb1 operational as raid disk 0
> Sep 17 16:02:52 tera kernel: raid5: allocated 5268kB for md0
> Sep 17 16:02:52 tera kernel: raid5: raid level 5 set md0 active with 4
> out of 5 devices, algorithm 2
> Sep 17 16:02:52 tera kernel: RAID5 conf printout:
> Sep 17 16:02:52 tera kernel: --- rd:5 wd:4
> Sep 17 16:02:52 tera kernel: disk 0, o:1, dev:sdb1
> Sep 17 16:02:52 tera kernel: disk 1, o:1, dev:sdc1
> Sep 17 16:02:52 tera kernel: disk 2, o:1, dev:sdd1
> Sep 17 16:02:52 tera kernel: disk 3, o:1, dev:sde1
>
>
>
> Am I doing something wrong?
>
>
>
>
> On Thu, Sep 17, 2009 at 2:22 PM, Robin Hill <robin@robinhill.me.uk> wrote:
>> On Thu Sep 17, 2009 at 01:42:30PM -0700, Tim Bostrom wrote:
>>
>>> OK,
>>>
>>> Let me start off by saying - I panicked.  Rule #1 - don't panic.  I
>>> did.  Sorry.
>>>
>>> I have a RAID 5 array running on Fedora 10.
>>> (Linux tera.teambostrom.com 2.6.27.30-170.2.82.fc10.i686 #1 SMP Mon
>>> Aug 17 08:38:59 EDT 2009 i686 athlon i386 GNU/Linux)
>>>
>>> 5 drives in an external enclosure (AMS eSATA Venus T5).  It's a
>>> Sil4726 inside the enclosure running to a Sil3132 controller via eSATA
>>> in the desktop.  I had been running this setup for just over a year.
>>> Was working fine.   I just moved into a new home and had my server
>>> down for a while  - before I brought it back online, I got a "great
>>> idea" to blow out the dust from the enclosure using compressed air.
>>> When I finally brought up the array again, I noticed that drives were
>>> missing.  Tried re-adding the drives to the array and had some issues
>>> - they seemed to get added but after a short time of rebuilding the
>>> array, I would get a bunch of HW resets in dmesg and then the array
>>> would kick out drives and stop.
>>>
>> <- much snippage ->
>>
>>> I popped the drives out of the enclosure and into the actual tower
>>> case and connected each of them to its own SATA port.  The HW resets
>>> seemed to go away, but I couldn't get the array to come back online.
>>>  Then I did the stupid panic (following someone's advice I shouldn't
>>> have).
>>>
>>> thinking I should just re-create the array, I did:
>>>
>>> mdadm --create /dev/md0 --level=5 --raid-devices=5 /dev/sd[b-f]1
>>>
>>> Stupid me again - ignores the warning that it belongs to an array
>>> already.  I let it build for a minute or so and then tried to mount it
>>> while rebuilding... and got error messages:
>>>
>>> EXT3-fs: unable to read superblock
>>> EXT3-fs: md0: couldn't mount because of unsupported optional features
>>> (3fd18e00).
>>>
>>> Now - I'm at a loss.  I'm afraid to do anything else.   I've been
>>> viewing the FAQ and I have a few ideas, but I'm just more freaked.  Is
>>> there any hope?  What should I do next without causing more trouble?
>>>
>> Looking at the mdadm output, there's a couple of possible errors.
>> Firstly, your newly created array has a different chunksize than your
>> original one.  Secondly, the drives may be in the wrong order.  In
>> either case, providing you don't _actually_ have any faulty drives, then
>> it should be (mostly) recoverable.
>>
>> Given the order you specified the drives in the create, sdf1 will be the
>> partition that's been trashed by the rebuild, so you'll want to leave
>> that out altogether for now.
>>
>> You need to try to recreate the array with the correct chunk size and
>> with the remaining drives in different orders, running a read-only
>> filesystem check each time until you find the correct order.
>>
>> So start with:
>>    mdadm -C /dev/md0 -l 5 -n 5 -c 256 /dev/sd[bcde]1 missing
>>
>> Then repeat for every possible order of the four disks and "missing",
>> stopping the array each time if the mount fails.
>>
>> When you've finally found the correct order, you can re-add sdf1 to get
>> the array back to normal.
>>
>> HTH,
>>    Robin
>> --
>>     ___
>>    ( ' }     |       Robin Hill        <robin@robinhill.me.uk> |
>>   / / )      | Little Jim says ....                            |
>>  // !!       |      "He fallen in de water !!"                 |
>>
>
>
>
> --
> -tim
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>



-- 
       Majed B.
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2009-09-17 23:28 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-17 20:42 RAID 5 array recovery - two drives errors in external enclosure Tim Bostrom
2009-09-17 21:22 ` Robin Hill
2009-09-17 21:35   ` Majed B.
2009-09-17 21:51     ` Tim Bostrom
2009-09-17 22:11       ` Majed B.
2009-09-17 22:23         ` Tim Bostrom
2009-09-18  7:58         ` Robin Hill
2009-09-17 23:11   ` Tim Bostrom
2009-09-17 23:28     ` Majed B. [this message]
2009-09-17 23:54       ` Tim Bostrom
2009-09-18  1:31         ` Guy Watkins
2009-09-18  3:50           ` Tim Bostrom
2009-09-18  4:19           ` Tim Bostrom
2009-09-18  8:07             ` Robin Hill
2009-09-18 15:27               ` Tim Bostrom
2009-09-18 15:41                 ` Robin Hill
     [not found]                 ` <6b696870909180910q67d8166ay7796321b8cd35809@mail.gmail.com>
     [not found]                   ` <2267211f0909180912p745e4ea0idb5659cb54a6adce@mail.gmail.com>
     [not found]                     ` <6b696870909180923m35f29fa2l857b6f6402eb20be@mail.gmail.com>
     [not found]                       ` <2267211f0909181041o29d6f5eft1e260696c6ab9c57@mail.gmail.com>
     [not found]                         ` <6b696870909181317x777e3c5dsdcf0e7709f9c4979@mail.gmail.com>
2009-09-18 23:30                           ` Tim Bostrom
2009-09-18 23:37                             ` Majed B.
2009-09-19  1:17                               ` Tom Carlson
2009-09-19  1:35                                 ` Guy Watkins
2009-09-21  4:40                                   ` Tim Bostrom
2009-09-21  4:59                                     ` Guy Watkins
2009-09-21  7:05                                     ` Majed B.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=70ed7c3e0909171628w4040ae5cydf4335adb51f2b7d@mail.gmail.com \
    --to=majedb@gmail.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=tbostrom@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox