Стадия жизненного цикла модуля: General Availability
Когда следует использовать LVM, а когда LVM-thin?
Используйте LVM (Thick), если нужна максимальная производительность, сравнимая с производительностью накопителя. LVM (Thick) проще в настройке.
Используйте LVM-thin, если нужно использовать overprovisioning. Производительность LVM-thin ниже, чем у LVM.
Используйте overprovisioning в LVM-thin с осторожностью. Контролируйте наличие свободного места в пуле. В системе мониторинга кластера есть отдельные события при достижении 20%, 10%, 5% и 1% свободного места в пуле.
При отсутствии свободного места в пуле возможна деградация работы модуля и потеря данных.
Почему не удается создать PVC на выбранном узле?
Проверьте, что на выбранном узле работает под csi-node:
d8 k -n d8-sds-local-volume get po -owide
Если под отсутствует, убедитесь, что на узле присутствуют все метки, указанные в поле nodeSelector в настройках модуля. Подробнее см. Почему служебные поды компонентов sds-local-volume не создаются на нужном узле.
Почему под csi-node остался на узле после снятия меток?
Вероятно, на узле есть ресурсы LVMVolumeGroup, которые используются в ресурсах LocalStorageClass.
Удалите зависимые ресурсы вручную, чтобы не потерять контроль над созданными томами. Инструкции по проверке зависимых ресурсов см. в разделе Проверка зависимых ресурсов LVMVolumeGroup на узле.
Почему служебные поды компонентов sds-local-volume не создаются на нужном узле?
Вероятно, проблема связана с метками на узле. Модуль использует узлы, которые имеют метки, указанные в поле nodeSelector в настройках модуля.
-
Выполните команду для просмотра меток в
nodeSelector:d8 k get mc sds-local-volume -o=jsonpath={.spec.settings.dataNodes.nodeSelector}Пример вывода:
nodeSelector: my-custom-label-key: my-custom-label-value -
Проверьте селекторы, которые использует модуль в секрете
d8-sds-local-volume-controller-config:d8 k -n d8-sds-local-volume get secret d8-sds-local-volume-controller-config -o jsonpath='{.data.config}' | base64 --decodeПример вывода:
nodeSelector: kubernetes.io/os: linux my-custom-label-key: my-custom-label-valueВ выводе должны быть указаны все метки из настроек модуля
data.nodeSelector, а такжеkubernetes.io/os: linux. -
Проверьте метки на узле:
d8 k get node <node-name> --show-labels -
Добавьте недостающие метки на узел:
d8 k label node <node-name> my-custom-label-key=my-custom-label-value -
Если метки присутствуют, проверьте наличие метки
storage.deckhouse.io/sds-local-volume-node=на узле. Если метка отсутствует, проверьте состояние контроллера:d8 k -n d8-sds-local-volume get po -l app=sds-local-volume-controller d8 k -n d8-sds-local-volume logs -l app=sds-local-volume-controller