Функциональность модуля может измениться, но основные возможности сохранятся. Совместимость с будущими версиями обеспечивается, но может потребовать дополнительных действий по миграции.

Работоспособность модуля гарантируется только при использовании стоковых ядер, поставляемых вместе с поддерживаемыми дистрибутивами.

Работоспособность модуля при использовании других ядер или дистрибутивов возможна, но не гарантируется.

BlockDevice

Scope: Cluster
Version: v1alpha1

Ресурс отображает актуальную информацию о доступных блочных устройствах на узлах, которые могут быть использованы контроллером sds-node-configurator для операций в LVM.

Ресурс создается и обслуживается только контроллером. Ручное изменение ресурса запрещено.

LVMLogicalVolume

Scope: Cluster
Version: v1alpha1

LVMLogicalVolume ресурс описывает, где будет выделено место при создании PV.
  • spec
    объект
    • spec.actualLVNameOnTheNode
      строка

      Обязательный параметр

      Имя LV на узле.

      Минимальная длина: 1

      Шаблон: ^[a-z0-9]([a-z0-9-.]{0,251}[a-z0-9])?$

    • spec.lvmVolumeGroupName
      строка

      Обязательный параметр

      Имя LVMVolumeGroup ресурса, VG которого будет использовано для создания LV.

      Минимальная длина: 1

      Шаблон: ^[a-z0-9]([a-z0-9-.]{0,251}[a-z0-9])?$

    • spec.size
      строка или число

      Обязательный параметр

      Желаемый размер LV. Может быть указан как в численном, так и процентном отношении к общему размеру VG или thin pool (для thin pool общий размер - это реальный размер пула, умноженный на allocationLimit).

      Обратите внимание, что при указании размера в процентах LV будет автоматически расширена при расширении VG, расширении thin pool или увеличения поля AllocationLimit для thin pool.

      Минимальная длина: 1

      Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%

    • spec.source
      объект
      Source of the volume, if present.
      • spec.source.kind
        строка

        Обязательный параметр

        Kind of the source. Kind LVMLogicalVolume means that current resource is clone. Kind LVMLogicalVolumeSnapshot means that current resource is a restored volume.

        Допустимые значения: LVMLogicalVolume, LVMLogicalVolumeSnapshot

      • spec.source.name
        строка

        Обязательный параметр

        The name of the resource current resource is created from.

        Минимальная длина: 1

    • spec.thick
      объект
      Описывает настройки используемого Thick LV.
      • spec.thick.contiguous
        булевый

        Обязательный параметр

        Если true, логический том будет создан с флагом contiguous. Примечание: Этот флаг следует использовать с осторожностью, так как он может привести к невозможности создания LV, не смотря на наличие свободного пространства.
    • spec.thin
      объект
      Описывает используемый Thin Pool. Указывается только при Thin LV.
      • spec.thin.poolName
        строка

        Обязательный параметр

        Имя используемого Thin pool.

        Минимальная длина: 1

        Шаблон: ^.*$

    • spec.type
      строка

      Обязательный параметр

      Тип LV: Thick или Thin.

      Допустимые значения: Thick, Thin

LVMLogicalVolumeSnapshot

Scope: Cluster
Version: v1alpha1

The LVMLogicalVolumeSnapshot resource defines the storage where a VolumeSnapshot will be created in.
  • spec
    объект
    • spec.actualSnapshotNameOnTheNode
      строка
      The name of the snapshot volume.

      Минимальная длина: 1

    • spec.lvmLogicalVolumeName
      строка

      Обязательный параметр

      The name of the snapshotted LLV resource.

      Минимальная длина: 1

LVMVolumeGroup

Scope: Cluster
Version: v1alpha1

Интерфейс управления Volume Group’ами и Thin pool’ами на узлах.

Этот тип ресурсов может быть создан как самим пользователем, так и контроллером sds-node-configurator. Контроллер sds-node-configurator автоматически создаст ресурс LVMVolumeGroup в случае, если найдет на узле существующую Volume Group со специальным тегом ‘storage.deckhouse.io/enabled=true’, при этом контроллер самостоятельно заполнит как spec, так и status поля. Поле spec.thinPools нужно заполнить самостоятельно.

  • spec
    объект
    • spec.actualVGNameOnTheNode
      строка

      Обязательный параметр

      Желаемое имя для Volume Group. Должно быть уникальным в рамках узла, на котором будет располагаться.

      Неизменяемое поле.

    • spec.blockDeviceSelector
      объект

      Обязательный параметр

      Желаемый селектор для выбора BlockDevice ресурсов.

      Обратите внимание, что выбранные блок-девайсы должны принадлежать одному узлу для Volume Group с типом ‘Local’.

      • spec.blockDeviceSelector.matchExpressions
        массив объектов
        The desired block device selector expressions.
        • spec.blockDeviceSelector.matchExpressions.key
          строка
        • spec.blockDeviceSelector.matchExpressions.operator
          строка

          Допустимые значения: In, NotIn, Exists, DoesNotExist

        • spec.blockDeviceSelector.matchExpressions.values
          массив строк
      • spec.blockDeviceSelector.matchLabels
        объект
        The desired block device selector labels.
    • spec.local
      объект
      Желаемая конфигурация для локальной Volume Group.
      • spec.local.nodeName
        строка

        Обязательный параметр

        Имя ноды, на которой планируется размещение Volume Group.
    • spec.thinPools
      массив объектов
      Желаемая конфигурация для Thin-pool’ов текущей Volume Group.
      • spec.thinPools.allocationLimit
        строка
        Максимальная степень расширения thin pool-а. По умолчанию 150%.

        По умолчанию: 150%

        Шаблон: ^[1-9][0-9]{2,3}%$

      • spec.thinPools.name
        строка

        Желаемое имя thin pool.

        Неизменяемое поле.

      • spec.thinPools.size
        строка или число

        Желаемый размер thin pool. Может быть указан как в численном, так и процентном отношении к общему размеру VG.

        Обратите внимание, что при указании размера в процентах thin pool будет автоматически расширен при расширении VG.

        Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%

    • spec.type
      строка

      Обязательный параметр

      Тип Volume Group. Может быть:

      • Local, то есть локальным, если используемые девайсы не являются распределенными (не Shared LUN).

      Допустимые значения: Local

LvmVolumeGroupBackup

Scope: Cluster
Version: v1alpha1

Ресурс, сохраняющий состояние lvmvolumegroups ресурсов для совершения миграции kind с LvmVolumeGroup до LVMVolumeGroup.
  • spec
    объект
    • spec.actualVGNameOnTheNode
      строка

      Обязательный параметр

      The desired name of a Volume Group. Must be unique for the node it is on.

      This field is immutable.

    • spec.blockDeviceNames
      массив строк

      Обязательный параметр

      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.thinPools
      массив объектов
      The desired Thin-pool configuration.
      • spec.thinPools.allocationLimit
        строка
        Thin pool oversize limit. Default is 150%.

        По умолчанию: 150%

        Шаблон: ^[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.

        Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%

    • spec.type
      строка

      Обязательный параметр

      The type of a Volume Group. Might be:

      • Local, that is, local if the devices used are not distributed (not Shared LUN).

      Допустимые значения: Local

LVMVolumeGroupSet

Scope: Cluster
Version: v1alpha1

Интерфейс для одновременного создания нескольких LVMVolumeGroup ресурсов по общему шаблону.
  • spec
    объект
    • spec.lvmVolumeGroupTemplate
      объект

      Обязательный параметр

      Общий шаблон для LVMVolumeGroup ресурсов, созданных с помощью данного ресурса.
      • spec.lvmVolumeGroupTemplate.actualVGNameOnTheNode
        строка

        Обязательный параметр

        Желаемое имя для Volume Group. Должно быть уникальным в рамках узла, на котором будет располагаться.

        Неизменяемое поле. Обратите внимание, что указанное имя Volume Group будет одинаковым для каждого LVMVolumeGroup ресурса.

      • spec.lvmVolumeGroupTemplate.blockDeviceSelector
        объект

        Обязательный параметр

        Желаемый селектор для BlockDevice ресурсов, используемый в LVMVolumeGroup ресурсах.
        • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions
          массив объектов
          Желаемые выражения.
          • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.key
            строка
          • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.operator
            строка

            Допустимые значения: In, NotIn, Exists, DoesNotExist

          • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.values
            массив строк
        • spec.lvmVolumeGroupTemplate.blockDeviceSelector.matchLabels
          объект
          Желаемые метки.
      • spec.lvmVolumeGroupTemplate.metadata
        объект
        Метаинформация для LVMVolumeGroup ресурсов.
        • spec.lvmVolumeGroupTemplate.metadata.labels
          объект
          Обязательные метки для LVMVolumeGroup ресурсов.
      • spec.lvmVolumeGroupTemplate.thinPools
        массив объектов

        Желаемая конфигурация для Thin-pool’ов текущей Volume Group.

        Обратите внимание, что данная конфигурация будет одинаковой для каждого LVMVolumeGroup ресурса.

        • spec.lvmVolumeGroupTemplate.thinPools.allocationLimit
          строка
          Максимальная степень расширения thin pool-а. По умолчанию 150%.

          По умолчанию: 150%

          Шаблон: ^[1-9][0-9]{2,3}%$

        • spec.lvmVolumeGroupTemplate.thinPools.name
          строка

          Желаемое имя thin pool.

          Неизменяемое поле.

        • spec.lvmVolumeGroupTemplate.thinPools.size
          строка или число

          Желаемый размер thin pool. Может быть указан как в численном, так и процентном отношении к общему размеру VG.

          Обратите внимание, что при указании размера в процентах thin pool будет автоматически расширен при расширении VG.

          Шаблон: ^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%

      • spec.lvmVolumeGroupTemplate.type
        строка

        Обязательный параметр

        Тип Volume Group. Может быть:

        • Local, то есть локальным, если используемые девайсы не являются распределенными (не Shared LUN).

        Допустимые значения: Local

    • spec.nodeSelector
      объект

      Обязательный параметр

      Желаемый selector для узлов, которые будут использованы LVMVolumeGroup ресурсами.
      • spec.nodeSelector.matchExpressions
        массив объектов
        Желаемые выражения.
        • spec.nodeSelector.matchExpressions.key
          строка
        • spec.nodeSelector.matchExpressions.operator
          строка

          Допустимые значения: In, NotIn, Exists, DoesNotExist

        • spec.nodeSelector.matchExpressions.values
          массив строк
      • spec.nodeSelector.matchLabels
        объект
        Желаемые метки.
    • spec.strategy
      строка

      Обязательный параметр

      Стратегия (правила) создания LVMVolumeGroup ресурсов по текущему ресурсу.

      Допустимые значения: PerNode