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"
      Copy to Clipboard Toggle word wrap
    2. 要获得块卷 ID,请执行以下命令:

      # heketi-cli blockvolume info <block-volume-id>
      Copy to Clipboard Toggle word wrap
    3. 要获得块托管卷信息,请执行以下命令:

      # heketi-cli volume info <block-hosting-volume-id>
      Copy to Clipboard Toggle word wrap
      注意

      确定您有足够的可用大小。

  2. 关闭应用容器集。
  3. 要通过 heketi-cli 扩展块卷,请执行以下命令:

    # heketi-cli blockvolume expand <block-volume-id> --new-size=<net-new-size>
    Copy to Clipboard Toggle word wrap

    例如:

    # 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
    Copy to Clipboard Toggle word wrap
    注意

    展开 输出中,确保 SizeUsableSize 匹配。当大小和 Usable Size 匹配时,可以执行第 4 到 8 步。

  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
    Copy to Clipboard Toggle word wrap
  5. 要验证 pod 日志的新大小,请执行以下命令:

    # oc logs refresh-block-size-xxxxx
    Copy to Clipboard Toggle word wrap
    注意

    确保 df -Th 输出 post 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
    Copy to Clipboard Toggle word wrap
    # df -Th /mnt
    Filesystem         Type  Size  Used Avail Use% Mounted on
    /dev/mapper/mpatha xfs   7.0G   34M  6.0G   1% /mnt
    Copy to Clipboard Toggle word wrap
  6. 运行以下命令检查作业是否成功:

    # oc get jobs
    NAME                 DESIRED   SUCCESSFUL   AGE
    refresh-block-size   1         1            36m
    Copy to Clipboard Toggle word wrap
  7. 要在成功后删除作业,请执行以下命令:

    # oc delete job refresh-block-size
    job.batch "refresh-block-size" deleted
    Copy to Clipboard Toggle word wrap
  8. 您可以在启动应用程序 pod 后使用新大小。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat