Comment 3 for bug 259127

Revision history for this message
ceg (ceg) wrote :

> the default being BOOT_DEGRADED=false, which is the conservative/traditional behavior.

Only some may consider this "conservative" behaviour a broken behavior, when a system on a "redundant array of independent disks" will degrade just fine when running, but won't even come up when booting.

The reason for all this restrictivity with starting arrays comes from those start up scripts that use(ed) "mdadm --assemble --scan" to start arrays. Those run whatever (partially) connected arrays they can get hold of (in degraded mode).

IMHO the right thing for start up scripts to do is to only start arrays that are needed to set up the root device and fstab, and degrade only them after a timeout.
(/usr/share/initramfs-tools/hooks/cryptroot contains code to determine devices that the root device depends on.)

Hotplugging can start any arrays afterwards, if it is completely attatched.

The homehost "feature" is one suboptimal attempt to restrict array assembly. Same with the restriction with DEVICE or ARRAY definitions in mdadm.conf. Such restrictions add extra configuration burdens and should not be necessary with start up scripts that just correctly honor the root device and fstab information.

In fact the homehost, and ARRAY restrictions prevent the hotplugging from beeing any better than manual configuration. Arrays still have to be configured in mdadm.conf (Bug #252345) .

---

The default can be BOOT_DEGRADED=true, if the boot scripts refrain from using the depreceated "mdadm --assemble --scan" and selectively "mdadm --run /dev/<device>".

more info on:
https://wiki.ubuntu.com/BootDegradedRaid