I just set up a RAID on a machine with the following setup.

Linux 2.2.14 + raid-2.2.14-B1 patch, raidtools-19990824-0.90

sda1: boot partition (256mb)
sda2: raid-disk 0 (8.5gb)

sdb1: swap (256mb)
sdb2: raid-disk 1(8.5gb)

Setup was fine and it worked great, until I actually tested drive loss. 
I pulled sdb2, and it detected the loss and said it was continuing in
degraded mode as I expected.  Then I hard rebooted the machine.  After
that, it refused to use the second drive in the mirror.

The md recovery thread does not seem to see that it is there, after it
refuses to use it.  I've tried dd'ing sda2 to sdb2, zero'ing sdb2,
changing the partition type to ext2 and then back, and still get the same
error.  Manually stopping and restarting using raidstop/raidstart seems to
do the same thing, except it doesn't even see sdb2 at all.  /etc/raidtab
and raid1.conf are both set up properly according to the documentation.

A side complaint... I think it's nice to have the kernel do the checking
itself, but I think there should still be an external check program that
will let you --force a check.  Software does not always get things right.
I suspect that would fix my current problem.

Any other suggestions, or should I just recreate the array and reinstall
on it?

This is what I get at boot time:

---
autodetecting RAID arrays
(read) sda2's sb offset: 8699072 [events: 00000026]
(read) sdb2's sb offset: 8699072 [events: 0000001e]
autorun ...
considering sdb2 ...
  adding sdb2 ...
  adding sda2 ...
created md0
bind<sda2,1>
bind<sdb2,1>
running: <sdb2><sda2>
now!
sdb2's event counter: 0000001e
sda2's event counter: 00000026
md: superblock update time inconsistency -- using the most recent one
freshest: sda2
md: kicking non-fresh sdb2 from array!
unbind<sdb2,1>
export_rdev(sdb2)
md0: max total readahead window set to 128k
md0: 1 data-disks, max readahead per data-disk: 128k
raid1: device sda2 operational as mirror 0
raid1: md0, not all disks are operational -- trying to recoer array
raid1: raid set md0 active with 1 our of 2 mirrors
md: updating md0 RAID superblock on device
sda2 [events: 00000027](write) sda2's sb offset: 8699072
md: recovery thread got woken up ...
md0: no spare disk to reconstruct array! -- continuing in degraded mode
md: recovery thread finished ...
.
... autorun DONE
---

...and after boot....

bash# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 sda2[0] 8699072 blocks [2/1] [U_]
unused device: <none>


Ed Byrne                        [EMAIL PROTECTED]
datApex Network Systems, Inc.   http://www.datapex.com/

Reply via email to