The module is guaranteed to work only with stock kernels that are shipped with the supported distributions.
The module may work with other kernels or distributions, but its stable operation and availability of all features is not guaranteed.
BlockDevice
Scope: Cluster
      
Version: v1alpha1
The resource displays up-to-date information about available block devices on nodes that can be used by the sds-node-configurator controller for LVM operations.
The resource is created and managed by the controller only. Manual modification of the resource is prohibited.
LVMLogicalVolume
Scope: Cluster
      
Version: v1alpha1
- 
    objectspec- 
    stringspec.actualLVNameOnTheNodeRequired value LV name on the node.Minimal length: 1Pattern: ^[a-z0-9]([a-z0-9-.]{0,251}[a-z0-9])?$
- 
    stringspec.lvmVolumeGroupNameRequired value The name of a LVMVolumeGroup resource whose VG will be used for LV creation.Minimal length: 1Pattern: ^[a-z0-9]([a-z0-9-.]{0,251}[a-z0-9])?$
- 
    integer or stringspec.sizeRequired value The desired LV size. It can be specified as a numerical value or percentage of the total VG or thin pool space. For thin pools, the total space is calculated as the actual thin pool size multiplied by the allocationLimitvalue.Note that if you specify a percentage, the LV will be automatically extended when VG, thin pool, or thin pool’s allocationLimitvalue is increased.Minimal length: 1Pattern: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%
- 
    objectspec.sourceSource of the volume, if present.- 
    stringspec.source.kindRequired value Kind of the source. The LVMLogicalVolume kind means that the current resource is a clone. The LVMLogicalVolumeSnapshot kind means that the current resource is a restored volume.Allowed values: LVMLogicalVolume,LVMLogicalVolumeSnapshot
- 
    stringspec.source.nameRequired value Name of the resource from which the current resource is created.Minimal length: 1
 
- 
    
- 
    objectspec.thick- 
    booleanspec.thick.contiguousIf set to true, the logical volume will be created with thecontiguousattribute.Use this attribute carefully, as it may prevent from LV creation even if there is enough space for it. 
 
- 
    
- 
    objectspec.thinDefines the used thin pool. Required only for Thin LV.- 
    stringspec.thin.poolNameRequired value Name of the used thin pool.Minimal length: 1Pattern: ^.*$
 
- 
    
- 
    stringspec.typeRequired value LV type: Thick or Thin.Allowed values: Thick,Thin
- 
    stringspec.volumeCleanupThe volume cleanup method after the PV is deleted. If this parameter is not set, there’s no guarantee that the data will be completely deleted. Allowed values: - RandomFillSinglePass: The volume will be overwritten with random data once before deletion. This option is not recommended for solid-state drives (SSDs), as overwriting reduces the drive’s lifespan. For thin volumes, only the space in use at the moment of volume deletion will be overwritten.
- RandomFillThreePass: The volume will be overwritten with random data three times before deletion. This option is also not recommended for SSDs, as overwriting reduces the drive’s lifespan. For thin volumes, only the space in use at the moment of volume deletion will be overwritten.
- Discard: Before deletion, all blocks of the volume will be marked as free using the- discardsystem call. This option is applicable only to SSDs and thick volumes.
 Allowed values: RandomFillThreePass,RandomFillSinglePass,Discard
 
- 
    
LVMLogicalVolumeSnapshot
Scope: Cluster
      
Version: v1alpha1
- 
    objectspec- 
    stringspec.actualSnapshotNameOnTheNodeThe name of the snapshot volume.Minimal length: 1
- 
    stringspec.lvmLogicalVolumeNameRequired value The name of the snapshotted LLV resource.Minimal length: 1
 
- 
    
LVMVolumeGroup
Scope: Cluster
      
Version: v1alpha1
An interface for managing Volume Groups and Thin pools on the nodes.
These resources might be created both by a user and the sds-node-configurator controller. The sds-node-configurator controller will automatically create an LVMVolumeGroup resource if it detects an existing Volume Group on a node tagged with ‘storage.deckhouse.io/enabled=true’. The controller will fill in both the ‘spec’ and ‘status’ fields. The
spec.thinPoolsfield must be filled in by yourself.
- 
    objectspec- 
    stringspec.actualVGNameOnTheNodeRequired value The desired name of a Volume Group. Must be unique for the node it is on. This field is immutable. 
- 
    objectspec.blockDeviceSelectorRequired value The desired block device selector.- 
    array of objectsspec.blockDeviceSelector.matchExpressionsThe desired block device selector expressions.- 
    stringspec.blockDeviceSelector.matchExpressions.key
- 
    stringspec.blockDeviceSelector.matchExpressions.operatorAllowed values: In,NotIn,Exists,DoesNotExist
- 
    array of stringsspec.blockDeviceSelector.matchExpressions.values
 
- 
    
- 
    objectspec.blockDeviceSelector.matchLabelsThe desired block device selector labels.
 
- 
    
- 
    objectspec.localThe desired configuration for a local Volume Group.- 
    stringspec.local.nodeNameRequired value The desired node for the LVM Volume Group. This field is immutable. 
 
- 
    
- 
    array of objectsspec.thinPoolsThe desired Thin-pool configuration.- 
    stringspec.thinPools.allocationLimitThin pool oversize limit. Default is 150%.Default: 150%Pattern: ^[1-9][0-9]{2,3}%$
- 
    stringspec.thinPools.nameThe desired thin pool name. This field is immutable. 
- 
    integer or stringspec.thinPools.sizeThe desired thin pool size. Might be specified as number or percent size of total VG space. Note, that if you specify the percent size, the thin pool will be automatically extended when VG is extended. Pattern: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%
 
- 
    
- 
    stringspec.typeRequired value The type of a VolumeGroup. Might be: - Local, that is, local if the devices used are not distributed (not Shared LUN).
 Allowed values: Local
 
- 
    
LvmVolumeGroupBackup
Scope: Cluster
      
Version: v1alpha1
- 
    objectspec- 
    stringspec.actualVGNameOnTheNodeRequired value The desired name of a Volume Group. Must be unique for the node it is on. This field is immutable. 
- 
    array of stringsspec.blockDeviceNamesRequired value An array of block device resource names to create a Volume Group. Note that the selected block devices must belong to the same node for a Local Volume Group. 
- 
    array of objectsspec.thinPoolsThe desired Thin-pool configuration.- 
    stringspec.thinPools.allocationLimitThin pool oversize limit. Default is 150%.Default: 150%Pattern: ^[1-9][0-9]{2,3}%$
- 
    stringspec.thinPools.nameThe desired thin pool name. This field is immutable. 
- 
    integer or stringspec.thinPools.sizeThe desired thin pool size. Might be specified as number or percent size of total VG space. Note, that if you specify the percent size, the thin pool will be automatically extended when VG is extended. Pattern: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%
 
- 
    
- 
    stringspec.typeRequired value The type of a Volume Group. Might be: - Local, that is, local if the devices used are not distributed (not Shared LUN).
 Allowed values: Local
 
- 
    
LVMVolumeGroupSet
Scope: Cluster
      
Version: v1alpha1
- 
    objectspec- 
    objectspec.lvmVolumeGroupTemplateRequired value The common template for LVMVolumeGroup resources provided by the set.- 
    stringspec.lvmVolumeGroupTemplate.actualVGNameOnTheNodeRequired value The desired name of a Volume Group in LVMVolumeGroups. Must be unique for the node it is on. This field is immutable. Note, that this Volume Group name will be common for every LVMVolumeGroup created by the set. 
- 
    objectspec.lvmVolumeGroupTemplate.blockDeviceSelectorRequired value The desired BlockDevice resources selector to provide in LVMVolumeGroups configurations.- 
    array of objectsspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressionsThe desired block device selector expressions.- 
    stringspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.key
- 
    stringspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.operatorAllowed values: In,NotIn,Exists,DoesNotExist
- 
    array of stringsspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.values
 
- 
    
- 
    objectspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchLabelsThe desired block device selector labels.
 
- 
    
- 
    objectspec.lvmVolumeGroupTemplate.metadataMetadata of LVMVolumeGroup resources.- 
    objectspec.lvmVolumeGroupTemplate.metadata.labelsMust-have labels for LVMVolumeGroup resources.
 
- 
    
- 
    array of objectsspec.lvmVolumeGroupTemplate.thinPoolsThe desired Thin-pool configuration in LVMVolumeGroups. Note, that the configuration will be common for every LVMVolumeGroup created by the set. - 
    stringspec.lvmVolumeGroupTemplate.thinPools.allocationLimitThin pool oversize limit. Default is 150%.Default: 150%Pattern: ^[1-9][0-9]{2,3}%$
- 
    stringspec.lvmVolumeGroupTemplate.thinPools.nameThe desired thin pool name. This field is immutable. 
- 
    integer or stringspec.lvmVolumeGroupTemplate.thinPools.sizeThe desired thin pool size. Might be specified as number or percent size of total VG space. Note, that if you specify the percent size, the thin pool will be automatically extended when VG is extended. Pattern: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%
 
- 
    
- 
    stringspec.lvmVolumeGroupTemplate.typeRequired value The type of a VolumeGroup in LVMVolumeGroups. Might be: - Local, that is, local if the devices used are not distributed (not Shared LUN).
 Allowed values: Local
 
- 
    
- 
    objectspec.nodeSelectorRequired value The desired node selector for nodes which will be used by LVMVolumeGroups.- 
    array of objectsspec.nodeSelector.matchExpressionsThe desired node selector expressions.- 
    stringspec.nodeSelector.matchExpressions.key
- 
    stringspec.nodeSelector.matchExpressions.operatorAllowed values: In,NotIn,Exists,DoesNotExist
- 
    array of stringsspec.nodeSelector.matchExpressions.values
 
- 
    
- 
    objectspec.nodeSelector.matchLabelsThe desired node selector labels.
 
- 
    
- 
    stringspec.strategyRequired value The strategy (rule) to provide LVMVolumeGroup resources by the set.Allowed values: PerNode
 
-