Как добавить устройство в существующий storagePoolClaim в OpenEBS?

Как добавить устройство в существующий StoragePoolClaim? Я думал, что мог бы просто отредактировать SPC и добавить диск к нему, но я не вижу, как диск переформатирован, как это должно быть.

0 ответов

Github выпуск 2258 репо openEBS отслеживает это. В настоящее время это можно сделать с помощью небольшого количества ресурсов. Вставка содержимого из обходного пути github,

Для расширения пула cStor (тип = чередующийся) с дополнительными дисками.

Краткое объяснение компонентов пула cStor Storage Pool CR (SP) - используется для указания дисковых CR, используемых пулом. cStor Storage Pool CR (CSP) - используется для указания уникального пути к диску, используемого пулом. Развертывание пула хранения cStor и связанный Pod. Когда спецификация SPC создается с набором дисков, оператор cstor будет разделять диски на основе узла. И на каждом узле будет создан пул cStor с использованием дисков этого узла. После подготовки пула его можно расширить только с помощью дисков, уже обнаруженных на том же узле.

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

Шаг 1: Определите пул cStor (CSP) и пул хранения (SP), связанный с SPC.

kubectl get sp -l openebs.io/storage-pool-claim=cstor-disk --show-labels

Пример вывода из пула хранения:

NAME              AGE       LABELS
cstor-disk-i4xj   53m       kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-9mxq,openebs.io/cas-type=cstor,openebs.io/cstor-pool=cstor-disk-i4xj,openebs.io/storage-pool-claim=cstor-disk
cstor-disk-vt1u   53m       kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-dxbf,openebs.io/cas-type=cstor,openebs.io/cstor-pool=cstor-disk-vt1u,openebs.io/storage-pool-claim=cstor-disk
cstor-disk-ys0r   53m       kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-nh6w,openebs.io/cas-type=cstor,openebs.io/cstor-pool=cstor-disk-ys0r,openebs.io/storage-pool-claim=cstor-disk

Из приведенного выше списка выберите пул cStor, который необходимо расширить. Имя обоих CSP и SP будет одинаковым. Остальные шаги предполагают, что cstor-disk-vt1u необходимо расширить. Из приведенного выше вывода также запишите узел, на котором работает пул. В этом случае это узел gke-kmova-helm-default-pool-2c01cdf6-dxbf

Шаг 2: Определите новый диск, который необходимо подключить к пулу cStor. Следующая команда может быть использована для вывода списка дисков на данном узле.

kubectl get disks -l kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-dxbf

Образец вывода диска.

NAME                                      AGE
disk-b407e5862d253e666636f2fe5a01355d     46m
disk-ffca7a8731976830057238c5dc25e94c     46m
sparse-ed5a5183d2dba23782d641df61a1d869   52m

Следующая команда может использоваться для просмотра дисков, уже используемых на узле - gke-kmova-helm-default-pool-2c01cdf6-dxbf

kubectl get sp -l kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-dxbf -o jsonpath="{range .items[*]}{@.spec.disks.diskList};{end}" | tr ";" "\n"

Пример вывода:

[disk-b407e5862d253e666636f2fe5a01355d]
[sparse-ed5a5183d2dba23782d641df61a1d869]`

В этом случае disk-ffca7a8731976830057238c5dc25e94c не используется.

Шаг 3: Патч CSP с подробной информацией о пути к диску. Получите путь к диску, указанный по уникальному пути в devLinks.

kubectl get disk disk-ffca7a8731976830057238c5dc25e94c -o jsonpath="{range .spec.devlinks[0]}{@.links[0]};{end}" | tr ";" "\n"

Пример вывода:

/dev/disk/by-id/scsi-0Google_PersistentDisk_kmova-n2-d1

Запишите указанный выше путь к диску в CSP

kubectl patch csp cstor-disk-vt1u --type json -p '[{ "op": "add", "path": "/spec/disks/diskList/-", "value": "/dev/disk/by-id/scsi-0Google_PersistentDisk_kmova-n2-d1" }]'

Убедитесь, что диск исправлен, выполнив команду kubectl get csp cstor-disk-vt1u -o yaml и проверьте, что новый диск добавлен в diskList.

Шаг 4: исправление SP с именем диска Следующая команда исправляет SP (cstor-disk-vt1u) с диском (disk-ffca7a8731976830057238c5dc25e94c)

kubectl patch sp cstor-disk-vt1u --type json -p '[{ "op": "add", "path": "/spec/disks/diskList/-", "value": "disk-ffca7a8731976830057238c5dc25e94c" }]'

Убедитесь, что диск исправлен, выполнив команду kubectl get sp cstor-disk-vt1u -o yaml и проверьте, что новый диск добавлен в diskList.

Шаг 5: Расширяем пул. Последний шаг - обновить модуль пула cstor (cstor-disk-vt1u), указав путь к диску (/dev/disk/by-id/scsi-0Google_PersistentDisk_kmova-n2-d1)

Определите модуль пула cstor, связанный с CSP cstor-disk-vt1u.

kubectl get pods -n openebs | grep cstor-disk-vt1u

Пример вывода:

cstor-disk-vt1u-65b659d574-8f6fp            2/2       Running   0          1h        10.44.1.8    gke-kmova-helm-default-pool-2c01cdf6-dxbf

Проверьте название пула:

kubectl exec -it -n openebs cstor-disk-vt1u-65b659d574-8f6fp -- zpool list

Пример вывода:

NAME                                         SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
cstor-deaf87e6-ec78-11e8-893b-42010a80003a   496G   202K   496G         -     0%     0%  1.00x  ONLINE  -

Извлеките имя пула из вывода выше. В этом случае - cstor-deaf87e6-ec78-11e8-893b-42010a80003a

Расширьте пул дополнительным диском.

kubectl exec -it -n openebs cstor-disk-vt1u-65b659d574-8f6fp -- zpool add cstor-deaf87e6-ec78-11e8-893b-42010a80003a /dev/disk/by-id/scsi-0Google_PersistentDisk_kmova-n2-d1

Вы можете выполнить команду list еще раз, чтобы увидеть увеличение емкости.

kubectl exec -it -n openebs cstor-disk-vt1u-65b659d574-8f6fp -- zpool list

Пример вывода:

NAME                                         SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
cstor-deaf87e6-ec78-11e8-893b-42010a80003a   992G   124K   992G         -     0%     0%  1.00x  ONLINE
Другие вопросы по тегам