Skip to content
This repository has been archived by the owner on Dec 8, 2023. It is now read-only.

Support multipath root / boot device #853

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

agelwarg
Copy link
Contributor

We have built a software appliance based upon k3os, and have use-cases where the installation requires boot-from-SAN (i.e., multipath support). These changes are the basis for how we have met these requirements. For installation, we boot into the live installer without multipath enabled and install to any one of the available paths. Upon reboot into the installed system, we enable multipath while in MODE=disk before pivot_root and calling init with MODE=local. The end result is such that our root fs is mounted on the multipath device / partition as seen below:

Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/mpatha-part1      4.6G  1.1G  3.3G  25% /

Since not everyone would want this built in, maybe we could/should make these changes optional based on some build-time paramater(s).

@agelwarg agelwarg changed the title Support multipath-boot Support multipath root / boot device Apr 11, 2022
Comment on lines +156 to +161
udevadm settle
udevadm trigger --type=devices --action=add
udevadm settle
multipath -v3
udevadm settle
udevadm control --exit
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't dealt with multi-path directly (other than including the libs way back when to make openebs and longhorn work correctly iirc). This seems rather ... delicate.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we probably can (and should) add more testing around these particular steps.

With that said though, I don't think that everyone will want extra packages and/or modules continuing to bloat the size -- I think I've seen a similar comment here before about not wanting to keep adding more and more packages when most/many people don't want them. The value here is tracking how to make it work, in one place, sharing the info for those that do need it. However maybe this is a build-time decision via a flag/switch/etc? Then somewhere in the docs we could list such flags and explain what they impact. Additionally, for common ones maybe you could provide alternative builds directly for download.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants