ReliableRaid

Revision 2 as of 2009-11-25 20:42:22

Clear message

RAIDs (Redundant arrays of independent disks) allow systems to keep runing even if some parts fail. With hardware raids you just plug more then one disk side by side. A buzzer or email watchdog will notify you if a disk fails and you have to plug a new (spare) one to up the redundancy again.


Unfortunately ubuntu's md (software) raid setup seems to suffer from a little incompleteness.

The mdadm assembling has been moved to the hotplug system (udev rules).

However:

  • The proper mdadm --incremental option does not work in initramfs (not creating device nodes) 251663

  • The proper command to start only selected hotplugable raids degraded (i.e. rootfs after timeout from initramfs) is not available. 251646

  • The proper "mdadm --incremental --scan --run" command to start all remaining hotplugable raids degraded (after system has been up for a say 20 sec timeout) does not start anything. 244808

  • Using the legacy method to start an array degraded breaks later --incremental (re)additions.
  • mdadm still reads a static /etc/mdadm/mdadm.conf containing UUIDs (does not just go assembling matching superblocks) and refuses to assemble other arrays hotpluged into the system. (breaks any actual md hotpluging) 252345

  • The initramfs boot process is not (a state machine) capable of assembling the root setup from devices appearing in any order and degrading necessary raids after some time.
    • 251164 boot impossible due to missing initramfs failure hook integration

    • 136252 mdadm, initramfs missing ARRAY lines

    • 247153 encrypted root initialisation races/fails on hotplug devices (does not wait)

    • 488317 installed system fails to boot with degraded raid holding cryptdisk

  • For degraded regular (non-rootfs) arrays there isn't any init script to start/run them at all. 259145 non-root raids fail to run degraded on boot

When fixing ReliableRaid issues be aware of 244810 inconsistency with the --no-degraded option.