Subject: Re: raidframe recovery
To: Patrick Welche <prlw1@newn.cam.ac.uk>
From: Greg Oster <oster@cs.usask.ca>
List: netbsd-users
Date: 10/04/2004 12:04:24
Patrick Welche writes:
> On Mon, Oct 04, 2004 at 11:19:11AM -0600, Greg Oster wrote:
> > If you boot without wd1 plugged in, then what shows up as the new wd1?
> 
> Nothing - I have them hard coded in the kernel..

Ahhhhhhh... ok.

> > I.e. are the drive names not moving around if you unplug wd1??
> 
> That's right.
> 
> > And no autoconfig in use here, right?
> 
> I have RAID_AUTOCONFIG in the kernel config - should I get rid of it?

No :)  You really want that :)

> > > Hosed component: /dev/wd2a
> > > Hosed component: /dev/wd1a
> > > raid0: Component /dev/wd1a being configured at col: 0
> > >          Column: 0 Num Columns: 0
> > >          Version: 0 Serial Number: 0 Mod Counter: 0
> > >          Clean: No Status: 0
> > > /dev/wd1a has a different modfication count: 268 0
> > > Number of columns do not match for: /dev/wd1a
> > > /dev/wd1a is not clean!
> > 
> > The above doesn't look like a RAID component.
> 
> Indeed - it was either the dead disk, or unplugged..
> 
> > > raid0: Component /dev/wd2a being configured at col: 1
> > >          Column: 1 Num Columns: 2
> > >          Version: 2 Serial Number: 35710 Mod Counter: 268
> > >          Clean: No Status: 0
> > > /dev/wd2a has a different serial number: 0 35710
> > > /dev/wd2a is not clean!
> > > raid0: There were fatal errors
> > > RAIDFRAME: failed rf_ConfigureDisks with 22
> > > # raidctl -c /etc/raid0.conf raid0
> > > raidctl: ioctl (RAIDFRAME_CONFIGURE) failed: Invalid argument
> > 
> > The old config code is ugly... autoconfig would have Just Worked 
> > here. :(
> 
> Does this mean that building a new kernel is also a way out of this
> predicament?

No.  Having done a 'raidctl -A yes raid0' would have made things get 
autodetected on reboot.

> > Assuming that wd2 stays where it is, the following config:
> > 
> > START array
> > 1 2 0
> > 
> > START disks
> > absent
> > /dev/wd2a
> > 
> > START layout
> > 128 1 1 1
> > 
> > START queue
> > fifo 100
> > 
> > should get you going again.
> 
> This gives me:
> 
> raidlookup on device: absent failed!
> RAIDFRAME: failed rf_ConfigureDisks with 2
> raidlookup on device: absent failed!
> RAIDFRAME: failed rf_ConfigureDisks with 2
> # raidctl -s raid0
> raidctl: ioctl (RAIDFRAME_GET_INFO) failed: Device not configured
> # raidctl -c /etc/raid0.conf raid0
> raidctl: ioctl (RAIDFRAME_CONFIGURE) failed: No such file or directory
> 
> > I don't recall if '-c' works with this, 
> > or whether you'll have to use '-C' to force it to configure.  In 
> > either case, you'll want to make absolutely sure that the component 
> > wd2a above is in the 2nd component position, regardless of whether 
> > it's called 'wd2a' or something else.
> 
> I'll try -C now.. wd2 was hardcoded, so it shouldn't have moved, should it?

Correct.  Since the disks are hard-coded, -C should work.

Later...

Greg Oster