The functionality of the module might change, but the main features will remain. Compatibility with future versions is guaranteed, but might require additional migration steps.
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
-
spec
-
spec.actualLVNameOnTheNode
Required value
Actual LV name on the node.Minimal length:
1
Pattern:
^[a-z0-9]([a-z0-9-.]{0,251}[a-z0-9])?$
-
spec.lvmVolumeGroupName
Required value
LVMVolumeGroup resource’s name which VG will be used for LV creation.Minimal length:
1
Pattern:
^[a-z0-9]([a-z0-9-.]{0,251}[a-z0-9])?$
-
spec.size
Required value
The desired LV size. Might be specified as number or percent size of total VG or thin pool space (for thin pool total space is counted by actual thin pool size multiply by allocationLimit value)
Note, that if you specify the percent size, the LV will be automatically extended when VG, thin pool or thin pool’s allocationLimit value is extended.
Minimal length:
1
Pattern:
^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%
-
spec.thick
-
spec.thick.contiguous
Required value
If true, the Logical Volume will be created with the contiguous flag. Use it carefully as LV might not be created even if there is enough space in VG.
-
-
spec.thinSpecifies used ThinPool. Needs only if LV has Thin type.
-
spec.thin.poolName
Required value
Used thin pool name.Minimal length:
1
Pattern:
^.*$
-
-
spec.type
Required value
LV type: Thick or Thin.Allowed values:
Thick
,Thin
-
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.thinPools
field must be filled in by yourself.
-
spec
-
spec.actualVGNameOnTheNode
Required value
The desired name of a Volume Group. Must be unique for the node it is on.
This field is immutable.
-
spec.blockDeviceSelector
Required value
The desired block device selector.-
spec.blockDeviceSelector.matchExpressionsThe desired block device selector expressions.
-
spec.blockDeviceSelector.matchExpressions.key
-
spec.blockDeviceSelector.matchExpressions.operator
Allowed values:
In
,NotIn
,Exists
,DoesNotExist
-
spec.blockDeviceSelector.matchExpressions.values
-
-
spec.blockDeviceSelector.matchLabelsThe desired block device selector labels.
-
-
spec.localThe desired configuration for a local Volume Group.
-
spec.local.nodeName
Required value
The desired node for the LVM Volume Group.
This field is immutable.
-
-
spec.thinPoolsThe desired Thin-pool configuration.
-
spec.thinPools.allocationLimitThin pool oversize limit. Default is 150%.
Default:
150%
Pattern:
^[1-9][0-9]{2,3}%$
-
spec.thinPools.name
The desired thin pool name.
This field is immutable.
-
spec.thinPools.size
The 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%
-
-
spec.type
Required 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
-
spec
-
spec.actualVGNameOnTheNode
Required value
The desired name of a Volume Group. Must be unique for the node it is on.
This field is immutable.
-
spec.blockDeviceNames
Required 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.
-
spec.thinPoolsThe desired Thin-pool configuration.
-
spec.thinPools.allocationLimitThin pool oversize limit. Default is 150%.
Default:
150%
Pattern:
^[1-9][0-9]{2,3}%$
-
spec.thinPools.name
The desired thin pool name.
This field is immutable.
-
spec.thinPools.size
The 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%
-
-
spec.type
Required 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
-