Boot issues running multipath with a large number of paths
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
multipath-tools (Ubuntu) |
Incomplete
|
Medium
|
Unassigned | ||
Trusty |
Opinion
|
Undecided
|
Unassigned |
Bug Description
Applicable to: Ubuntu Server 15.04, 14.10, and 14.04(.x) LTS
On systems running multipath with a very large number of paths,
Ubuntu Server might experience long delays and issues during boot
(for example, failure to mount the root filesystem or other filesystems).
The problem symptoms include:
- Boot messages about udev worker timeout events and killed processes.
- Hitting the initramfs shell (usually applicable to the root filesystem).
- Hitting the emergency mode shell (usually applicable to other filesystems).
The problem cause is:
- Path discovery time for a large number of individual paths exceeds the
time limits defined by udev and/or systemd targets (if applicable).
The solution is expected to be available in Ubuntu Server 15.10 and later.
For Ubuntu Server 15.04 and earlier, there is currently no automatic solution
available on package updates. In order to resolve the problem manually, it is
required to include the following parameters in the boot/kernel command line:
udev.
udev.
The parameter values vary according to the system, path discovery rate, and
other factors. It is suggested to repeatedly increase the parameter values
to determine the minimum values required to eliminate the problem symptoms.
For example, on a system with 816 paths:
udev.
udev.
The procedure can be accomplished in 2 phases:
1) Discover the appropriate values to boot the system:
On the bootloader screen (GNU GRUB version <version>).
a) Select the appropriate Ubuntu entry with the arrow keys.
b) Press 'e' (edit).
c) Scroll down until the following line with the arrow keys:
" linux /boot/vmlinux-... root=UUID=... ro ..."
d) Scroll to the end of the line with the arrow keys, and append
the parameters with the respective values (without quotes):
" udev.children-
e) Press Ctrl-x or F10 to boot the entry.
f) Repeat this process until the system boots correctly,
increasing the parameter values.
2) Permanently store the parameters/values in the bootloader configuration
Once the system boots correctly:
a) Log in.
b) Edit the /etc/default/grub file; for example:
$ sudo nano /etc/default/grub
or
$ sudo vi /etc/default/grub
c) Insert the parameters in the GRUB_CMDLINE_LINUX line; for example
GRUB_
d) Save the file, and exit.
e) Update the bootloader configuration:
$ sudo update-grub
f) You can (optionally) reboot in order to test the new settings:
$ sudo reboot
Changed in multipath-tools (Ubuntu): | |
status: | New → Confirmed |
Changed in multipath-tools (Ubuntu): | |
importance: | Undecided → Medium |
@mauricfo: is this fix upstream? Where, if so?