3.2.3. 블록 볼륨 확장


블록 영구 볼륨 클레임을 확장하여 애플리케이션 Pod의 스토리지 양을 늘릴 수 있습니다. 이를 수행하는 방법에는 두 가지가 있습니다. 오프라인 크기 조정 및 온라인 크기 조정.

3.2.3.1. 오프라인 크기 조정

  1. 블록 호스팅 볼륨의 크기가 충분한지 확인하고 블록 PVC를 확장합니다.

    1. 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"
    2. 블록 볼륨 ID를 가져오려면 다음 명령을 실행합니다.

      # heketi-cli blockvolume info <block-volume-id>
    3. 블록 호스팅 볼륨 정보를 가져오려면 다음 명령을 실행합니다.

      # heketi-cli volume info <block-hosting-volume-id>
      참고

      충분한 여유 공간이 있는지 확인하십시오.

  2. 애플리케이션 포드를 중단합니다.
  3. 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 단계는 SizeUsableSize 가 일치하면 실행될 수 있습니다.

  4. 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
  5. 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
  6. 작업 성공 여부를 확인하려면 다음 명령을 실행합니다.

    # oc get jobs
    NAME                 DESIRED   SUCCESSFUL   AGE
    refresh-block-size   1         1            36m
  7. 작업이 성공하면 다음 명령을 실행합니다.

    # oc delete job refresh-block-size
    job.batch "refresh-block-size" deleted
  8. 애플리케이션 Pod를 가져온 후 새 크기를 사용할 수 있습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.