multipath-tools-boot relies on scsi_wait_scan module, fails multipath setup
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
multipath-tools (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Mathieu Trudel-Lapierre |
Bug Description
[Impact]
Users of multipath may see an error message on every boot (when in verbose mode) about the scsi_wait_scan module being unavailable.
[Test case]
Boot 14.04 system with multipath-
[Regression Potential]
None. This module has been removed for a long while; as such this has no effect aside from removing an extra error message on boot.
------
Release: Ubuntu 14.04.3 LTS
Kernel: linux-image-
A clean system installed fresh today (2016-01-27)
In attempting to configure a system to boot-from-SAN and enable multipath support I ran into an issue whereby despite the multiple paths being detected (when running the multipath command from the CLI) the configuration wasn't being enabled at boot. After examining /usr/share/
verbose && log_begin_msg "Waiting for scsi storage"
{ rmmod scsi_wait_scan ; modprobe scsi_wait_scan ; rmmod scsi_wait_scan ; } >/dev/null 2>&1
verbose && log_end_msg
The problem appears to be that the scsi_wait_scan module doesn't exist and so there is no wait before the multipath scan is performed. I managed to observe this briefly during bootup (with the script edited) and could see it performed the scan before sda/sdb was discovered.
I also found a debian bug report indicating the module was removed a while back (https:/
After adding in an artificial delay for testing the multipath command does what is expected and configures the paths accordingly. I'm not sure what the correct approach is if the scsi_wait_scan module is removed.
I also found that the same local-top script doesnt have the dm-round-robin module loaded (but it is included in the initrd by the associated hook script), however I'm not sure if that is by design. I know I need it for my specific use-case, but don't know if it is deliberately excluded to prevent breakage on SAN units that don't support native round-robin.
affects: | saucy-backports → multipath-tools (Ubuntu) |
Changed in multipath-tools (Ubuntu): | |
status: | New → Fix Released |
Changed in multipath-tools (Ubuntu Trusty): | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Mathieu Trudel-Lapierre (mathieu-tl) |
description: | updated |
Just to be clear, it isn't the error message that is a problem when attempting to boot, its that the system will not boot with multipath support because the multipath discovery in the initrd is performed before the SCSI devices are available. Removing the current code referring to the removed module won't actually fix the issue as the discovery will still take place before the qla2xxx driver has had a chance to discover the LUN's, thus the root fs will be mounted on /dev/sda instead of /dev/mapper/mpath0, and cannot be changed later (as the LUN is currently active).
This is why I had to add in a sleep statement so that the multipath scan takes place after the devices have been discovered. Not a clean solution at all, but I am unsure as to what replaced the scsi_wait_scan given the async changes.