Hi Marcus / Neil,
We're using KIWI NG to build an Oracle Linux OEM image for automated bare-metal provisioning.
The installation target is a server booted from an ISO, where the storage is presented from a Pure Storage SAN through multipath. We're trying to understand how KIWI determines the installation disk when multiple multipath devices are present.
Our KIWI configurationOur image is built with the following configuration (simplified):
Our intended OS disk is always 512 GB.
The bare-metal servers receive SAN LUNs through multipath.
Typical setup:
Both disks are presented through multipath.
Example:
However, this ordering is not consistent across servers.
Sometimes we observe:
Likewise, the underlying sdX device names also change between boots.
If
and on a particular server
KIWI attempts to install onto the 128 GB LUN, which eventually fails because our partition layout requires much more space.
This is expected because the kernel parameter explicitly points to mpatha.
Using
is also not an option because those names are not stable across boots or servers.
This is the behavior we're trying to understand.
On one server we had:
The runtime kernel command line confirms this:
However, after installation we observed that the installed system was actually using mpathb, which was the 128 GB disk.
The resulting layout looked like this (identifiers masked):
The multipath output showed:
So despite rd.kiwi.oem.installdevice being set to mpatha, the installed partitions ended up on mpathb.
This is the part we don't understand.
We're trying to understand the internal selection logic.
We need deterministic OS disk selection across hundreds of bare-metal servers.
The only thing that is guaranteed is:
We'd like to know what the recommended KIWI approach is to ensure the correct LUN is always selected for installation.
console=tty1 biosdevname=0 ipv6.disable=1 net.ifnames=0
rd.kiwi.oem.installdevice=/dev/mapper/mpatha
rd.auto=1
rd.lvm=1
root=/dev/mapper/vg.sys.1-LVRoot
rd.debug
rd.kiwi.debug
We're trying to understand why the installation ultimately resolved to mpathb instead of respecting the configured rd.kiwi.oem.installdevice.
lsblk output on this server:
mpathb 253:1 0 128G 0 mpath
├── mpathb1 253:2 0 2M 0 part
├── mpathb2 253:3 0 600M 0 part /boot/efi
├── mpathb3 253:4 0 1G 0 part /boot
└── mpathb4 253:5 0 126.4G 0 part
├── vg.sys.1-LVRoot 253:6 0 8G 0 lvm /
├── vg.sys.1-lv.opt.0 253:7 0 32G 0 lvm /opt
├── vg.sys.1-lv.tmp.0 253:8 0 10G 0 lvm /tmp
├── vg.sys.1-lv.usr.0 253:9 0 12G 0 lvm /usr
├── vg.sys.1-lv.var.0 253:10 0 576M 0 lvm /var
├── vg.sys.1-lv.var.log.0 253:11 0 30G 0 lvm /var/log
└── vg.sys.1-lv.var.log.audit.0
253:12 0 4G 0 lvm /var/log/audit
Thank you for any guidance on how KIWI determines the installation target in this scenario and what the recommended approach is for deterministic SAN LUN selection.