Deckhouse Kubernetes Platform предоставляет возможность автоматического управления логическими томами (Logical Volume Manager, LVM) на узлах кластера с помощью пользовательских ресурсов Kubernetes. Эта функциональность обеспечивается модулем sds-node-configurator
и включает в себя:
-
Обнаружение блочных устройств на каждом узле и создание соответствующих ресурсов BlockDevice.
Ручное создание и изменение ресурса BlockDevice запрещено.
-
Автоматический поиск на узлах LVMVolumeGroup с лейблом
storage.deckhouse.io/enabled=true
(включая thin pool) и управление соответствующими ресурсами LVMVolumeGroup. При обнаружении групп томов (Volume Group, VG) без ресурсов контроллер создаёт ресурс LVMVolumeGroup автоматически. -
Регулярное сканирование физических томов (Physical Volume, PV) на узлах, входящих в управляемые VG. При расширении нижестоящего блочного устройства контроллер выполняет
pvresize
для соответствующего физического тома и автоматически увеличивает размер всех логических томов, привязанных к этой группе.Уменьшение размеров блочного устройства не поддерживается.
-
Синхронизация состояния LVMVolumeGroup с реальным состоянием узла: создание новых групп томов согласно LVMVolumeGroup, расширение существующих при изменении
desiredCapacity
и удаление группы при удалении ресурса. Подробные примеры работы см. в разделе Примеры работы с LVMVolumeGroup.