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

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

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

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.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

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 oversize limit. Default is 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