Как добавить устройство в существующий 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