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

DegradedArray event on /dev/md[0-9]+ (was: degraded array - former device is unavailable)



On Wed, 29 Jun 2005, Philip Ross wrote:

> Philip Ross wrote:
> > I'm getting exactly the same problem after upgrading a test system from
> > Woody to Sarge. Every time I reboot the md raid1 root device is failing to
> > come up with both mirrors (see dmesg output below). When I add the missing
> > mirror manually using mdadm everything works fine up until the next reboot.
>
> I've fixed the issue now. The problem was that I had removed (with mdadm
> --fail) one of the mirrors prior to doing the upgrade.
>
> When mkinitrd ran as part of installing the new kernel, it didn't detect both
> raid devices and only set up an initial ram disk capable of detecting one of
> the mirrors.
>
> To fix, I added the missing mirror (with mdadm --add), waited for the raid
> device to sync up and then re-ran mkinitrd and lilo.

Been hit by this too :(
The reason for the new 'Subject' is my hope to make it easier locatable,
as it is reported like this:

,----
| From: mdadm monitoring <root@$(hostname)>
| To: root@$(hostname)
| Subject: DegradedArray event on /dev/md0:hostname
|
| This is an automatically generated mail message from mdadm
| running on hadrian
|
| A DegradedArray event had been detected on md device /dev/md0.
|
| Faithfully yours, etc.
`----

Rebuilding the initrd.img seems to be the write thing to do.
Just for the record. The cause of the problem is hidden in a script
(in the initrd root directory) called ... 'script' :)

If the initrd.img is created while a degraded array exists, the 'script'
may look something similar to this:

,----
| ROOT=/dev/md0
| unload_unused_ide 'yes' pdc202xx_new adma100 aec62xx alim15x3 amd74xx \
| atiixp cmd640 cmd64x cs5530 cy82c693 generic hpt34x hpt366 ns87415 \
| opti621 pdc202xx_old piix rz1000 sc1200 serverworks siimage sis5513 \
| slc90e66 triflex trm290 via82cxxx
| mdadm -A /dev/md0 -R -u 1c00514f:554404fb:14e5ac81:ce0394b0 /dev/hde1
`----

If the initrd.img is created tha same array synchronized exists, the 'script'
may look something similar to this:

,----
| ROOT=/dev/md0
| unload_unused_ide 'yes' pdc202xx_new adma100 aec62xx alim15x3 amd74xx \
| atiixp cmd640 cmd64x cs5530 cy82c693 generic hpt34x hpt366 ns87415 \
| opti621 pdc202xx_old piix rz1000 sc1200 serverworks siimage sis5513 \
| slc90e66 triflex trm290 via82cxxx
| mdadm -A /dev/md0 -R -u 1c00514f:554404fb:14e5ac81:ce0394b0 \
| /dev/hde1 /dev/hdf1
`----


Cheers,
Cristian



Reply to: