MachineInstallDiskConfig resource, which has the machine ID as its ID.
It belongs to the machine, not to a cluster, so it is kept when the machine is removed from a cluster.
The
MachineInstallDiskConfig resource and disk selectors require Omni v1.11.0 or later.Config patches cannot set the install disk.
Omni rejects patches that set machine.install.disk and patches that contain an UnattendedInstallConfig document.Select the install disk
You can select the disk by its path, e.g.,/dev/sdb, or by a disk selector.
A disk path or a disk selector can select any disk of the machine, including the disks the automatic selection skips.
Make sure it does not match a member of an MD RAID array, since installing Talos to it breaks the array.
- UI
- Cluster templates
- CLI
- Terraform
On the cluster create and scale pages, assign the machine to the control plane or to a worker machine set.
An Install Disk dropdown then appears next to it, unless the machine is already installed:
- Auto: no selection, Omni selects the disk automatically. The disk it currently selects is shown next to it in parentheses.
- A disk path, e.g., /dev/sdb: selects that disk. Disks built on top of other disks show their member disks, e.g., /dev/md0 (on sdb, sdc).
- Selector: shown when the machine has a disk selector. The disk the selector currently matches is shown next to it in parentheses. Hover over it to see the expression.
selectable in MachineInstallDiskStatus.
The UI cannot create disk selectors.
Use cluster templates, omnictl or Terraform for them.The Install Talos action on the Machines page has its own Install Disk dropdown.
It defaults to the disk Omni selects for the machine.
The disk you pick there is used only for that install, and it is not stored in MachineInstallDiskConfig.Automatic selection
When a machine has noMachineInstallDiskConfig, Omni selects the smallest disk that is:
- larger than 5 GB
- not read-only and not a CD-ROM drive
- not a member of another disk, e.g., a disk in an MD RAID array
- not built on top of other disks, e.g., an MD RAID array or a device-mapper volume
Disk selectors
A disk selector is a Common Expression Language (CEL) expression evaluated against every disk of the machine. It uses the same variables as the Talos disk selectors. A disk selector can target disks by their stable properties:disk.serial == "S3EVNX0K123456": the disk with this serial number.'/dev/disk/by-path/pci-0000:00:1f.2-ata-1' in disk.symlinks: the disk with this stable symlink.'/dev/disk/by-id/md-name-talos:boot' in disk.symlinks: the MD RAID array namedboot.
diskSelector: "'/dev/disk/by-id/md-name-talos:boot' in disk.symlinks".
When a disk selector matches more than one disk, Omni selects the first regular disk by path.
A disk built on top of other disks, such as an MD RAID array, is selected only when it is the only match.
Installing Talos to an MD RAID array requires Talos v1.14 or later.
Create the array with the config patches in Boot from a RAID1 array.
Select it as the install disk with a disk selector instead of the UnattendedInstallConfig document shown there, which Omni does not accept.
Check the install disk of a machine
Omni stores the install disk it uses for each machine in theMachineInstallDiskStatus resource:
disk: the install disk. It is empty when no disk can be used.message: whydiskis empty, or how the disk was selected.disks: every disk of the machine.selectablesays whether the UI offers the disk, andskipreasonsays why the automatic selection skips it.
disk is empty, Omni does not generate the configuration of the machine, so the machine waits in its cluster.
Check the message field to see why, e.g., no disk matches the install disk selector.
The resource carries the cluster label of the machine, so you can list the install disks of a cluster.
Replace <cluster-name> with the name of the cluster: