扩展存储

Red Hat OpenShift Data Foundation 4.9

在 OpenShift Data Foundation 中扩展操作的说明

摘要

本文档介绍 Red Hat OpenShift Data Foundation 的扩展选项。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

对红帽文档提供反馈

我们感谢您对文档提供反馈信息。请告诉我们如何让它更好。提供反馈:

  • 关于特定内容的简单评论:

    1. 请确定您使用 Multi-page HTML 格式查看文档。另外,确定 Feedback 按钮出现在文档页的右上方。
    2. 用鼠标指针高亮显示您想评论的文本部分。
    3. 点在高亮文本上弹出的 Add Feedback
    4. 按照显示的步骤操作。
  • 要提交更复杂的反馈,请创建一个 Bugzilla ticket:

    1. 进入 Bugzilla 网站。
    2. Component 部分中,选择 文档
    3. Description 中输入您要提供的信息。包括文档相关部分的链接。
    4. Submit Bug

前言

要扩展内部模式 OpenShift Data Foundation 的存储容量,您可以执行以下操作之一:

  • 扩展存储节点 - 为现有 Red Hat OpenShift Data Foundation 节点添加存储容量
  • 扩展存储节点 - 添加包含存储容量的新 worker 节点

有关以外部模式扩展存储的信息,请参阅 Red Hat Ceph Storage 文档

第 1 章 扩展存储节点的要求

在继续扩展存储节点前,请参考以下部分以了解特定 Red Hat OpenShift Data Foundation 实例的节点要求:

重要

始终确保您有大量的存储容量。

如果存储完全填满,则无法添加容量、删除内容或从存储中迁移内容以完全释放空间。完全存储很难恢复。

当集群存储容量达到总容量的 75%(接近满)和 85%(满)时,会发出容量警报。始终及时处理容量警告的信息,并定期检查您的存储以确保您不会耗尽存储空间。

如果您完全耗尽存储空间,请联系 红帽客户支持

1.1. Red Hat OpenShift Data Foundation 支持的部署

  • 用户置备的基础架构:

    • Amazon Web Services (AWS)
    • VMware
    • 裸机
    • IBM Power
    • IBM Z 或 LinuxONE
  • 安装程序置备的基础架构:

    • Amazon Web Services (AWS)
    • Microsoft Azure
    • Red Hat Virtualization
    • VMware

第 2 章 扩展存储容量

根据部署的类型,您可以选择以下步骤之一来扩展存储容量。

如果要使用部署期间置备的存储类进行扩展,还必须在扩展前定义额外的存储类。详情请参阅创建存储类

注意

OpenShift Data Foundation 不支持异构 OSD 大小。

2.1. 创建存储类

您可以定义一个新的存储类来动态置备现有供应商的存储。

先决条件

  • 管理员访问 OpenShift Web 控制台.

流程

  1. 登录 OpenShift Web 控制台。
  2. StorageStorageClasses
  3. Create Storage Class

    1. 输入存储类 NameDescription
    2. 选择所需的 Reclaim PolicyProvisioner
    3. Create 创建存储类。

验证步骤

  • StorageStorageClasses,验证您可以看到新的存储类。

2.2. 通过向 OpenShift Data Foundation 节点添加容量来扩展存储

您可以在以下基础架构上配置的 Red Hat OpenShift Data Foundation worker 节点中添加存储容量和性能:

  • AWS
  • VMware vSphere
  • Red Hat Virtualization
  • Microsoft Azure

先决条件

  • 正在运行的 OpenShift Data Foundation 平台。
  • OpenShift Web 控制台的管理特权。
  • 要使用部署期间置备的存储类之外的存储类进行扩展,首先定义一个额外的存储类。详情请参阅创建存储类

流程

  1. 登录 OpenShift Web 控制台。
  2. Operators → Installed Operators
  3. OpenShift Data Foundation Operator。
  4. 单击 Storage Systems 选项卡。

    1. 点击存储系统名称最右侧的 Action Menu(⋮) 来扩展选项菜单。
    2. 从选项菜单中选择 Add Capacity
    3. 选择 Storage Class

      如果您使用部署期间生成的默认存储类,在 AWS 上将存储类设置为 gp2,VMware 上为 thin,在 Red Hat Virtualization 上 ovirt-csi-sc,或 Microsoft Azure 上的 managed_premium。如果您已创建了其他存储类,请选择适当的选项。

      重要

      将非默认存储类用于您的供应商是一个技术预览功能。

      技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

      如需更多信息,请参阅技术预览功能支持范围

      Raw Capacity 字段显示在存储类创建过程中设置的大小。所消耗的存储总量是这个大小的三倍,因为 OpenShift Data Foundation 使用的副本数为 3。

    4. 点击 Add
  5. 要检查状态,请导航到 StorageOpenShift Data Foundation,再验证 Status 卡中的 Storage 系统 是否具有绿色勾号。

验证步骤

  • 验证 Raw Capacity 卡。

    1. 在 OpenShift Web 控制台中,点 StorageOpenShift Data Foundation
    2. Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
    3. Block and File 选项卡中,检查 Raw Capacity 卡。

      请注意,容量会根据您的选择而增加。

      注意

      原始容量不考虑复制并显示完整容量。

  • 验证新 OSD 及其对应的新持久卷声明(PVC)已创建。

    • 查看新创建的 OSD 的状态:

      1. 从 OpenShift Web 控制台点 WorkloadsPods
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

    • 查看 PVC 的状态:

      1. 从 OpenShift Web 控制台点 StoragePersistent Volume Claims
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

  • 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

    1. 识别运行新 OSD pod 的节点。

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
      <OSD-pod-name>

      是 OSD pod 的名称。

      例如:

      oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
    2. 对于上一步中确定的每个节点,请执行以下操作:

      1. 创建调试 pod,并为所选主机打开 chroot 环境。

        $ oc debug node/<node-name>
        <node-name>

        是节点的名称。

        $ chroot /host
      2. 检查 ocs-deviceset 名称旁边的 crypt 关键字。

        $ lsblk

2.3. 使用本地存储设备为 OpenShift Data Foundation 节点添加容量来扩展存储

您可以在以下基础架构上将存储容量(额外存储设备)添加到基于 OpenShift Data Foundation worker 节点配置的本地存储中:

  • 裸机
  • VMware
  • Red Hat Virtualization

先决条件

流程

要添加容量,您可以使用部署期间置备的存储类或与过滤器匹配的其它存储类。

  1. 在 OpenShift Web 控制台中,点 OperatorsInstalled Operators
  2. OpenShift Data Foundation Operator。
  3. Storage Systems 选项卡。

    1. 点击可见列表旁的 Action 菜单(⋮) 来扩展选项菜单。
    2. 从选项菜单中选择 Add Capacity
    3. 根据您的要求,选择您添加磁盘或新存储类的存储类。显示的可用容量基于存储类中可用的本地磁盘。
    4. 点击 Add
  4. 要检查状态,请导航到 Storage → OpenShift Data Foundation,再验证 Status 卡中的 Storage 系统 是否具有绿色勾号。

验证步骤

  • 验证 Raw Capacity 卡。

    1. 在 OpenShift Web 控制台中,点 StorageOpenShift Data Foundation
    2. Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
    3. Block and File 选项卡中,检查 Raw Capacity 卡。

      请注意,容量会根据您的选择而增加。

      注意

      原始容量不考虑复制并显示完整容量。

  • 验证新 OSD 及其对应的新持久卷声明(PVC)已创建。

    • 查看新创建的 OSD 的状态:

      1. 从 OpenShift Web 控制台点 WorkloadsPods
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

    • 查看 PVC 的状态:

      1. 从 OpenShift Web 控制台点 StoragePersistent Volume Claims
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

  • 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

    1. 识别运行新 OSD pod 的节点。

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
      <OSD-pod-name>

      是 OSD pod 的名称。

      例如:

      oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
    2. 对于上一步中确定的每个节点,请执行以下操作:

      1. 创建调试 pod,并为所选主机打开 chroot 环境。

        $ oc debug node/<node-name>
        <node-name>

        是节点的名称。

        $ chroot /host
      2. 检查 ocs-deviceset 名称旁边的 crypt 关键字。

        $ lsblk

2.4. 通过在 IBM Z 或 LinuxONE 基础架构上为您的 OpenShift Data Foundation 节点添加容量来扩展存储

您可以为配置的 Red Hat OpenShift Data Foundation worker 节点添加存储容量和性能。

先决条件

  • 正在运行的 OpenShift Data Foundation 平台。
  • OpenShift Web 控制台的管理特权。
  • 要使用部署期间置备的存储类之外的存储类进行扩展,首先定义一个额外的存储类。详情请参阅创建存储类

流程

  1. 使用 zFCP 磁盘添加额外的硬件资源。

    1. 列出所有磁盘。

      $ lszdev

      输出示例:

      TYPE         ID                                              ON   PERS  NAMES
      zfcp-host    0.0.8204                                        yes  yes
      zfcp-lun     0.0.8204:0x102107630b1b5060:0x4001402900000000  yes  no    sda sg0
      zfcp-lun     0.0.8204:0x500407630c0b50a4:0x3002b03000000000  yes  yes   sdb sg1
      qeth         0.0.bdd0:0.0.bdd1:0.0.bdd2                      yes  no    encbdd0
      generic-ccw  0.0.0009                                        yes  no

      SCSI 磁盘以 zfcp-lun 表示,其结构为 <device-id>:<wwpn>:<lun-id>。第一个磁盘用于操作系统。新磁盘的设备 ID 可以相同。

    2. 附加一个新的 SCSI 磁盘。

      $ chzdev -e 0.0.8204:0x400506630b1b50a4:0x3001301a00000000
      注意

      新磁盘的设备 ID 必须与要替换的磁盘相同。新磁盘通过其 WWPN 和 LUN ID 进行标识。

    3. 列出所有 FCP 设备以验证新磁盘是否已配置。

      $ lszdev zfcp-lun
      TYPE         ID                                              ON   PERS  NAMES
      zfcp-lun     0.0.8204:0x102107630b1b5060:0x4001402900000000 yes  no    sda sg0
      zfcp-lun     0.0.8204:0x500507630b1b50a4:0x4001302a00000000  yes  yes   sdb sg1
      zfcp-lun     0.0.8204:0x400506630b1b50a4:0x3001301a00000000  yes  yes   sdc sg2
  2. 导航到 OpenShift Web 控制台。
  3. 单击左侧导航栏中的 Operators
  4. 选择 Installed Operators
  5. 在窗口中点 OpenShift Data Foundation Operator。
  6. 在顶部导航栏中,向右滚动并单击 Storage Systems 选项卡。

    1. 点击可见列表旁的 Action 菜单(⋮) 来扩展选项菜单。
    2. 从选项菜单中选择 Add Capacity

      Raw Capacity 字段显示在存储类创建过程中设置的大小。所消耗的存储总量是这个大小的三倍,因为 OpenShift Data Foundation 使用的副本数为 3。

    3. 点击 Add
  7. 要检查状态,请导航到 Storage → OpenShift Data Foundation,再验证 Status 卡中的 Storage 系统 是否具有绿色勾号。

验证步骤

  • 验证 Raw Capacity 卡。

    1. 在 OpenShift Web 控制台中,点 StorageOpenShift Data Foundation
    2. Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
    3. Block and File 选项卡中,检查 Raw Capacity 卡。

      请注意,容量会根据您的选择而增加。

      注意

      原始容量不考虑复制并显示完整容量。

  • 验证新 OSD 及其对应的新持久卷声明(PVC)已创建。

    • 查看新创建的 OSD 的状态:

      1. 从 OpenShift Web 控制台点 WorkloadsPods
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

    • 查看 PVC 的状态:

      1. 从 OpenShift Web 控制台点 StoragePersistent Volume Claims
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

  • 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

    1. 识别运行新 OSD pod 的节点。

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
      <OSD-pod-name>

      是 OSD pod 的名称。

      例如:

      oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
    2. 对于上一步中确定的每个节点,请执行以下操作:

      1. 创建调试 pod,并为所选主机打开 chroot 环境。

        $ oc debug node/<node-name>
        <node-name>

        是节点的名称。

        $ chroot /host
      2. 检查 ocs-deviceset 名称旁边的 crypt 关键字。

        $ lsblk

2.5. 通过使用本地存储设备为 IBM Power 基础架构上的 OpenShift Data Foundation 节点添加容量来扩展存储

您可以将存储容量(额外存储设备)添加到 IBM Power 基础架构上基于 OpenShift Data Foundation worker 节点配置的本地存储中。

先决条件

  • 您必须有三个存储类型和大小相同的 OpenShift Container Platform worker 节点(例如,0.5TB SSD),与原始 OpenShift Data Foundation StorageCluster 创建时相同。

流程

  1. 要为 OpenShift Container Platform 节点添加安装 OpenShift Data Foundation 的存储容量,您需要

    1. 找到您要添加的可用设备,即每个 worker 节点最少一个设备。您可以按照相关部署指南中查找可用存储设备的步骤进行操作。

      注意

      确保您为要为其添加存储的所有现有节点(最小 3 个)执行此流程。

    2. LocalVolume 自定义资源(CR)中添加额外的磁盘。

      $ oc edit -n openshift-local-storage localvolume localblock

      输出示例:

      spec:
        logLevel: Normal
        managementState: Managed
        nodeSelector:
          nodeSelectorTerms:
            - matchExpressions:
                - key: kubernetes.io/hostname
                  operator: In
                  values:
                    - worker-0
                    - worker-1
                    - worker-2
        storageClassDevices:
          - devicePaths:
              - /dev/sda
              - /dev/sdx    # newly added device
            storageClassName: localblock
            volumeMode: Block

      确保在编辑 CR 后保存更改。

      输出示例:

      localvolume.local.storage.openshift.io/localblock edited

      您可以在此 CR 中看到添加新设备。

      • sdx
  2. 显示新创建的持久性卷 (PV),带有 localVolume CR 中使用的 storageclass 名称。

    $ oc get pv | grep localblock | grep Available

    输出示例:

    local-pv-a04ffd8       500Gi      RWO      Delete       Available      localblock       24s
    local-pv-a0ca996b      500Gi      RWO      Delete       Available      localblock       23s
    local-pv-c171754a      500Gi      RWO      Delete       Available      localblock       23s
  3. 导航到 OpenShift Web 控制台。
  4. 单击左侧导航栏中的 Operators
  5. 选择 Installed Operators
  6. 在窗口中点 OpenShift Data Foundation Operator。
  7. 在顶部导航栏中,向右滚动并单击 Storage System 选项卡。

    1. 点击可见列表旁的 Action 菜单(⋮) 来扩展选项菜单。
    2. 从选项菜单中选择 Add Capacity

      在此对话框中,将 Storage Class 名称设置为 localVolume CR 中使用的名称。显示的可用容量基于存储类中可用的本地磁盘。

    3. 点击 Add
  8. 要检查状态,请导航到 Storage → OpenShift Data Foundation,再验证 Status 卡中的 Storage 系统 是否具有绿色勾号。

验证步骤

  • 验证可用的容量。

    • 在 OpenShift Web 控制台中,点 StorageOpenShift Data Foundation
    • Storage Systems 选项卡,然后点 ocs-storagecluster-storagesystem
    • 导航到 OverviewBlock and File 选项卡,然后检查 Raw Capacity 卡。

      请注意,容量会根据您的选择而增加。

      注意

      原始容量不考虑复制并显示完整容量。

  • 验证新 OSD 及其对应的新持久卷声明(PVC)已创建。

    • 查看新创建的 OSD 的状态:

      1. 从 OpenShift Web 控制台点 WorkloadsPods
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

    • 查看 PVC 的状态:

      1. 从 OpenShift Web 控制台点 StoragePersistent Volume Claims
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

  • 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

    1. 识别运行新 OSD pod 的节点。

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
      <OSD-pod-name>

      是 OSD pod 的名称。

      例如:

      oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
    2. 对于上一步中确定的每个节点,请执行以下操作:

      1. 创建调试 pod,并为所选主机打开 chroot 环境。

        $ oc debug node/<node-name>
        <node-name>

        是节点的名称。

        $ chroot /host
      2. 检查 ocs-deviceset 名称旁边的 crypt 关键字。

        $ lsblk

第 3 章 横向扩展存储容量

要扩展存储容量,您需要执行以下步骤:

  • 添加新节点。
  • 验证新节点是否已成功添加。
  • 向上扩展存储容量。
注意

OpenShift Data Foundation 不支持异构 OSD 大小。

3.1. 添加节点

您可以在现有工作程序节点已以其最大支持 OSD 运行时添加节点来增加存储容量,即增加初始配置期间所选容量的 3 个 OSD。

根据部署类型,您可以选择以下步骤之一来添加存储节点:

3.1.1. 在安装程序置备的基础架构中添加节点

您可以在以下安装程序置备的基础架构中添加节点:

  • AWS
  • Azure
  • Red Hat Virtualization
  • VMware

先决条件

  • 您必须登录到 OpenShift Container Platform 集群。

流程

  1. 导航到 ComputeMachine Sets
  2. 在您要添加节点的机器集中,选择 Edit Machine Count

    1. 添加节点数量,然后点 Save
    2. ComputeNodes 并确认新节点是否处于 Ready 状态
  3. 将 OpenShift 数据基础标签应用到新节点。

    1. 对于新节点,点击 Action 菜单(⋮)Edit Labels
    2. 添加 cluster.ocs.openshift.io/openshift-storage,然后点 Save
注意

建议您添加 3 个节点,每个节点都位于不同的区中。您必须添加 3 个节点,并对所有节点执行此步骤。

验证步骤

3.1.2. 在用户置备的基础架构中添加节点

您可以在 AWS 或 VMware 用户置备的基础架构中添加节点。

先决条件

  • 您必须登录到 OpenShift Container Platform 集群。

流程

  1. 根据您在 AWS 中添加节点还是 VMware 用户置备的基础架构,执行以下步骤:

    • 对于 AWS:

      1. 使用所需基础架构创建新的 AWS 机器集。请参阅平台要求
      2. 使用新的 AWS 机器集创建新的 OpenShift Container Platform 节点。
    • 对于 VMware:

      1. 使用所需基础架构在 vSphere 上创建新虚拟机。请参阅平台要求
      2. 使用新虚拟机创建新的 OpenShift Container Platform worker 节点。
  2. 检查与处于 Pending 状态的 OpenShift Data Foundation 相关的证书签名请求 (CSR):

    $ oc get csr
  3. 批准新节点所需的所有 OpenShift Data Foundation CSR。

    $ oc adm certificate approve <Certificate_Name>
    <Certificate_Name>
    是 CSR 的名称。
  4. ComputeNodes,确认新节点是否处于 Ready 状态
  5. 使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:

    从用户界面
    1. 对于新节点,点击 Action Menu(⋮)Edit Labels
    2. 添加 cluster.ocs.openshift.io/openshift-storage,然后点 Save
    使用命令行界面
    • 将 OpenShift 数据基础标签应用到新节点。

      $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
      <new_node_name>
      是新节点的名称。
注意

建议您添加 3 个节点,每个节点都位于不同的区中。您必须添加 3 个节点,并对所有节点执行此步骤。

验证步骤

3.1.3. 使用本地存储设备添加节点

您可以在以下内容中添加节点:

  • 裸机
  • IBM Z 或 LinuxONE
  • VMware
  • Red Hat Virtualization

先决条件

  • 您必须登录到 OpenShift Container Platform 集群。
  • 您必须有三个存储类型和大小相同的 OpenShift Container Platform worker 节点(例如,2TB SSD 或 2TB NVMe 驱动器),与原始 OpenShift Data Foundation StorageCluster 创建时相同。
  • 如果您从以前的版本升级到 OpenShift Data Foundation 版本 4.9,且还没有创建 LocalVolumeDiscoveryLocalVolumeSet 对象,现在请按照 本地存储支持的集群的 Post-update 配置更改 中所述的步骤进行。

流程

  1. 根据基础架构类型,执行以下步骤:

    • 对于 VMware:

      1. 使用所需基础架构在 vSphere 上创建新虚拟机。请参阅平台要求
      2. 使用新虚拟机创建新的 OpenShift Container Platform worker 节点。
    • Red Hat Virtualization:

      1. 使用所需基础架构在 Red Hat Virtualization 上创建新虚拟机。请参阅 平台要求
      2. 使用新虚拟机创建新的 OpenShift Container Platform worker 节点。
    • 对于裸机:

      1. 获取具有所需基础架构的新裸机计算机。请参阅 平台要求
      2. 使用新的裸机机器创建新的 OpenShift Container Platform 节点。
    • 对于 IBM Z 或 LinuxONE:

      1. 获取具有所需基础架构的新 IBM Z 或 LinuxONE 机器。请参阅 平台要求
      2. 使用新的 IBM Z 或 LinuxONE 机器创建一个新的 OpenShift Container Platform 节点。
  2. 检查与处于 Pending 状态的 OpenShift Data Foundation 相关的证书签名请求 (CSR):

    $ oc get csr
  3. 批准新节点所需的所有 OpenShift Data Foundation CSR。

    $ oc adm certificate approve <Certificate_Name>
    <Certificate_Name>
    是 CSR 的名称。
  4. ComputeNodes,确认新节点是否处于 Ready 状态
  5. 使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:

    从用户界面
    1. 对于新节点,点击 Action Menu(⋮)Edit Labels
    2. 添加 cluster.ocs.openshift.io/openshift-storage,然后点 Save
    使用命令行界面
    • 将 OpenShift 数据基础标签应用到新节点。

      $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
      <new_node_name>
      是新节点的名称。
  6. 从 OpenShift Web 控制台中点 OperatorsInstalled Operators

    Project 下拉菜单中选择安装 Local Storage Operator 的项目。

  7. Local Storage
  8. Local Volume Discovery 选项卡。

    1. LocalVolumeDiscovery 旁边,点 Action 菜单 (⋮)Edit Local Volume Discovery
    2. 在 YAML 中,将新节点的主机名添加到节点选择器下的 values 字段中。
    3. 点击 Save
  9. Local Volume Sets 选项卡。

    1. LocalVolumeSet 旁边,点 Action 菜单 (⋮)Edit Local Volume Set
    2. 在 YAML 中,将新节点的主机名添加到节点选择器下的 values 字段中。

      图 3.1. 显示添加新主机名的 YAML

      YAML 屏幕截图,显示新主机名的添加。
    3. 点击 Save
注意

建议您添加 3 个节点,每个节点都位于不同的区中。您必须添加 3 个节点,并对所有节点执行此步骤。

验证步骤

3.1.4. 使用 IBM Power 中的本地存储设备添加节点

先决条件

  • 您必须登录到 OpenShift Container Platform 集群。
  • 您必须有三个存储类型和大小相同的 OpenShift Container Platform worker 节点(例如,2TB SSD 驱动器),与原始 OpenShift Data Foundation StorageCluster 创建时相同。
  • 如果您已经从 OpenShift Data Foundation 以前的版本升级,且还没有创建 LocalVolumeDiscovery 对象,请按照由本地存储支持的集群的 Post-update 配置更改中所述的步骤进行操作。

流程

  1. 使用所需基础架构获取新的 IBM Power 机器。请参阅平台要求
  2. 使用新的 IBM Power 机器创建新的 OpenShift Container Platform 节点。

    1. 检查与处于 Pending 状态的 OpenShift Data Foundation 相关的证书签名请求 (CSR):

      $ oc get csr
    2. 批准新节点所需的所有 OpenShift Data Foundation CSR。

      $ oc adm certificate approve <Certificate_Name>
      <Certificate_Name>
      是 CSR 的名称。
    3. ComputeNodes,确认新节点是否处于 Ready 状态
    4. 使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:

      从用户界面
      1. 对于新节点,点击 Action Menu(⋮)Edit Labels
      2. 添加 cluster.ocs.openshift.io/openshift-storage 并点 Save
      使用命令行界面
      • 将 OpenShift 数据基础标签应用到新节点。

        $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
      <new_node_name>
      是新节点的名称。
    5. 从 OpenShift Web 控制台中点 OperatorsInstalled Operators

      Project 下拉菜单中选择安装 Local Storage Operator 的项目。

    6. Local Storage
    7. Local Volume Discovery 选项卡。

      1. LocalVolumeDiscovery → Edit Local Volume Discovery 旁边的 Action 菜单 (⋮)
      2. 在 YAML 中,将新节点的主机名添加到节点选择器下的 values 字段中。
      3. 点击 Save
    8. 本地卷选项卡。

      1. LocalVolume 旁边,点 Action 菜单 (⋮)Edit Local Volume
      2. 在 YAML 中,将新节点的主机名添加到节点选择器下的 values 字段中。

        图 3.2. 显示添加新主机名的 YAML

        YAML 屏幕截图,显示新主机名的添加。
      3. 点击 Save
注意

建议您添加 3 个节点,每个节点都位于不同的区中。您必须添加 3 个节点,并对所有节点执行此步骤。

验证步骤

3.1.5. 验证新节点的添加

  1. 执行以下命令并验证输出中是否存在新节点:

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
  2. WorkloadsPods,确认新节点上的以下 pod 处于 Running 状态

    • csi-cephfsplugin-*
    • csi-rbdplugin-*

3.2. 为新添加的节点添加容量

若要为新添加的节点添加容量,可使用 Add Capacity 选项扩展具有 3 个 OSD 的存储集群,或者使用新的灵活扩展功能,允许您在启用时将存储集群扩展至任意数量的 OSD。

3.2.1. 使用 Add Capacity 选项添加 3 个 OSD 的容量

若要在用户界面中使用 Add Capacity 选项为动态和本地存储添加 3 个 OSD 的容量,请参阅通过添加容量来扩展存储Add Capacity 选项可用于启用了灵活扩展功能的存储集群。

3.2.2. 使用 YAML 添加容量

启用灵活扩展后,您可以使用 YAML(而不是默认的 3 OSD)一次添加 1 个或多个 OSD 的容量。但是,您需要确保以集群保持平衡的方式添加磁盘。

仅支持内部附加存储集群创建模式才支持灵活扩展。

要启用灵活的扩展,请创建一个具有 3 个节点且少于 3 个可用区的集群。OpenShift Web 控制台检测到分布在 3 个可用区的 3 个节点,并启用灵活的扩展。

重要

您无法在创建存储集群后启用或禁用灵活的扩展功能。

3.2.2.1. 验证是否启用了灵活的扩展

流程

  • 在 Web 控制台中,点击 HomeSearch

    1. 在搜索字段中输入 StorageCluster
    2. ocs-storagecluster
    3. 在 YAML 选项卡中,在 spec 部分搜索键 flexibleScaling,在 status 部分搜索 failureDomain

      如果 flexible scaling 为 true,failureDomain 被设置为 host,则启用灵活的扩展功能。

      spec:
      flexibleScaling: true
      […]
      status:
      failureDomain: host

3.2.2.2. 在 1 个 OSD 的倍数中使用 YAML 添加容量

要通过 YAML 灵活地将 OSD 添加到存储集群中,请执行以下步骤:

先决条件

  • 管理员访问 OpenShift Container Platform Web 控制台。
  • 启用灵活扩展的存储集群。
  • 其他可用于添加容量的磁盘。

流程

  1. 在 OpenShift Web 控制台中,点击 HomeSearch

    1. 在搜索字段中搜索 ocs-storagecluster,然后点击搜索结果中的 ocs-storagecluster
    2. 点击您要扩展的存储集群旁边的操作菜单 (⋮)
    3. Edit Storage Cluster。您将被重定向到 YAML。
  2. 在 YAML 中,搜索关键字 count。此计数参数可向上扩展容量。
  3. 将数量增加到您要添加到集群的 OSD 数量。

    重要

    根据可用磁盘的数量,确保 YAML 中的 count 参数递增,同时确保以集群保持平衡的方式添加磁盘。

  4. 点击 Save
注意

您可能需要等待一两分钟,存储集群才会到达 Ready 状态。

验证步骤

  • 验证 Raw Capacity 卡。

    1. 在 OpenShift Web 控制台中,点 StorageOpenShift Data Foundation
    2. Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
    3. Block and File 选项卡中,检查 Raw Capacity 卡。

      请注意,容量会根据您的选择而增加。

      注意

      原始容量不考虑复制并显示完整容量。

  • 验证新 OSD 及其对应的新持久卷声明(PVC)已创建。

    • 查看新创建的 OSD 的状态:

      1. 从 OpenShift Web 控制台点 WorkloadsPods
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

    • 查看 PVC 的状态:

      1. 从 OpenShift Web 控制台点 StoragePersistent Volume Claims
      2. Project 下拉列表中选择 openshift-storage

        注意

        如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

  • 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

    1. 识别运行新 OSD pod 的节点。

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
      <OSD-pod-name>

      是 OSD pod 的名称。

      例如:

      oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
    2. 对于上一步中确定的每个节点,请执行以下操作:

      1. 创建调试 pod,并为所选主机打开 chroot 环境。

        $ oc debug node/<node name>
        <node name>

        是节点的名称。

        $ chroot /host
      2. 检查 ocs-deviceset 名称旁边的 crypt 关键字。

        $ lsblk