Comment 38 for bug 1429327

Revision history for this message
Scott Moser (smoser) wrote : Re: Boot from an unique, stable, multipath-dependent symlink

Yeah, its been "fun".

I'm not sure what you mean by "accepted". as in "accepted upstream" or as in "the initramfs would respect your change to ROOT". initramfs will respect your change to root. Your path *will* work, but will break anyone that doesn't have their root device on multipath.

For curtin, we *almost* had it before landing on this bug yesterday.
I realized that since in curtin we were writing /etc/multipath.conf and /etc/multipath/bindings , that we actually definitively declare a stable path name for boot. the work-in-progress branch at https://code.launchpad.net/~smoser/curtin/grub-mpath does work, and boots with root=/dev/mapper/mpath0-<partition>X . At least for our case that is a stable path. Admittedly we're not doing raid or lvm on top of the multipath devices.

One thing I realized yesterday is that whatever solution we come up with for root, we also have to use for other mount points on multipath devices. If /usr was on a separate partition on a multipath device, then /etc/fstab for that device also needs the reliable multipath entry. For example, normally we'd see something like:
  UUID=715c6da7-c111-4842-868b-7778623ead7c / ext4 errors=remount-ro 0 1
  UUID=e1cfa4bb-4c8a-4fc3-9b35-49a8ef6ae975 /home ext4 defaults 0 2
but we will need:
  UUID=multipath-715c6da7-c111-4842-868b-7778623ead7c / ...
  UUID=multipath-e1cfa4bb-4c8a-4fc3-9b35-49a8ef6ae975 /home ...

or whatever else we're using for mounting. the point is that this isn't a "root device only" problem.