[Bug 1540401] Re: ISST-LTE: Ubuntu14.04.4 lpar fails to boot after installation: "The disk drive for /boot is not ready yet or not present"
Mauricio Faria de Oliveira
mauricfo at linux.vnet.ibm.com
Thu Feb 11 23:33:29 UTC 2016
Hi @mathieu-tl,
Here is the patch for Xenial.
Differences from the patch for Trusty:
1) install udev rule with priority 56, so it's run after 55-scsi-sg3_id; this way the paths actually have scsi id udev attributes defined by the time 'multipath -c' runs, and now it works fine (fixes the issue you mentioned on IRC).
2) remove the old multipath discovery udev rule (just like you applied for trusty, on multipath-tools 0.4.9-3ubuntu7.5)
3) debian/initramfs/init-top already exists, so just insert the snippet to load the module (rather than create the file).
Test-case:
1) Boot a qemu-kvm guest [1] w/ xenial (LVM on top of multipath) w/ the break=pre-multipath boot option
2) exit all 3 initramfs prompts
3) this should make LVM scan run before multipath discovery; the latter fails to create the devmap, thus mpartX-part2 (for /boot) is not present, and the boot is interrupted.
...
(initramfs) exit
...
(initramfs) exit
...
(initramfs) exit
...
[ 82.361944] device-mapper: table: 252:3: multipath: error getting device
[ 82.362292] device-mapper: table: 252:2: multipath: error getting device
[ 82.399493] device-mapper: table: 252:3: multipath: error getting device
[ OK ] Found device /dev/mapper/mauricfo4--vg-swap_1.
Activating swap /dev/mapper/mauricfo4--vg-swap_1...
[ OK ] Activated swap /dev/mapper/mauricfo4--vg-swap_1.
[ OK ] Reached target Swap.
[ TIME ] Timed out waiting for device dev-mapper-mpatha\x2dpart2.device.
[DEPEND] Dependency failed for /boot.
[DEPEND] Dependency failed for Local File Systems.
[DEPEND] Dependency failed for Clean up any mess left by 0dns-up.
[DEPEND] Dependency failed for File System Check on /dev/mapper/mpatha-part2.
...
Welcome to emergency mode! After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, "systemctl default" or ^D to
try again to boot into default mode.
Press Enter for maintenance
(or press Control-D to continue):
root at mauricfo4:~# lvm pvdisplay | grep Name
Found duplicate PV hWoIFGkvc0iVrbZnzhhqxud6QTeotfmQ: using /dev/sda3 not /dev/sdb3
Using duplicate PV /dev/sda3 without holders, ignoring /dev/sdb3
Found duplicate PV hWoIFGkvc0iVrbZnzhhqxud6QTeotfmQ: using /dev/sda3 not /dev/sdb3
Using duplicate PV /dev/sda3 without holders, ignoring /dev/sdb3
PV Name /dev/sda3
VG Name mauricfo4-vg
With the patch applied, the partition nodes are removed, LVM only scans
the multipath devices, and the boot finishes successfully:
...
(initramfs) exit
...
(initramfs) ls -l /dev/sd*
brw------- 1 8, 16 /dev/sdb
brw------- 1 8, 0 /dev/sda
initramfs) dmsetup table
No devices found
(initramfs) exit
...
(initramfs) dmsetup table | sort
mauricfo4--vg-root: 0 63750144 linear 252:3 2048
mauricfo4--vg-swap_1: 0 2834432 linear 252:3 63752192
mpatha-part1: 0 14336 linear 252:0 2048
mpatha-part2: 0 499712 linear 252:0 16384
mpatha-part3: 0 66590720 linear 252:0 516096
mpatha: 0 67108864 multipath 0 0 2 1 round-robin 0 1 1 8:0 1 round-robin 0 1 1 8:16 1
(initramfs) lvm pvdisplay | grep Name
...
PV Name /dev/mapper/mpatha-part3
VG Name mauricfo4-vg
(initramfs) exit
...
# lsb_release -c
Codename: xenial
# mount | grep ' / '
/dev/mapper/mauricfo4--vg-root on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
# lvm pvdisplay | grep Name
PV Name /dev/mapper/mpatha-part3
VG Name mauricfo4-vg
# dmsetup ls --tree -o blkdevname
mauricfo4--vg-swap_1 <dm-5> (252:5)
└─mpatha-part3 <dm-3> (252:3)
└─mpatha <dm-0> (252:0)
├─ <sdb> (8:16)
└─ <sda> (8:0)
mpatha-part2 <dm-2> (252:2)
└─mpatha <dm-0> (252:0)
├─ <sdb> (8:16)
└─ <sda> (8:0)
mpatha-part1 <dm-1> (252:1)
└─mpatha <dm-0> (252:0)
├─ <sdb> (8:16)
└─ <sda> (8:0)
mauricfo4--vg-root <dm-4> (252:4)
└─mpatha-part3 <dm-3> (252:3)
└─mpatha <dm-0> (252:0)
├─ <sdb> (8:16)
└─ <sda> (8:0)
[1] qemu command line: commandline: qemu-system-ppc64 -enable-kvm
-nographic -nodefaults -monitor stdio -serial pty -M pseries -smp
1,cores=1,threads=1 -m 8G -drive file=disk.qcow2,serial=xenialroot
-drive file=disk.qcow2,serial=xenialroot -S
** Patch added: "Patch for Xenial"
https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1540401/+attachment/4569667/+files/multipath-tools_dm-mpath-lvm_xenial.debdiff
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to multipath-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1540401
Title:
ISST-LTE: Ubuntu14.04.4 lpar fails to boot after installation: "The
disk drive for /boot is not ready yet or not present"
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1540401/+subscriptions
More information about the Ubuntu-server-bugs
mailing list