3.2.3. 块卷扩展
您可以扩展块持久性卷声明,以增加应用程序 pod 上的存储量。执行此操作有两种方法:重新调整大小和在线大小。
3.2.3.1. 离线调整大小 复制链接链接已复制到粘贴板!
在扩展块 PVC 之前,请确保块托管卷有足够大小。
要获得 PVC 的 Heketi 块卷 ID,请在主 OCP 节点上执行以下命令:
# oc get pv $(oc get pvc <PVC-NAME> --no-headers -o=custom-columns=:.spec.volumeName) -o=custom-columns=:.metadata.annotations."gluster\.org/volume-id"要获得块卷 ID,请执行以下命令:
# heketi-cli blockvolume info <block-volume-id>要获得块托管卷信息,请执行以下命令:
# heketi-cli volume info <block-hosting-volume-id>注意确定您有足够的可用大小。
- 关闭应用容器集。
要通过 heketi-cli 扩展块卷,请执行以下命令:
# heketi-cli blockvolume expand <block-volume-id> --new-size=<net-new-size>例如:
# heketi-cli blockvolume expand d911d4bcfd4f11bf07b9688a4798b5dc --new-size=7 Name: blk_glusterfs_claim2_fc40d362-aaf9-11ea-bb32-0a580a820004 Size: 7 UsableSize: 7 Volume Id: d911d4bcfd4f11bf07b9688a4798b5dc Cluster Id: 8d1656d29fb8dc6780388cf797351a6d Hosts: [10.70.53.185 10.70.53.203 10.70.53.198] IQN: iqn.2016-12.org.gluster-block:8ce8eb4c-4951-4777-9b42-244b7ea525cd LUN: 0 Hacount: 3 Username: 8ce8eb4c-4951-4777-9b42-244b7ea525cd Password: b83a74be-df90-4fd7-b1a1-928fdcfed8c4 Block Hosting Volume: 2224ac1da64c1737604456a1f511574e注意在 展开 输出中,确保 Size 和 UsableSize 匹配。当大小和 Usable Size 匹配时,可以执行第 4 到 8 步。
将
PVC-NAME替换为您的 PVC,并创建一个作业来刷新块卷大小。apiVersion: batch/v1 kind: Job metadata: name: refresh-block-size spec: completions: 1 template: spec: containers: - image: rhel7 env: - name: HOST_ROOTFS value: "/rootfs" - name: EXEC_ON_HOST value: "nsenter --root=$(HOST_ROOTFS) nsenter -t 1 -m" command: ['sh', '-c', 'echo -e "# df -Th /mnt" && df -Th /mnt && DEVICE=$(df --output=source /mnt | sed -e /^Filesystem/d) && MOUNTPOINT=$($EXEC_ON_HOST lsblk $DEVICE -n -o MOUNTPOINT) && $EXEC_ON_HOST xfs_growfs $MOUNTPOINT > /dev/null && echo -e "\n# df -Th /mnt" && df -Th /mnt'] name: rhel7 volumeMounts: - mountPath: /mnt name: block-pvc - mountPath: /dev name: host-dev - mountPath: /rootfs name: host-rootfs securityContext: privileged: true volumes: - name: block-pvc persistentVolumeClaim: claimName: <PVC-NAME> - name: host-dev hostPath: path: /dev - name: host-rootfs hostPath: path: / restartPolicy: Never要验证 pod 日志的新大小,请执行以下命令:
# oc logs refresh-block-size-xxxxx注意确保
df -Th输出 postxfs_growfs反映了新大小:例如:
# oc logs refresh-block-size-jcbzh # df -Th /mnt Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/mpatha xfs 5.0G 33M 5.0G 1% /mnt# df -Th /mnt Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/mpatha xfs 7.0G 34M 6.0G 1% /mnt运行以下命令检查作业是否成功:
# oc get jobs NAME DESIRED SUCCESSFUL AGE refresh-block-size 1 1 36m要在成功后删除作业,请执行以下命令:
# oc delete job refresh-block-size job.batch "refresh-block-size" deleted- 您可以在启动应用程序 pod 后使用新大小。