Как добавить устройство в существующий storagePoolClaim в OpenEBS? - PullRequest
0 голосов
/ 22 ноября 2018

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

1 Ответ

0 голосов
/ 31 января 2019

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: Patch SPс дискоми проверьте, что новый диск добавлен в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
...