扩展存储


Red Hat OpenShift Container Storage 4.7

横向和垂直扩展选项

摘要

本文档解释了 Red Hat OpenShift Container Storage 扩展选项。

让开源更具包容性

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

对红帽文档提供反馈

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

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

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

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

前言

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

  • 扩展存储节点 - 在现有 Red Hat OpenShift Container Storage worker 节点中添加存储容量
  • 扩展存储节点 - 添加包含存储容量的新 worker 节点

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

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

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

重要

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

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

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

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

1.1. Red Hat OpenShift Container Storage 支持的部署

  • 用户置备的基础架构:

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

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

第 2 章 扩展存储容量

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

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

注意

OpenShift Container Storage 不支持异构 OSD 大小。

2.1. 创建存储类

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

先决条件

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

流程

  1. 登录 OpenShift Web 控制台。
  2. StorageStorage Classes
  3. Create Storage Class
  4. 输入存储类 NameDescription
  5. 选择所需的 Reclaim PolicyProvisioner
  6. Create 创建存储类。

验证步骤

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

使用以下基础架构上配置的 Red Hat OpenShift Container Storage worker 节点添加存储容量和性能:

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

先决条件

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

流程

  1. 登录 OpenShift Web 控制台。
  2. Operators → Installed Operators
  3. OpenShift Container Storage Operator。
  4. 单击 Storage Cluster 选项卡。
  5. 可见列表中应当只有一个项目。点击最右侧的(⋮)来扩展选项菜单。
  6. 从选项菜单中选择 Add Capacity
  7. 选择 Storage Class

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

    重要

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

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

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

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

  8. Add 并等待集群状态变为 Ready

验证步骤

  • 导航到 OverviewPersistent Storage 选项卡,然后检查 Raw Capacity breakdown 卡。

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

    注意

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

  • 验证新 OSD 及其对应的新 PVC 是否已创建。

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

      1. 从 OpenShift Web 控制台点 WorkloadsPods
      2. Project 下拉列表中选择 openshift-storage
    • 查看 PVC 的状态:

      1. 从 OpenShift Web 控制台点 StoragePersistent Volume Claims
      2. Project 下拉列表中选择 openshift-storage
  • (可选)如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

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

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD pod name>
      Copy to Clipboard Toggle word wrap

      例如:

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

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

        $ oc debug node/<node name>
        $ chroot /host
        Copy to Clipboard Toggle word wrap
      2. 运行 "lsblk" 并检查 ocs-deviceset 名旁边的 "crypt" 关键字。

        $ lsblk
        Copy to Clipboard Toggle word wrap
重要

目前不支持集群缩减,无论是否要通过移除节点或 OSD 来实现缩减。

在以下基础架构上,使用此流程将存储容量(额外存储设备)添加到配置的、基于 OpenShift Container Storage worker 节点的本地存储中:

  • 裸机
  • VMware
  • Red Hat Virtualization
重要

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

注意

对于 Amazon EC2 I3 基础架构,添加节点是添加容量的唯一选项,因为部署是使用可用的 NVMe 设备完成的。

先决条件

流程

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

  1. 在 OpenShift Web 控制台中,点 OperatorsInstalled Operators
  2. OpenShift Container Storage Operator。
  3. 单击 Storage Cluster 选项卡。
  4. 可见列表中应当只有一个项目。点击最右侧的(⋮)来扩展选项菜单。
  5. 从选项菜单中选择 Add Capacity
  6. 根据您的要求,选择您添加磁盘或新存储类的存储类。显示的可用容量基于存储类中可用的本地磁盘。
  7. 点击 Add

    您可能需要等待几分钟,以便存储集群达到 Ready 状态。

验证步骤

  • 导航到 OverviewPersistent Storage 选项卡,然后检查 Raw Capacity breakdown 卡。

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

    注意

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

  • 验证新 OSD 及其对应的新 PVC 是否已创建。

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

      1. 从 OpenShift Web 控制台点 WorkloadsPods
      2. Project 下拉列表中选择 openshift-storage
    • 查看 PVC 的状态:

      1. 从 OpenShift Web 控制台点 StoragePersistent Volume Claims
      2. Project 下拉列表中选择 openshift-storage
  • (可选)如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

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

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD pod name>
      Copy to Clipboard Toggle word wrap

      例如:

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

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

        $ oc debug node/<node name>
        $ chroot /host
        Copy to Clipboard Toggle word wrap
      2. 运行 "lsblk" 并检查 ocs-deviceset 名旁边的 "crypt" 关键字。

        $ lsblk
        Copy to Clipboard Toggle word wrap
重要

OpenShift Container Storage 不支持通过减少 OSD 或减少节点来减少集群。

使用这个流程为配置的 Red Hat OpenShift Container Storage worker 节点添加存储容量和性能。

先决条件

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

流程

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

    1. 使用以下命令列出所有磁盘:

      $ lszdev
      Copy to Clipboard Toggle word wrap

      输出示例:

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

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

    2. 使用以下命令附加一个新的 SCSI 磁盘。

      $ chzdev -e 0.0.8204:0x400506630b1b50a4:0x3001301a00000000
      Copy to Clipboard Toggle word wrap
      注意

      新磁盘的设备 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
      Copy to Clipboard Toggle word wrap
  2. 导航到 OpenShift Web 控制台。
  3. 单击左侧导航栏中的 Operators
  4. 选择 Installed Operators
  5. 在窗口中点击 OpenShift Container Storage Operator:
  6. 在顶部导航栏中,滚动右滚动并单击 Storage Cluster 选项卡。
  7. 点可见列表旁边的(⋮)来扩展选项菜单。
  8. 从选项菜单中选择 Add Capacity

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

  9. Add 并等待集群状态变为 Ready

验证步骤

  1. 导航到 OverviewPersistent Storage 选项卡,然后检查 Capacity 分类 卡。

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

    注意

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

重要

目前不支持集群缩减,无论是否要通过移除节点或 OSD 来实现缩减。

使用这个步骤在 IBM Power Systems 基础架构上配置的基于 OpenShift Container Storage worker 节点的本地存储中添加存储容量(额外存储设备)。

先决条件

  • 您必须登录 OpenShift Container Platform (RHOCP) 集群。
  • 您必须已安装了本地存储 operator。请使用以下步骤,请参阅

  • 您必须有三个 OpenShift Container Platform worker 节点,并附加到每个节点(如 0.5TB SSD),因为使用了原始的 OpenShift Container StorageCluster。

流程

  1. 要在安装了 OpenShift Container Storage 的 OpenShift Container Platform 节点中添加存储容量,您需要

    1. 添加一个新磁盘,它是 Openshift Container Platform(RHOCP)集群中每个 worker 节点最少有一个设备。
    2. 通过运行 lsblk 内部节点,检查新磁盘是否已添加到节点。

      $ oc debug node/worker-0
      $lsblk
      Copy to Clipboard Toggle word wrap

      输出示例:

      Creating debug namespace/openshift-debug-node-ggrqr ...
      Starting pod/worker-2-debug ...
      To use host binaries, run `chroot /host`
      Pod IP: 192.168.88.23
      If you don't see a command prompt, try pressing enter.
      sh-4.4# chroot /host
      sh-4.4# lsblk
      NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      loop0                          7:0    0  256G  0 loop
      vda                          252:0    0   40G  0 disk
      |-vda1                       252:1    0    4M  0 part
      |-vda2                       252:2    0  384M  0 part /boot
      `-vda4                       252:4    0 39.6G  0 part
        `-coreos-luks-root-nocrypt 253:0    0 39.6G  0 dm   /sysroot
      vdb                          252:16   0  512B  1 disk
      vdc                          252:32   0  256G  0 disk
      vdd                          252:48   0  256G  0 disk
      sh-4.4#
      sh-4.4#
      Removing debug pod ...
      Removing debug namespace/openshift-debug-node-ggrqr ...
      Copy to Clipboard Toggle word wrap
    3. 新添加的磁盘将自动由 LocalVolumeSet 发现。
  2. 显示新创建的 PV,其 storageclass 名称用于 localVolumeSet CR。

    $ oc get pv | grep localblock | grep Available
    Copy to Clipboard Toggle word wrap

    输出示例:

    local-pv-290020c2   256Gi   RWO     Delete  Available   localblock      2m35s
    local-pv-7702952c   256Gi   RWO     Delete  Available   localblock      2m27s
    local-pv-a7a567d    256Gi   RWO     Delete  Available   localblock      2m22s
    ...
    Copy to Clipboard Toggle word wrap

    有三个可用的 PV 大小(它将用于新的 OSD)。

  3. 导航到 OpenShift Web 控制台。
  4. 点左侧导航栏上的 Operator
  5. 选择 Installed Operators
  6. 在窗口中点击 OpenShift Container Storage Operator:
  7. 在顶部导航栏中,滚动右滚动并单击 Storage Cluster 选项卡。
  8. 可见列表中应当只有一个项目。点击最右侧的(⋮)来扩展选项菜单。
  9. 从选项菜单中选择 Add Capacity

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

  10. 完成设置后,点 Add。您可能需要等待几分钟,以便存储集群达到 Ready 状态。
  11. 验证新 OSD 及其对应的新 PVC 是否已创建。

    $ oc get -n openshift-storage pods -l app=rook-ceph-osd
    Copy to Clipboard Toggle word wrap

    输出示例:

    NAME                               READY   STATUS    RESTARTS   AGE
    rook-ceph-osd-0-6f8655ff7b-gj226   1/1     Running   0          1h
    rook-ceph-osd-1-6c66d77f65-cfgfq   1/1     Running   0          1h
    rook-ceph-osd-2-69f6b4c597-mtsdv   1/1     Running   0          1h
    rook-ceph-osd-3-c784bdbd4-w4cmj    1/1     Running   0          5m
    rook-ceph-osd-4-6d99845f5b-k7f8n   1/1     Running   0          5m
    rook-ceph-osd-5-fdd9897c9-r9mgb    1/1     Running   0          5m
    Copy to Clipboard Toggle word wrap

    在上例中,osd-3、osd-4 和 osd-5 是新添加的 pod 到 OpenShift Container Storage 集群。

    $ oc get pvc -n openshift-storage |grep localblock
    Copy to Clipboard Toggle word wrap

    输出示例:

    ocs-deviceset-localblock-0-data-0-sfsgf   Bound    local-pv-8137c873      256Gi     RWO    localblock  1h
    ocs-deviceset-localblock-0-data-1-qhs9m   Bound    local-pv-290020c2      256Gi     RWO    localblock  10m
    ocs-deviceset-localblock-1-data-0-499r2   Bound    local-pv-ec7f2b80      256Gi     RWO    localblock  1h
    ocs-deviceset-localblock-1-data-1-p9rth   Bound    local-pv-a7a567d       256Gi     RWO    localblock  10m
    ocs-deviceset-localblock-2-data-0-8pzjr   Bound    local-pv-1e31f771      256Gi     RWO    localblock  1h
    ocs-deviceset-localblock-2-data-1-7zwwn   Bound    local-pv-7702952c      256Gi     RWO    localblock  10m
    Copy to Clipboard Toggle word wrap

    在上例中,我们看到创建了三个新 PVC。

验证步骤

  1. 导航到 OverviewPersistent Storage 选项卡,然后检查 Capacity 分类 卡。

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

    注意

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

重要

OpenShift Container Storage 不支持通过减少 OSD 或减少节点来减少集群。

第 3 章 横向扩展存储容量

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

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

OpenShift Container Storage 不支持异构 OSD 大小。

3.1. 添加节点

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

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

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

使用此要求在以下安装程序置备的基础架构中添加节点:

  • AWS
  • Azure
  • Red Hat Virtualization

先决条件

  • 您必须登录 OpenShift Container Platform (RHOCP) 集群。

流程

  1. 导航到 ComputeMachine Sets
  2. 在您要添加节点的机器集中,选择 Edit Machine Count
  3. 添加节点数量,然后点 Save
  4. ComputeNodes 并确认新节点是否处于 Ready 状态
  5. 将 OpenShift Container Storage 标签应用到新节点。

    1. 对于新节点,Action menu (⋮)Edit Labels
    2. 添加 cluster.ocs.openshift.io/openshift-storage 并点 Save
注意

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

验证步骤

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

使用此流程在 AWS 或 VMware 用户置备的基础架构中添加节点。

先决条件

  • 您必须登录 OpenShift Container Platform (RHOCP) 集群。

流程

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

    • 对于 AWS

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

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

    $ oc get csr
    Copy to Clipboard Toggle word wrap
  3. 为新节点批准所有所需的 OpenShift Container Storage CSR:

    $ oc adm certificate approve <Certificate_Name>
    Copy to Clipboard Toggle word wrap
  4. ComputeNodes,确认新节点是否处于 Ready 状态
  5. 使用以下任一方法之一将 OpenShift Container Storage 标签应用到新节点:

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

      $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
      Copy to Clipboard Toggle word wrap
      注意

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

验证步骤

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

使用此流程在以下中添加节点:

  • 裸机
  • IBM Power 系统
  • IBM Z 或 LinuxONE
  • Amazon EC2
  • VMware
  • Red Hat Virtualization
重要

为 Amazon EC2 基础架构扩展存储节点是一项技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

先决条件

  • 您必须登录 OpenShift Container Platform (RHOCP) 集群。
  • 您必须有三个存储类型和大小相同的 OpenShift Container Platform worker 节点(例如,2TB SSD 或 2TB NVMe 驱动器),与原始 OpenShift Container Storage StorageCluster 创建时相同。
  • 如果您从以前的 OpenShift Container Storage 版本升级且还没有创建 LocalVolumeDiscovery 对象,按照本地存储支持的集群 所述步骤进行操作。
  • 如果您已经从以前的 OpenShift Container Storage 版本升级,且还没有创建 LocalVolumeSet 对象来启用自动置备设备,现在按照 由本地存储支持的集群 所述步骤进行操作。

流程

  1. 根据您要在裸机、IBM Power Systems、IBM Z 或 LinuxONE、Amazon EC2、VMware 基础架构还是 Red Hat Virtualization 平台上添加节点,请执行以下步骤:

    • 对于 Amazon EC2

      1. 使用所需基础架构创建新的 Amazon EC2 I3 机器实例。请参阅 在 AWS 和 Platform 要求 中创建 MachineSet
      2. 使用新的 Amazon EC2 I3 机器实例来创建新的 OpenShift Container Platform 节点。
    • 对于 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 Power 系统:

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

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

    $ oc get csr
    Copy to Clipboard Toggle word wrap
  3. 为新节点批准所有所需的 OpenShift Container Storage CSR:

    $ oc adm certificate approve <Certificate_Name>
    Copy to Clipboard Toggle word wrap
  4. ComputeNodes,确认新节点是否处于 Ready 状态
  5. 使用以下任一方法之一将 OpenShift Container Storage 标签应用到新节点:

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

      $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
      Copy to Clipboard Toggle word wrap
  6. 从 OpenShift Web 控制台中点 OperatorsInstalled Operators

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

  7. Local Storage
  8. Local Volume Discovery 选项卡。
  9. LocalVolumeDiscovery 旁边,点 Action 菜单 (⋮)Edit Local Volume Discovery
  10. 在 YAML 中,将新节点的主机名添加到节点选择器下的 values 字段中。
  11. 点击 Save
  12. Local Volume Sets 选项卡。
  13. LocalVolumeSet 旁边,点 Action 菜单 (⋮)Edit Local Volume Set
  14. 在 YAML 中,将新节点的主机名添加到节点选择器下的 values 字段中。

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

  15. 点击 Save
注意

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

验证步骤

3.1.4. 验证新节点的添加

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

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
    Copy to Clipboard Toggle word wrap
  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 的容量。但是,您需要确保以集群保持平衡的方式添加磁盘。

仅支持内部附加存储集群创建模式才支持灵活扩展。灵活扩展存储集群仅适用于新的 Red Hat OpenShift Container Storage 4.7,不适用于升级的集群。

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

重要

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

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

要验证是否在存储集群中启用了灵活的扩展,请执行以下步骤:

  1. OpenShift Container Storage Operator。
  2. Storage Cluster 选项卡。
  3. 点存储集群旁的操作菜单 (⋮)。
  4. Edit Storage Cluster。您将被重定向到 YAML。
  5. 在 YAML 中,在 spec 部分搜索 flexibleScaling 键,并在 status 部分搜索 failureDomain。如果 flexible scaling 为 true,failureDomain 被设置为 host,则启用灵活的扩展功能。

    spec:
    flexibleScaling: true
    […]
    status:
    failureDomain: host
    Copy to Clipboard Toggle word wrap
3.2.2.2. 在 1 个 OSD 的倍数中使用 YAML 添加容量

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

先决条件

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

流程

  1. OperatorsInstalled Operators 查看所有已安装的 Operator。确保选中的项目为 openshift-storage。
  2. OpenShift Container Storage operator。
  3. Storage Cluster 选项卡
  4. 点击您要扩展的存储集群旁的操作菜单 (⋮)。
  5. Edit Storage Cluster。您将被重定向到 YAML。
  6. 在 YAML 中,搜索键 计数。此计数参数可向上扩展容量。
  7. 将数量增加到您要添加到集群的 OSD 数量。

    重要

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

  8. 点击 Save

您可能需要等待几分钟,以便存储集群达到 Ready 状态。

验证步骤

  • 导航到 OverviewPersistent Storage 选项卡,然后检查 Raw Capacity breakdown 卡。

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

    注意

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

  • 验证新 OSD 及其对应的新 PVC 是否已创建。

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

      1. 从 OpenShift Web 控制台点 WorkloadsPods
      2. Project 下拉列表中选择 openshift-storage
    • 查看 PVC 的状态:

      1. 从 OpenShift Web 控制台点 StoragePersistent Volume Claims
      2. Project 下拉列表中选择 openshift-storage
  • (可选)如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

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

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD pod name>
      Copy to Clipboard Toggle word wrap

      例如:

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

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

        $ oc debug node/<node name>
        $ chroot /host
        Copy to Clipboard Toggle word wrap
      2. 运行 "lsblk" 并检查 ocs-deviceset 名旁边的 "crypt" 关键字。

        $ lsblk
        Copy to Clipboard Toggle word wrap
重要

OpenShift Container Storage 不支持通过减少 OSD 或减少节点来减少集群。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat