spec.storage.deviceClasses
|
array
|
Contains the configuration to assign the local storage devices to the LVM volume groups.
LVM Storage creates a storage class and volume snapshot class for each device class that you create.
|
deviceClasses.name
|
string
|
Specify a name for the LVM volume group (VG).
You can also configure this field to reuse a volume group that you created in the previous installation. For more information, see "Reusing a volume group from the previous LVM Storage installation".
|
deviceClasses.fstype
|
string
|
Set this field to ext4 or xfs . By default, this field is set to xfs .
|
deviceClasses.default
|
boolean
|
Set this field to true to indicate that a device class is the default. Otherwise, you can set it to false . You can only configure a single default device class.
|
deviceClasses.nodeSelector
|
object
|
Contains the configuration to choose the nodes on which you want to create the LVM volume group. If this field is empty, all nodes without no-schedule taints are considered.
On the control-plane node, LVM Storage detects and uses the additional worker nodes when the new nodes become active in the cluster.
|
nodeSelector.nodeSelectorTerms
|
array
|
Configure the requirements that are used to select the node.
|
deviceClasses.deviceSelector
|
object
|
Contains the configuration to perform the following actions:
For more information, see "About adding devices to a volume group".
|
deviceSelector.paths
|
array
|
Specify the device paths.
If the device path specified in this field does not exist, or the device is not supported by LVM Storage, the LVMCluster CR moves to the Failed state.
|
deviceSelector.optionalPaths
|
array
|
Specify the optional device paths.
If the device path specified in this field does not exist, or the device is not supported by LVM Storage, LVM Storage ignores the device without causing an error.
|
deviceSelector.
forceWipeDevicesAndDestroyAllData
|
boolean
|
LVM Storage uses only those disks that are empty and do not contain file system signatures. To ensure that the disks are empty and do not contain file system signatures, wipe the disks before using them.
To force wipe the selected devices, set this field to true . By default, this field is set to false .
|
If this field is set to true , LVM Storage wipes all previous data on the devices. Use this feature with caution.
|
Wiping the device can lead to inconsistencies in data integrity if any of the following conditions are met:
If any of these conditions are true, do not force wipe the disk. Instead, you must manually wipe the disk.
|
deviceClasses.thinPoolConfig
|
object
|
Contains the configuration to create a thin pool in the LVM volume group.
If you exclude this field, logical volumes are thick provisioned.
Using thick-provisioned storage includes the following limitations:
-
No copy-on-write support for volume cloning.
-
No support for snapshot class.
-
No support for over-provisioning. As a result, the provisioned capacity of PersistentVolumeClaims (PVCs) is immediately reduced from the volume group.
-
No support for thin metrics. Thick-provisioned devices only support volume group metrics.
|
thinPoolConfig.name
|
string
|
Specify a name for the thin pool.
|
thinPoolConfig.sizePercent
|
integer
|
Specify the percentage of space in the LVM volume group for creating the thin pool.
By default, this field is set to 90. The minimum value that you can set is 10, and the maximum value is 90.
|
thinPoolConfig.overprovisionRatio
|
integer
|
Specify a factor by which you can provision additional storage based on the available storage in the thin pool.
For example, if this field is set to 10, you can provision up to 10 times the amount of available storage in the thin pool.
To disable over-provisioning, set this field to 1.
|
thinPoolConfig.chunkSize
|
integer
|
Specifies the statically calculated chunk size for the thin pool. This field is only used when the ChunkSizeCalculationPolicy field is set to Static . The value for this field must be configured in the range of 64 KiB to 1 GiB because of the underlying limitations of lvm2 .
If you do not configure this field and the ChunkSizeCalculationPolicy field is set to Static , the default chunk size is set to 128 KiB.
For more information, see "Overview of chunk size".
|
thinPoolConfig.chunkSizeCalculationPolicy
|
string
|
Specifies the policy to calculate the chunk size for the underlying volume group. You can set this field to either Static or Host . By default, this field is set to Static .
If this field is set to Static , the chunk size is set to the value of the chunkSize field. If the chunkSize field is not configured, chunk size is set to 128 KiB.
If this field is set to Host , the chunk size is calculated based on the configuration in the lvm.conf file.
For more information, see "Limitations to configure the size of the devices used in LVM Storage".
|