rootdelay=60 has no effect; booting unreliable due to race condition
I'm using an mdadm-style software RAID 5 for my root filesystem partition (/).
On this particular system, the disks evidently aren't as fast as they are on my other systems with the same configuration.
Sometimes they're ready in time for booting to proceed. Sometimes they aren't. When they're not ready in time, I find myself at an (initramfs) prompt, with the message: /sbin/init not present (or something like that).
In hope of getting more reliable boot-up operation, I added "rootdelay=60" to /etc/default/grub. The actual line looks like this:
GRUB_CMDLINE_
Then I ran grub-mkconfig -o /boot/grub/grub.cfg in the usual way, and grub-install as well. Both seemed to work OK.
But there's no discernable impact on booting. As before, sometimes it boots, and sometimes it doesn't. Booting always proceeds very fast, and there's certainly no 1-minute wait during the boot process. (Booting is so fast now on 10.04 that this distro gives me a fresh understanding of the term "race condition"! (;^)
When booting fails, at the (initramfs) prompt I can run mdadm which says the RAID (/dev/md1) is fine. I can run blkid /dev/md1 and it says the root filesystem is available. It seems clear that it just wasn't ready on time.
I just have to keep trying until, by chance, the disks were ready in time for the boot process to proceed. My question is: is there a better way? I hate to have to buy faster disks just because Ubuntu now boots so fast! And why doesn't the rootdelay= commandline argument have any effect?
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Ubuntu grub2 Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Steve Newcomb
- Solved:
- Last query:
- Last reply: