Volume Configuration
Volumes are configured using theVolumeConfig document type. Talos manages several system volumes:
STATE- System state partition (read-write)EPHEMERAL- Ephemeral data partition (read-write)IMAGE-CACHE- Container image cache
Volume Provisioning
Describes how the volume is provisioned.
Select the disk for this volume using a CEL expression.
Should the volume grow to the size of the disk (if possible).
Minimum size of the volume (e.g.,
10GB, 2.5GiB).Maximum size of the volume. Can be in bytes or percentage (e.g.,
50GiB, 80%).Disk Selector
Disk selectors use Common Expression Language (CEL) to match disks:Disk Selector Examples
Match disks between 120GB and 1TB:Available Disk Properties
Disk objects in CEL expressions have these properties:disk.size- Disk size in bytesdisk.model- Disk model stringdisk.serial- Disk serial numberdisk.transport- Transport type (sata,nvme,usb, etc.)disk.rotational- Boolean, true for HDDsdisk.system_disk- Boolean, true for the system diskdisk.wwid- World Wide Identifierdisk.bus_path- PCI bus path
Volume Encryption
Encrypt volumes using LUKS encryption:Describes how the volume is encrypted.
Encryption Options
Encryption provider. Currently only
luks2 is supported.Encryption keys. Multiple keys can be configured for redundancy.
Cipher algorithm to use.
Key size in bits.
Encryption Key Types
Static Passphrase
Node ID Key
Generated from the node’s unique identifier:KMS Key
Use a Key Management Service:TPM Key
Use Trusted Platform Module:User Volumes
Create additional user-managed volumes:Name of the user volume.
Filesystem type:
xfs, ext4, or btrfs.Where to mount the volume. Must be under
/var/mnt/.External Volumes
Mount external storage devices:Mount the volume as read-only.
Raw Volumes
Access raw block devices without a filesystem:Stable device path to create for this volume.
Swap Configuration
Configure swap space:Swap is optional in Talos and typically not recommended for Kubernetes nodes.
ZSwap Configuration
Configure compressed swap in memory:Enable ZSwap.
Compression algorithm:
lzo, lz4, or zstd.Maximum percentage of memory to use for compressed swap.
Mount Options
Configure volume mount security:Additional mount options.
Enable secure mount options (
nosuid, nodev). Defaults to true for better security.Legacy Disk Configuration
Old style (deprecated):Complete Storage Example
Storage Best Practices
Disk Selection
- Use CEL expressions for flexible disk matching
- Avoid selecting system disks for user volumes
- Consider disk transport type for performance requirements
- Match by serial number for consistent disk assignment
Encryption
- Always encrypt sensitive data volumes
- Use multiple key slots for redundancy
- Consider TPM for hardware-backed encryption
- Test encryption key recovery procedures
Volume Sizing
- Set appropriate
minSizefor system volumes - Use
maxSizewith percentages for flexible sizing - Enable
growfor volumes that should expand - Monitor disk usage and adjust as needed
Performance
- Use XFS for large files and high throughput
- Use ext4 for general purpose workloads
- Consider NVMe disks for performance-critical workloads
- Separate system and data volumes when possible