ATA RAID rebuild not rebuilding
dwhite at gumbysoft.com
Mon Jun 14 05:46:23 GMT 2004
On Sun, 13 Jun 2004, Paul Mather wrote:
> I have a recent 5.2-CURRENT system (last built 9th June, 2004) on which
> I thought I'd try a RAID 1 mirror using ATA RAID on the built-in Intel
> '82371AB/EB/MB PIIX4/4E/4M IDE Controller.'
Note there is no hardware RAID support in this controller, so if the wrong
disk fails you may not be able to boot. Its just a generic chipset IDE
> In summary, I can build and use an ar0 mirror, but whenever I try to
> simulate a failure and reconstruction (via atacontrol detach followed by
> an atacontrol attach, as described in section 12.4.3 of the FreeBSD
> Handbook) the subsequent "atacontrol rebuild ar0" does nothing (it
> returns to the prompt immediately) and the ar0 array is still flagged as
> DEGRADED (and the detached/attached drive as DOWN). It appears
> impossible to revive the array.
It should crank up a rebuild thread that will start reconstructing the
failed drive in the background. You can see its status with 'ps ax'. Its
been a while since I've done this and I've only done it with Promise
controllers, which do support RAID features on boot. I think you may have
to add the broken disk back as a spare (using 'atacontrol addspare') then
initiate the rebuild.
> Also, what is the canonical way to construct an array on a built-in
> controller? I have two identical ATA drives: ad1 on ATA channel 0, and
> ad2 on ATA channel 1. Assuming these are both unpartitioned/empty, do I
> first have to fdisk the individual drives or is it enough to "atacontrol
> create RAID1 ad1 ad2" and then "fdisk -BI ar0" and bsdlabel ar0s1?
You need to create the RAID container first, so atacontrol, then partition
the newly minted ar0.
> Where is the ATA RAID metadata stored? How is consistency maintained?
> Is there some way of forcing a reconstruction onto a particular drive?
The metadata is stored on the disks themselves.
> In a verbose boot, the array configuration is output. For some reason,
> it is flagged as PROMISE. Shouldn't this be FREEBSD? Might that be
> confusing the rebuild process, or is rebuilding done identically both on
> FreeBSD ATA RAID and Promise ATA RAID controllers?
FreeBSD the Promise metadata format in the absence of anything telling it
otherwise. It just happens that you don't have a Promise controller that
can understand the metadata. :)
Incidentally, don't create stripes (RAID0) using this config and expect to
boot off of them, 'cause you won't be able to. You need hardware support
to do that.
Doug White | FreeBSD: The Power to Serve
dwhite at gumbysoft.com | www.FreeBSD.org
More information about the freebsd-current