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 가 일치하는지 확인합니다. 4~8 단계는 Size 및 UsableSize 가 일치하면 실행될 수 있습니다.
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
출력이xfs_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를 가져온 후 새 크기를 사용할 수 있습니다.