Description of problem:
When installing RHEL5 with it's root on a multipath device, it works just fine.
RHEL5 boots, and works perfectly. Even when a single path fails RHEL5 does a
nice and gentle failover, and continues to work perfectly. However, when RHEL5
is rebooted while a path is still down, the kernel fails to find it's rootfs,
and will not boot.
When the failed path is restored again, the kernel will again find it's rootfs
and boot properly.
During the initrd, the following commands are executed:
dm create mpath0 0 40955040 multipath 0 0 1 1 round-robin 0 2 1 8:0 1000 8:32 1000
dm create mpath1 0 102399840 multipath 0 0 1 1 round-robin 0 2 1 8:16 1000 8:48 1000
My theorie is that while making the mpath0 and mpath1 device the device-mapper
check whether both paths are valid and available. Because one path isn't the
creation of the device files fails. And thus the rootfs can't be mounted.
This is behavior is not ideal. Ideally as long as a single path is valid and
available the mpath0 and mpath1 device files should be created, displaying a
warning that not all paths are up. This will allow RHEL5 to boot even with
failed paths, as long as a single path is available!
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install RHEL5 on machine with multipath rootfs
3. Disable one path (RHEL5 will properly failover)
5. Kernel will not find rootfs, because a single path is not available.
(6. Re-enable paths)
(8. kernel will again find it's rootfs.)
The kernel will not boot because one of the fibrechannel path is not available
The kernel will boot and use the single remaining available path too boot.