Работоспособность гарантируется только при использовании стоковых ядер, поставляемых вместе с поддерживаемыми дистрибутивами. При использовании нестандартных ядер или дистрибутивов поведение может быть непредсказуемым.
Клонирование виртуальных машин
При создании виртуальных машин методом клонирования замените UUID групп томов (VG), выполнив:
vgchange -u
Команда сгенерирует новые UUID для всех VG на виртуальной машине. При необходимости команду можно добавить в скрипт cloud-init.
Сменить UUID можно только если в группе нет активных логических томов (LV). Деактивировать их можно так:
lvchange -an <VG_or_LV_NAME>
Здесь <VG_or_LV_NAME> — название VG для деактивации всех томов в группе или название LV для деактивации конкретного тома.
Способы и сценарии конфигурации дисковой подсистемы узлов
Дисковую подсистему каждого узла можно организовать двумя способами — в зависимости от того, одинаковые ли диски установлены в сервере:
- хранилище с одинаковыми дисками — все диски в узле одного типа и размера;
- комбинированное хранилище — в узле установлены диски разных типов (например, SSD + HDD).
Для каждого из способов конфигурации дисковой подсистемы на узлах существует два сценария конфигурации:
- Полное зеркало — рекомендуемый, надёжный и самый простой.
- Частичное зеркало — более гибкий, но требует аккуратности.
Особенности, плюсы и минусы сценариев приведены в таблице:
| Сценарий конфигурации | Особенности реализации | Плюсы | Минусы |
|---|---|---|---|
| Полное зеркало |
|
|
|
| Частичное зеркало |
|
|
|
Различия в порядке конфигурации дисковой подсистемы в зависимости от выбранного сценария конфигурации изображены на схеме:

Хранилище с одинаковыми дисками
Полное зеркало
Мы рекомендуем использовать этот сценарий конфигурации, поскольку он достаточно надёжен и прост в настройке.
Чтобы настроить узел по этому сценарию, выполните следующее:
- Создайте зеркало из всех дисков (аппаратно или программно). Это зеркало будет использоваться одновременно для корневой системы и для данных.
- Установите операционную систему:
- создайте VG с именем
mainна зеркале; - создайте LV с именем
rootв VGmain; - установите операционную систему на LV
root.
- создайте VG с именем
-
Установите тег
storage.deckhouse.io/enabled=trueдля VGmain, используя следующую команду:vgchange main --addtag storage.deckhouse.io/enabled=true -
Добавьте подготовленный узел в кластер DVP.
Если узел подходит под
nodeSelector, который указан вspec.nodeSelectorмодулейsds-replicated-volumeилиsds-local-volume, то агентsds‑node‑configuratorобнаружит VGmainи создаст ресурс LVMVolumeGroup. Его можно использовать в модуляхsds‑local‑volumeиsds‑replicated‑volume.
Пример настройки модулей SDS (одинаковые диски, «Полное зеркало»)
В этом сценарии три узла кластера DVP сконфигурированы в режиме «Полное зеркало».
После запуска автоматического обнаружения в кластере появятся три CRD-ресурса типа LVMVolumeGroup с автоматически сгенерированными именами.
Чтобы вывести список ресурсов LVMVolumeGroup, выполните следующую команду:
d8 k get lvmvolumegroups.storage.deckhouse.io
В результате будет выведен следующий список:
NAME THINPOOLS CONFIGURATION APPLIED PHASE NODE SIZE ALLOCATED SIZE VG AGE
vg-08d3730c-9201-428d-966c-45795cba55a6 0/0 True Ready worker-2 25596Mi 0 main 61s
vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d 0/0 True Ready worker-0 25596Mi 0 main 4m17s
vg-c7863e12-c143-42bb-8e33-d578ce50d6c7 0/0 True Ready worker-1 25596Mi 0 main 108s
Настройка модуля sds-local-volume (одинаковые диски, «Полное зеркало»)
Чтобы сконфигурировать sds-local-volume в режиме «Полное зеркало», создайте ресурс LocalStorageClass и укажите в нём все обнаруженные LVMVolumeGroup. Это гарантирует, что VG с меткой main будет доступен на каждом узле в модуле:
d8 k apply -f -<<EOF
apiVersion: storage.deckhouse.io/v1alpha1
kind: LocalStorageClass
metadata:
name: local-sc
spec:
lvm:
lvmVolumeGroups:
- name: vg-08d3730c-9201-428d-966c-45795cba55a6
- name: vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d
- name: vg-c7863e12-c143-42bb-8e33-d578ce50d6c7
type: Thick
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
EOF
Настройка модуля sds-replicated-volume (одинаковые диски, «Полное зеркало»)
Чтобы настроить модуль sds-replicated-volume по сценарию «Полное зеркало», выполните следующее:
-
Создайте ресурс ReplicatedStoragePool и добавьте в него все ресурсы LVMVolumeGroup, чтобы VG
mainиспользовалась на всех узлах в модулеsds-replicated-volume:d8 k apply -f -<<EOF apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStoragePool metadata: name: data spec: type: LVM lvmVolumeGroups: - name: vg-08d3730c-9201-428d-966c-45795cba55a6 - name: vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d - name: vg-c7863e12-c143-42bb-8e33-d578ce50d6c7 EOF -
Создайте ресурс ReplicatedStorageClass и в поле
storagePoolукажите имя созданного ранее ресурса ReplicatedStoragePool:d8 k apply -f -<<EOF --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-r1 spec: storagePool: data replication: None reclaimPolicy: Delete topology: Ignored # Если указать данную топологию, в кластере не должно быть зон (узлов с метками topology.kubernetes.io/zone). --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-r2 spec: storagePool: data replication: Availability reclaimPolicy: Delete topology: Ignored --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-r3 spec: storagePool: data replication: ConsistencyAndAvailability reclaimPolicy: Delete topology: Ignored EOF
Частичное зеркало
- Не используйте разделы с одинаковыми
PARTUUID. - Изменение
PARTUUIDраздела, на котором уже создан VG, не поддерживается. - Для таблицы разделов рекомендуется использовать GPT — в MBR
PARTUUIDпсевдослучайный и содержит номер раздела, а также отсутствует поддержкаPARTLABEL, который может пригодиться для идентификации разделов в DVP.
В данном сценарии используются два раздела на каждом диске:
- раздел для корневой системы и хранения данных SDS, которые не реплицируются;
- раздел для данных SDS, которые реплицируются.
Первый раздел каждого диска используется для создания зеркала, а второй — для создания отдельной VG без зеркалирования. Это позволяет максимально эффективно использовать место на диске.
Чтобы настроить узел по сценарию «Частичное зеркало», выполните следующее:
- При установке операционной системы:
- создайте по два раздела на каждом диске;
- соберите зеркало из первых разделов на каждом диске;
- создайте VG с именем
main-safeна зеркале; - создайте LV с именем
rootв VGmain-safe; - установите операционную систему на LV
root.
-
Установите тег
storage.deckhouse.io/enabled=trueдля VGmain-safe, используя следующую команду:vgchange main-safe --addtag storage.deckhouse.io/enabled=true - Создайте VG с именем
main-unsafeиз вторых разделов каждого диска. -
Установите тег
storage.deckhouse.io/enabled=trueдля VGmain-unsafe, используя следующую команду:vgchange main-unsafe --addtag storage.deckhouse.io/enabled=true -
Добавьте подготовленный узел в кластер DVP.
Если узел подходит под
nodeSelector, который указан вspec.nodeSelectorмодулейsds-replicated-volumeилиsds-local-volume, то на этом узле запустится агент модуляsds-node-configurator, который определит VGmain-safeиmain-unsafeи добавит соответствующие этим VG ресурсы LVMVolumeGroup в кластер DVP. Дальше ресурсы LVMVolumeGroup можно использовать для создания томов в модуляхsds-replicated-volumeилиsds-local-volume.
Пример настройки модулей SDS (одинаковые диски, «Частичное зеркало»)
В данном примере предполагается, что вы настроили три узла по сценарию «Частичное зеркало».
В кластере DVP при этом появятся шесть ресурсов LVMVolumeGroup со случайно сгенерированными именами.
В будущем добавится возможность указывать имя для ресурсов LVMVolumeGroup,
которые создаются в процессе автоматического обнаружения VG, с помощью тега LVM с желаемым именем ресурса.
Чтобы вывести список ресурсов LVMVolumeGroup, выполните следующую команду:
d8 k get lvmvolumegroups.storage.deckhouse.io
В результате будет выведен следующий список:
NAME THINPOOLS CONFIGURATION APPLIED PHASE NODE SIZE ALLOCATED SIZE VG AGE
vg-08d3730c-9201-428d-966c-45795cba55a6 0/0 True Ready worker-2 25596Mi 0 main-safe 61s
vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d 0/0 True Ready worker-0 25596Mi 0 main-safe 4m17s
vg-c7863e12-c143-42bb-8e33-d578ce50d6c7 0/0 True Ready worker-1 25596Mi 0 main-safe 108s
vg-deccf08a-44d4-45f2-aea9-6232c0eeef91 0/0 True Ready worker-2 25596Mi 0 main-unsafe 61s
vg-e0f00cab-03b3-49cf-a2f6-595628a2593c 0/0 True Ready worker-0 25596Mi 0 main-unsafe 4m17s
vg-fe679d22-2bc7-409c-85a9-9f0ee29a6ca2 0/0 True Ready worker-1 25596Mi 0 main-unsafe 108s
Настройка модуля sds-local-volume (одинаковые диски, «Частичное зеркало»)
Чтобы настроить модуль sds-local-volume по сценарию «Частичное зеркало», создайте ресурс LocalStorageClass
и добавьте в него ресурсы LVMVolumeGroup, чтобы на всех узлах в модуле sds-local-volume использовалась только VG main-safe:
d8 k apply -f -<<EOF
apiVersion: storage.deckhouse.io/v1alpha1
kind: LocalStorageClass
metadata:
name: local-sc
spec:
lvm:
lvmVolumeGroups:
- name: vg-08d3730c-9201-428d-966c-45795cba55a6
- name: vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d
- name: vg-c7863e12-c143-42bb-8e33-d578ce50d6c7
type: Thick
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
EOF
Настройка модуля sds-replicated-volume (одинаковые диски, «Частичное зеркало»)
Чтобы настроить модуль sds-replicated-volume по сценарию «Частичное зеркало», выполните следующее:
-
Создайте ресурс ReplicatedStoragePool с именем
data-safeи добавьте в него ресурсы LVMVolumeGroup, чтобы на всех узлах в модулеsds-replicated-volumeв ReplicatedStorageClass с параметромreplication: Noneиспользовалась только VGmain-safe:d8 k apply -f -<<EOF apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStoragePool metadata: name: data-safe spec: type: LVM lvmVolumeGroups: - name: vg-08d3730c-9201-428d-966c-45795cba55a6 - name: vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d - name: vg-c7863e12-c143-42bb-8e33-d578ce50d6c7 EOF -
Создайте ресурс ReplicatedStoragePool с именем
data-unsafeи добавьте в него ресурсы LVMVolumeGroup, чтобы на всех узлах в модулеsds-replicated-volumeв ReplicatedStorageClass с параметромreplication: Availabilityилиreplication: ConsistencyAndAvailabilityиспользовалась только VGmain-unsafe:d8 k apply -f -<<EOF apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStoragePool metadata: name: data-unsafe spec: type: LVM lvmVolumeGroups: - name: vg-deccf08a-44d4-45f2-aea9-6232c0eeef91 - name: vg-e0f00cab-03b3-49cf-a2f6-595628a2593c - name: vg-fe679d22-2bc7-409c-85a9-9f0ee29a6ca2 EOF -
Создайте ресурс ReplicatedStorageClass и в поле
storagePoolукажите имя созданных ранее ресурсов ReplicatedStoragePool, чтобы на всех узлах использовались VGmain-safeиmain-unsafe:d8 k apply -f -<<EOF --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-r1 spec: storagePool: data-safe # Обратите внимание, что из-за replication: None для этого ресурса используется data-safe; следовательно, репликация данных для постоянных томов (PV), созданных с этим StorageClass, проводиться не будет. replication: None reclaimPolicy: Delete topology: Ignored # Если указать данную топологию, в кластере не должно быть зон (узлов с метками topology.kubernetes.io/zone). --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-r2 spec: storagePool: data-unsafe # Обратите внимание, что из-за replication: Availability для этого ресурса используется data-unsafe; следовательно, будет проводиться репликация данных для PV, созданных с этим StorageClass. replication: Availability reclaimPolicy: Delete topology: Ignored --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-r3 spec: storagePool: data-unsafe # Обратите внимание, что из-за replication: ConsistencyAndAvailability для этого ресурса используется data-unsafe; следовательно, будет проводиться репликация данных для PV, созданных с этим StorageClass. replication: ConsistencyAndAvailability reclaimPolicy: Delete topology: Ignored EOF
Комбинированное хранилище
Комбинированное хранилище предполагает одновременное использование на узле дисков разных типов.
В ситуации, когда для создания хранилища комбинируются диски разных типов, мы рекомендуем сделать зеркало из дисков одного типа и установить на него операционную систему по сценарию «Полное зеркало», но не использовать для SDS.
Для SDS используйте диски других типов (далее — дополнительные диски), отличающихся от тех, что используются для зеркала под операционную систему.
Рекомендации по использованию дополнительных дисков в зависимости от их типа:
| Тип диска | Рекомендуемые цели использования |
|---|---|
| NVMe SSD | Создание томов, требующих высокой производительности |
| SATA SSD | Создание томов, не требующих высокой производительности |
| HDD | Создание томов, не требующих высокой производительности |
Дополнительные диски можно настраивать по любому из сценариев «Полное зеркало» либо «Частичное зеркало».
Ниже будет рассмотрен процесс настройки дополнительных дисков на примере следующих типов:
- NVMe SSD;
- SATA SSD;
- HDD.
Настройка дополнительных дисков (Полное зеркало)
Ниже описан порядок действий по настройке дополнительных дисков для случая первичного развертывания и конфигурирования кластера при подключении к узлам по SSH. Если у вас уже есть работающий кластер и вы добавляете на его узлы дополнительные диски, рекомендуется создавать и настраивать VG с помощью ресурса LVMVolumeGroup, вместо выполнения на узле приведенных ниже команд.
Чтобы настроить дополнительные диски на узле по сценарию «Полное зеркало», выполните следующее:
- Соберите зеркало из всех дополнительных дисков определенного типа целиком (аппаратно или программно).
- Создайте VG с именем
<vg-name>на зеркале. -
Установите тег
storage.deckhouse.io/enabled=trueдля VG<vg-name>, используя следующую команду:vgchange <vg-name> --addtag storage.deckhouse.io/enabled=true
В примере выше замените <vg-name> на информативное имя, в зависимости от типа дополнительных дисков.
Примеры имен VG для дополнительных дисков разных типов:
ssd-nvme— для дисков NVMe SSD;ssd-sata— для дисков SATA SSD;hdd— для дисков HDD.
Пример настройки модулей SDS (комбинированное хранилище, «Полное зеркало»)
В данном примере предполагается, что вы настроили три узла по сценарию «Полное зеркало».
В кластере DVP при этом появятся три ресурса LVMVolumeGroup со случайно сгенерированными именами.
В будущем добавится возможность указывать имя для ресурсов LVMVolumeGroup,
которые создаются в процессе автоматического обнаружения VG, с помощью тега LVM с желаемым именем ресурса.
Чтобы вывести список ресурсов LVMVolumeGroup, выполните следующую команду:
d8 k get lvmvolumegroups.storage.deckhouse.io
В результате будет выведен список вида:
NAME THINPOOLS CONFIGURATION APPLIED PHASE NODE SIZE ALLOCATED SIZE VG AGE
vg-08d3730c-9201-428d-966c-45795cba55a6 0/0 True Ready worker-2 25596Mi 0 <vg-name> 61s
vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d 0/0 True Ready worker-0 25596Mi 0 <vg-name> 4m17s
vg-c7863e12-c143-42bb-8e33-d578ce50d6c7 0/0 True Ready worker-1 25596Mi 0 <vg-name> 108s
где <vg-name> — имя, присвоенное VG на зеркале на предыдущем шаге.
Настройка модуля sds-local-volume (комбинированное хранилище, «Полное зеркало»)
Чтобы настроить модуль sds-local-volume по сценарию «Полное зеркало», создайте ресурс LocalStorageClass
и добавьте в него все ресурсы LVMVolumeGroup, чтобы VG <vg-name> использовалась на всех узлах в модуле sds-local-volume:
d8 k apply -f -<<EOF
apiVersion: storage.deckhouse.io/v1alpha1
kind: LocalStorageClass
metadata:
name: <local-storage-class-name>
spec:
lvm:
lvmVolumeGroups:
- name: vg-08d3730c-9201-428d-966c-45795cba55a6
- name: vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d
- name: vg-c7863e12-c143-42bb-8e33-d578ce50d6c7
type: Thick
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
EOF
В примере выше <local-storage-class-name> замените на информативное имя, в зависимости от типа дополнительных дисков.
Примеры информативных имен ресурса LocalStorageClass для дополнительных дисков разных типов:
local-sc-ssd-nvme— для дисков NVMe SSD;local-sc-ssd-sata— для дисков SATA SSD;local-sc-ssd-hdd— для дисков HDD.
Настройка модуля sds-replicated-volume (комбинированное хранилище, «Полное зеркало»)
Чтобы настроить модуль sds-replicated-volume по сценарию «Полное зеркало», выполните следующее:
-
Создайте ресурс ReplicatedStoragePool и добавьте в него все ресурсы LVMVolumeGroup, чтобы VG
<vg-name>использовалась на всех узлах в модулеsds-replicated-volume:d8 k apply -f -<<EOF apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStoragePool metadata: name: <replicated-storage-pool-name> spec: type: LVM lvmVolumeGroups: - name: vg-08d3730c-9201-428d-966c-45795cba55a6 - name: vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d - name: vg-c7863e12-c143-42bb-8e33-d578ce50d6c7 EOFВ примере выше замените
<replicated-storage-pool-name>на информативное имя, в зависимости от типа дополнительных дисков.Примеры информативных имен ресурса ReplicatedStoragePool для дополнительных дисков разных типов:
data-ssd-nvme— для дисков NVMe SSD;data-ssd-sata— для дисков SATA SSD;data-hdd— для дисков HDD.
-
Создайте ресурс ReplicatedStorageClass и в поле
storagePoolукажите имя созданного ранее ресурса ReplicatedStoragePool:d8 k apply -f -<<EOF --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-ssd-nvme-r1 spec: storagePool: <replicated-storage-pool-name> replication: None reclaimPolicy: Delete topology: Ignored # Если указать данную топологию, в кластере не должно быть зон (узлов с метками topology.kubernetes.io/zone). --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-ssd-nvme-r2 spec: storagePool: <replicated-storage-pool-name> replication: Availability reclaimPolicy: Delete topology: Ignored --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-ssd-nvme-r3 spec: storagePool: <replicated-storage-pool-name> replication: ConsistencyAndAvailability reclaimPolicy: Delete topology: Ignored EOF
Настройка дополнительных дисков (Частичное зеркало)
- Не используйте разделы с одинаковыми
PARTUUID. - Изменение
PARTUUIDраздела, на котором уже создан VG, не поддерживается. - Для таблицы разделов рекомендуется использовать GPT — в MBR
PARTUUIDпсевдослучайный и содержит номер раздела, а также отсутствует поддержкаPARTLABEL, который может пригодиться для идентификации разделов в DVP.
Ниже описан порядок действий по настройке дополнительных дисков для случая первичного развертывания и конфигурирования кластера при подключении к узлам по SSH. Если у вас уже есть работающий кластер и вы добавляете на его узлы дополнительные диски, рекомендуется создавать и настраивать VG с помощью ресурса LVMVolumeGroup, вместо выполнения на узле приведенных ниже команд.
В данном сценарии используются два раздела на каждом диске: один для хранения данных SDS, которые не реплицируются, и другой для данных SDS, которые реплицируются. Первый раздел каждого диска используется для создания зеркала, а второй — для создания отдельной VG без зеркалирования. Это позволяет максимально эффективно использовать место на диске.
Чтобы настроить узел с дополнительными дисками по сценарию «Частичное зеркало», выполните следующее:
- Создайте по два раздела на каждом дополнительном диске.
- Соберите зеркало из первых разделов на каждом диске.
- Создайте VG с именем
<vg-name>-safeна зеркале. - Создайте VG с именем
<vg-name>-unsafeиз вторых разделов каждого диска. -
Установите тег
storage.deckhouse.io/enabled=trueдля VG<vg-name>-safeи<vg-name>-unsafe, используя следующую команду:vgchange <vg-name>-safe --addtag storage.deckhouse.io/enabled=true vgchange <vg-name>-unsafe --addtag storage.deckhouse.io/enabled=trueВ примере выше
<vg-name>замените на информативный префикс, в зависимости от типа дополнительных дисков.Примеры информативного префикса
<vg-name>для дополнительных дисков разных типов:ssd-nvme— для дисков NVMe SSD;ssd-sata— для дисков SATA SSD;hdd— для дисков HDD.
Пример настройки модулей SDS (комбинированное хранилище, «Частичное зеркало»)
В данном примере предполагается, что вы настроили три узла по сценарию «Частичное зеркало».
В кластере DVP при этом появятся шесть ресурсов LVMVolumeGroup со случайно сгенерированными именами.
В будущем добавится возможность указывать имя для ресурсов LVMVolumeGroup,
которые создаются в процессе автоматического обнаружения VG, с помощью тега LVM с желаемым именем ресурса.
Чтобы вывести список ресурсов LVMVolumeGroup, выполните следующую команду:
d8 k get lvmvolumegroups.storage.deckhouse.io
В результате будет выведен список вида:
NAME THINPOOLS CONFIGURATION APPLIED PHASE NODE SIZE ALLOCATED SIZE VG AGE
vg-08d3730c-9201-428d-966c-45795cba55a6 0/0 True Ready worker-2 25596Mi 0 <vg-name>-safe 61s
vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d 0/0 True Ready worker-0 25596Mi 0 <vg-name>-safe 4m17s
vg-c7863e12-c143-42bb-8e33-d578ce50d6c7 0/0 True Ready worker-1 25596Mi 0 <vg-name>-safe 108s
vg-deccf08a-44d4-45f2-aea9-6232c0eeef91 0/0 True Ready worker-2 25596Mi 0 <vg-name>-unsafe 61s
vg-e0f00cab-03b3-49cf-a2f6-595628a2593c 0/0 True Ready worker-0 25596Mi 0 <vg-name>-unsafe 4m17s
vg-fe679d22-2bc7-409c-85a9-9f0ee29a6ca2 0/0 True Ready worker-1 25596Mi 0 <vg-name>-unsafe 108s
где <vg-name> — префикс имени, присвоенного VG, созданным на предыдущем шаге.
Настройка модуля sds-local-volume (комбинированное хранилище, «Частичное зеркало»)
Чтобы настроить модуль sds-local-volume по сценарию «Частичное зеркало», создайте ресурс LocalStorageClass
и добавьте в него ресурсы LVMVolumeGroup, чтобы на всех узлах в модуле sds-local-volume использовалась только VG <vg-name>-safe:
d8 k apply -f -<<EOF
apiVersion: storage.deckhouse.io/v1alpha1
kind: LocalStorageClass
metadata:
name: <local-storage-class-name>
spec:
lvm:
lvmVolumeGroups:
- name: vg-08d3730c-9201-428d-966c-45795cba55a6
- name: vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d
- name: vg-c7863e12-c143-42bb-8e33-d578ce50d6c7
type: Thick
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
EOF
В примере выше замените <local-storage-class-name> на информативное имя, в зависимости от типа дополнительных дисков.
Примеры информативных имен ресурса LocalStorageClass для дополнительных дисков разных типов:
local-sc-ssd-nvme— для дисков NVMe SSD;local-sc-ssd-sata— для дисков SATA SSD;local-sc-hdd— для дисков HDD.
Настройка модуля sds-replicated-volume (комбинированное хранилище, «Частичное зеркало»)
Чтобы настроить модуль sds-replicated-volume по сценарию «Частичное зеркало», выполните следующее:
-
Создайте ресурс ReplicatedStoragePool с именем
data-<vg-name>-safeи добавьте в него ресурсы LVMVolumeGroup, чтобы на всех узлах в модулеsds-replicated-volumeв ReplicatedStorageClass с параметромreplication: Noneиспользовалась только VG<vg-name>-safe:d8 k apply -f -<<EOF apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStoragePool metadata: name: data-<vg-name>-safe spec: type: LVM lvmVolumeGroups: - name: vg-08d3730c-9201-428d-966c-45795cba55a6 - name: vg-b59ff9e1-6ef2-4761-b5d2-6172926d4f4d - name: vg-c7863e12-c143-42bb-8e33-d578ce50d6c7 EOFВ примере выше замените
data-<vg-name>-safeна информативное имя, в зависимости от типа дополнительных дисков.Примеры информативных имен ресурса ReplicatedStoragePool для дополнительных дисков разных типов:
data-ssd-nvme-safe— для дисков NVMe SSD;data-ssd-sata-safe— для дисков SATA SSD;data-hdd-safe— для дисков HDD.
-
Создайте ресурс ReplicatedStoragePool с именем
data-<vg-name>-unsafeи добавьте в него ресурсы LVMVolumeGroup, чтобы на всех узлах в модулеsds-replicated-volumeв ReplicatedStorageClass с параметромreplication: Availabilityилиreplication: ConsistencyAndAvailabilityиспользовалась только VG<vg-name>-unsafe:d8 k apply -f -<<EOF apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStoragePool metadata: name: data-<vg-name>-unsafe spec: type: LVM lvmVolumeGroups: - name: vg-deccf08a-44d4-45f2-aea9-6232c0eeef91 - name: vg-e0f00cab-03b3-49cf-a2f6-595628a2593c - name: vg-fe679d22-2bc7-409c-85a9-9f0ee29a6ca2 EOFВ примере выше замените
data-<vg-name>-unsafeна информативное имя, в зависимости от типа дополнительных дисков.Примеры информативных имен ресурса ReplicatedStoragePool для дополнительных дисков разных типов:
data-ssd-nvme-unsafe— для дисков NVMe SSD;data-ssd-sata-unsafe— для дисков SATA SSD;data-hdd-unsafe— для дисков HDD.
-
Создайте ресурс ReplicatedStorageClass и в поле
storagePoolукажите имя созданных ранее ресурсов ReplicatedStoragePool, чтобы на всех узлах использовались VG<vg-name>-safeи<vg-name>-unsafe:d8 k apply -f -<<EOF --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-ssd-nvme-r1 spec: storagePool: data-<vg-name>-safe # Обратите внимание, что из-за replication: None для этого ресурса используется data-<vg-name>-safe; следовательно, репликация данных для PV, созданных с этим StorageClass, проводиться не будет. replication: None reclaimPolicy: Delete topology: Ignored # Если указать данную топологию, в кластере не должно быть зон (узлов с метками topology.kubernetes.io/zone). --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-ssd-nvme-r2 spec: storagePool: data-<vg-name>-unsafe # Обратите внимание, что из-за replication: Availability для этого ресурса используется data-<vg-name>-unsafe; следовательно, будет проводиться репликация данных для PV, созданных с этим StorageClass. replication: Availability reclaimPolicy: Delete topology: Ignored --- apiVersion: storage.deckhouse.io/v1alpha1 kind: ReplicatedStorageClass metadata: name: replicated-sc-ssd-nvme-r3 spec: storagePool: data-<vg-name>-unsafe # Обратите внимание, что из-за replication: ConsistencyAndAvailability для этого ресурса используется data-<vg-name>-unsafe; следовательно, будет проводиться репликация данных для PV, созданных с этим StorageClass. replication: ConsistencyAndAvailability reclaimPolicy: Delete topology: Ignored EOFВ примере выше замените
data-<vg-name>-unsafeна информативное имя, в зависимости от типа дополнительных дисков.Примеры информативных имен ресурса ReplicatedStoragePool для дополнительных дисков разных типов:
data-ssd-nvme-unsafe— для дисков NVMe SSD;data-ssd-sata-unsafe— для дисков SATA SSD;data-hdd-unsafe— для дисков HDD.
Аналогичным образом замените
data-<vg-name>-safe.Примеры информативных имен ресурса ReplicatedStoragePool для дополнительных дисков разных типов:
data-ssd-nvme-safe— для дисков NVMe SSD;data-ssd-sata-safe— для дисков SATA SSD;data-hdd-safe— для дисков HDD.