Select a Fixed System Disk on Multi-Disk Bare-Metal Hosts
Use this guide when one SeedImage ISO must be reused across multiple bare-metal hosts and each host has more than one disk. The procedure prevents Elemental from automatically choosing a different disk on each boot and lets an operator select the system disk on each host by its stable WWN.
TOC
Why a Manual Disk Gate Is RequiredPrerequisitesConfigure the Shared MachineRegistrationPrepare Each Host1. Boot the Expected Live ISO and Block Automatic Installation2. Confirm That the Host Is Running from the Live ISO3. Configure the Live ISO Network When DHCP Is Unavailable4. Identify All Disks and the Intended System Disk5. Remove Stale Elemental Labels When Reinstalling a Host6. Create the Per-Host Install Target7. Run the Final Gate and Start InstallationVerify the Installed HostTroubleshootingLimitationsWhy a Manual Disk Gate Is Required
Do not leave MachineRegistration.spec.config.elemental.install.device empty on a multi-disk host. An empty device and an empty device-selector do not make Elemental wait for an operator to choose a disk. Multiple discovered disks can match, and one of them is selected without a uniqueness check.
Do not use /dev/sda as a persistent disk identity either. Storage-controller discovery order can change between the Live ISO and the installed system, so the same logical disk can appear as /dev/sda during one boot and /dev/sdb during another.
This guide uses a fail-closed manual gate:
- Every reusable ISO contains the same, initially nonexistent install path:
/dev/elemental-install-target. - The install service cannot proceed while that path does not exist, and it does not fall back to automatic disk selection.
- On each host, an operator identifies the intended whole disk by
/dev/disk/by-id/wwn-*and creates the gate as a symbolic link to that disk. - The operator starts the install service only after the disk, network, mount, and stale-label checks pass.
The cleanup procedure in this guide permanently destroys data. Run it only from the Live ISO console, only on disks approved for reinstallation, and only after verifying that none of those disks is mounted.
Prerequisites
- The bare-metal provider and
elemental-operatorare installed on theglobalcluster. - You can create or edit
MachineRegistrationandSeedImageresources incpaas-system. - You have console access to each host through BMC, iDRAC, iLO, or an equivalent interface.
- Each intended system disk has a stable
/dev/disk/by-id/wwn-*entry. - You know which disks may be erased. If the host contains data disks that must be preserved, exclude them from every cleanup command.
- If the Live ISO network has no DHCP service, you have the host IP address, prefix, gateway, DNS server, and Global registration URL.
See Creating Clusters on Bare Metal for the complete provider and cluster creation workflow.
Configure the Shared MachineRegistration
Set the install device to /dev/elemental-install-target. Do not configure a device-selector for this workflow.
The path is intentionally absent when the Live ISO starts. A filesystem label, GPT PARTLABEL, or /dev/disk/by-label/* path is not an alternative: these identify partitions, while Elemental requires a whole-disk install target.
Create a SeedImage that references this MachineRegistration, or rebuild the existing SeedImage after changing the install device.
The MachineRegistration settings are embedded in the generated ISO. Patching the MachineRegistration does not change an ISO that was already built and downloaded. Rebuild the SeedImage, wait until it is ready, download the new ISO, and verify its checksum before booting hosts from it.
Prepare Each Host
Perform the following steps on one host at a time. Do not prepare multiple hosts in parallel when disk cleanup is required.
1. Boot the Expected Live ISO and Block Automatic Installation
Boot the host from the shared ISO. As soon as the Live ISO console is available, stop and mask the automatic installer:
Confirm that the ISO contains the manual gate:
If the path is not present, the host did not boot the expected ISO. Do not continue.
2. Confirm That the Host Is Running from the Live ISO
Confirm all of the following:
/is the Live root, such asLiveOS_rootfs.- The virtual CD device, normally
/dev/sr0, has theCOS_LIVElabel. - No disk that you plan to clean or use as the install target is mounted.
Check for physical-disk, device-mapper, swap, LVM, and multipath use:
Stop if a target disk is mounted or if you cannot prove that the root filesystem belongs to the Live ISO.
3. Configure the Live ISO Network When DHCP Is Unavailable
First identify the actual NetworkManager connection and interface. Do not assume the connection is always named Wired connection 1.
Configure the selected connection with the values assigned to this host:
Verify the address, default route, DNS resolution, and the complete registration URL:
Use the site-specific network values instead of copying the example addresses. Keep the full registration URL and token out of source control and shared logs.
This network configuration only connects the Live ISO for registration and initial installation. It does not replace the persistent networking applied to the installed system during Cluster API reprovisioning.
4. Identify All Disks and the Intended System Disk
List stable disk attributes:
Adjust the disk list for the current host. Record and cross-check:
- Current kernel device name.
- Size, model, serial number, and controller address (
HCTL). /dev/disk/by-id/wwn-*path.- Which whole disk is approved as the system disk.
Use the WWN plus the size, model, and controller information to make the decision. Do not select a disk by kernel name or capacity alone.
5. Remove Stale Elemental Labels When Reinstalling a Host
Skip destructive cleanup on disks that must preserve data. When the host is being fully reinstalled, remove old mappings before cleaning the approved disks:
If the host has unrelated LVM, multipath, or shared-storage devices, do not use global deactivation commands. Deactivate only mappings that belong to the approved disks.
For each approved disk, clear its GPT, recognized signatures, and metadata at the start and end of the disk. The example below operates on /dev/sda; repeat it only for each disk that you have independently identified and approved.
Refresh the kernel and udev after all approved disks are cleaned:
Adjust the partprobe list to include only the disks cleaned on this host.
Verify that the cleaned disks have no signatures, partitions, filesystem types, labels, or partition labels:
Adjust each device list to match the cleaned disks. Continue only when:
wipefsprints no signature for any cleaned disk.lsblkshows no old child partitions,FSTYPE,LABEL, orPARTLABEL.- The check prints
NO_COS_LABELS. - The only remaining
COS_LIVElabel belongs to the virtual CD device, not a system disk.
6. Create the Per-Host Install Target
List the stable WWN paths again after cleanup:
Create the gate only after selecting and verifying the intended whole disk. Replace the example WWN with the value recorded for this host:
If the alias already exists or is a dangling link, do not overwrite it. Inspect it with readlink, determine why it exists, and remove it only after confirming it is stale.
The link exists only in the current Live ISO session. It is expected to disappear after reboot; the installed system does not require it for normal startup.
7. Run the Final Gate and Start Installation
Verify the Live root, mounts, target link, network, and DNS one final time:
Start the installer only after every check passes:
In the log, confirm that registration succeeds, /dev/elemental-install-target resolves to the intended WWN disk, partitioning and installation complete, and the configured eject/reboot action runs.
Verify the Installed Host
After installation triggers a reboot:
-
Eject the BMC virtual media and restore normal disk-first boot order.
-
Confirm that the host does not return to the Live ISO.
-
Verify the new
MachineInventoryon the Global cluster: -
Confirm that the inventory is
Ready=True, reports the expected network, and has only one current Elemental disk layout. -
Add the inventory to a
MachineInventoryPoolonly after it is ready. -
After Cluster API allocates the host, verify the
BaremetalMachine, workload Node, control-plane components, and CNI as described in Creating Clusters on Bare Metal.
Troubleshooting
Limitations
- This workflow intentionally requires one console action per host. It prevents automatic selection; it does not provide fully unattended heterogeneous disk selection.
- MachineRegistration metadata labels are not interpolated into
install.device. - A
device-selectorbased only on disk size is safe only if exactly one disk can match, and current selection does not enforce uniqueness. The WWN gate is preferred for hosts with multiple equal-sized disks. - The target must be a whole disk. Do not point the gate at a partition.