如何在OpenEBS中的现有storagePoolClaim中添加设备?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在OpenEBS中的现有storagePoolClaim中添加设备?相关的知识,希望对你有一定的参考价值。
如何在现有storagePoolClaim中添加设备?我以为我可以编辑spc并将磁盘添加到它,但我没有看到磁盘重新格式化它应该是。
Github问题2258 openEBS repo正在追踪这个。目前,这可以通过补丁少量资源来完成。将内容粘贴到github解决方法中,
用于扩展带有其他磁盘的cStor池(type = striped)。
简要说明cStor池组件存储池CR(SP) - 用于指定池使用的磁盘CR。 cStor存储池CR(CSP) - 用于指定池使用的唯一磁盘路径。 cStor存储池部署和关联的Pod。使用一组磁盘创建SPC规范时,cstor-operator将根据节点隔离磁盘。在每个节点上,将使用该节点中的磁盘创建cStor池。配置池后,只能通过在同一节点上发现的磁盘进行扩展。
以下步骤用于扩展单个cStor存储池,并且需要在与SPC对应的每个cStor池上重复。
步骤1:识别与SPC关联的cStor池(CSP)和存储池(SP)。
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 Pool。 CSP和SP的名称相同。其余步骤假定需要扩展cstor-disk-vt1u。从上面的输出中,还记下运行Pool的节点。在这种情况下,节点是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 ";" "
"
样本输出:
[disk-b407e5862d253e666636f2fe5a01355d]
[sparse-ed5a5183d2dba23782d641df61a1d869]`
在这种情况下,disk-ffca7a8731976830057238c5dc25e94c未使用。
步骤3:使用磁盘路径详细信息修补CSP获取devLinks下唯一路径列出的磁盘路径。
kubectl get disk disk-ffca7a8731976830057238c5dc25e94c -o jsonpath="{range .spec.devlinks[0]}{@.links[0]};{end}" | tr ";" "
"
样本输出:
/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池pod(cstor-disk-vt1u)(/ dev / disk / by-id / scsi-0Google_PersistentDisk_kmova-n2-d1)
标识与CSP cstor-disk-vt1u关联的cstor池pod。
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
以上是关于如何在OpenEBS中的现有storagePoolClaim中添加设备?的主要内容,如果未能解决你的问题,请参考以下文章