[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