更新 OpenShift Container Storage

Red Hat OpenShift Container Storage 4.7

集群和存储管理员的说明

摘要

本文档介绍如何更新 Red Hat OpenShift Container Storage。

使开源包含更多

红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始: master、slave、blacklist 和 whitelist。这些更改将在即将发行的几个发行本中逐渐实施。如需了解更多详细信息,请参阅 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

第 1 章 OpenShift Container Storage 更新过程概述

您可以在次版本(如 4.6 和 4.7)间升级 Red Hat OpenShift Container Storage 及其组件,也可以在 4.7.0 和 4.7.1 等批处理更新间升级。

您需要以特定的顺序升级 OpenShift Container Storage 的不同部分。

  1. 根据 OpenShift Container Platform 更新集群文档更新 OpenShift Container Platform。
  2. 更新 OpenShift 容器平台存储.

    1. 要准备断开连接的环境以获取更新,请参阅 Operator 指南,在受限网络中使用 Operator Lifecycle Manager,以便在使用时能够更新 Openshift Container Storage 和 Local Storage Operator。
    2. 使用适合您的设置的流程更新 OpenShift Container Storage operator

    3. 如果使用本地存储:

      1. 更新 Local Storage operator

        如果您不确定,请参阅检查 Local Storage Operator 部署

      2. 为由本地存储支持的集群执行更新后配置更改

        详情请参阅由本地存储支持的集群的 Post-update 配置

更新注意事项

开始之前,请先查阅以下重要注意事项:

  • 红帽建议在 Red Hat OpenShift Container Storage 中使用同一版本的 Red Hat OpenShift Container Platform。

    如需有关 OpenShift Container Platform 和 OpenShift Container Storage 组合的更多信息,请参阅Interoperability Matrix

  • 只有在 Local Storage Operator 版本与 Red Hat OpenShift Container Platform 版本匹配时,才会完全支持 Local Storage Operator。

第 2 章 OpenShift Container Storage 升级频道和发行版本

在 OpenShift Container Platform 4.1 中,红帽引进了升级频道的概念,用于为集群升级推荐适当的版本。通过控制升级的速度,这些升级频道允许您选择升级策略。当 OpenShift Container Storage 在 OpenShift Container Platform 中被部署为 Operator 时,它遵循相同的策略来控制升级的速度,方法是在多个频道中提供修复程序。升级频道与 OpenShift Container Storage 的次要版本关联。例如,OpenShift Container Storage 4.7 升级频道建议从 4.6 升级到 4.7,并在 4.7 中升级。它们不推荐升级到 4.8 或更高版本。此策略可确保管理员可以明确决定升级到下一个 OpenShift Container Storage 次要版本。

升级频道仅控制版本选择,不会影响安装的集群版本; ocs-operator 决定要安装的 OpenShift Container Storage 版本。开箱即用,它会始终安装最新的 OpenShift Container Storage 发行版本,维护与 OpenShift Container Platform 的兼容性。因此,在 OpenShift Container Platform 4.7 中,OpenShift Container Storage 4.7 是可安装的最新版本。

OpenShift Container Storage 升级与 OpenShift Container Platform 升级相关联,以确保与 OpenShift Container Platform 保持兼容性和互操作性。对于 OpenShift Container Storage 4.7,支持 OpenShift Container Platform 4.7 和 4.8。OpenShift Container Platform 4.8 支持保持与 OpenShift Container Platform 的正向兼容性。使 OpenShift Container Storage 版本与 OpenShift Container Platform 相同,以便获得该发行版本中的所有功能和增强功能。

OpenShift Container Platform 4.7 提供了以下升级频道:

  • stable-4.7

    stable-4.7 频道
    新版本正式发布后,与次版本对应的 stable 频道将使用可用于升级的新镜像进行更新。您可以使用 stable-4.7 频道从 OpenShift Container Storage 4.6 和 4.7 中进行升级。

第 3 章 以内部模式更新 OpenShift Container Storage

使用以下步骤更新以内部模式部署的 OpenShift Container Storage 集群。

3.1. 以内部模式启用 OpenShift Container Storage Operator 的自动更新

使用这个流程在 OpenShift Container Platform 中启用自动更新批准来更新 OpenShift Container Storage Operator。

先决条件

  • Status 卡中的 Persistent Storage 下,确认 OCS 集群和 Data Resiliency 有绿色的勾号。
  • Status 卡中的 Object Service 下,确认 Object ServiceData Resiliency 处于 Ready 状态(绿色勾选)。
  • 将 OpenShift Container Platform 集群更新至版本 4.7.Y 的最新稳定版本,请参阅更新集群
  • 将 Red Hat OpenShift Container Storage 频道从 stable-4.6 切换到 stable-4.7。有关频道的详情,请参阅 OpenShift Container Storage 升级频道和发行版本

    注意

    您只需要在更新次版本(例如从 4.6 更新至 4.7)时切换频道,且不需要在 4.7 的批处理更新(例如从 4.7.0 更新至 4.7.1)之间更新时进行更新。

  • 确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在 openshift-storage 命名空间中 处于 Running 状态

    要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 WorkloadsPods。从 Project 下拉列表中,选择 openshift-storage

  • 确保您有足够的时间完成 Openshift Container Storage 更新过程,因为更新时间因集群中运行的 OSD 数量而异。

流程

  1. 登录 OpenShift Web 控制台。
  2. OperatorsInstalled Operators
  3. 选择 openshift-storage 项目。
  4. 点 OpenShift Container Storage operator 名称。
  5. 单击 Subscription 选项卡,再单击 Approval 下的 链接。
  6. 选择 Automatic(default) 并点 Save
  7. 根据 Upgrade Status 执行以下操作之一:

    • 升级状态 显示 需要批准

      注意

      如果频道中已检测到新的 OpenShift Container Storage 版本,且更新时已将批准策略从 Manual 改为 Automatic ,则升级状态会显示为需要批准

      1. 单击 Install Plan 链接。
      2. InstallPlan Details 页面中点 Preview Install Plan
      3. 检查安装计划并单击 Approve
      4. 等待 StatusUnknown 更改为 Created
      5. OperatorsInstalled Operators
      6. 选择 openshift-storage 项目。
      7. 等待 Status 更改为 Up to date
    • 升级状态 不需要 批准

      1. 等待更新启动。这可能需要长达 20 分钟。
      2. OperatorsInstalled Operators
      3. 选择 openshift-storage 项目。
      4. 等待 Status 更改为 Up to date
注意

因为 NooBaa DB 从 MongoDB 迁移到 PostgreSQL,所以在升级过程中预期会出现多云对象网关中断时间。

验证步骤

  1. Overview → Persistent Storage 选项卡,在 Status 卡中确认 OCS ClusterData Resiliency 有绿色的勾号表示它健康。
  2. Overview → Object Service 选项卡,并在 Status 卡中确认 Object ServiceData Resiliency 处于 Ready 状态(绿色勾选)代表它健康。
  3. OperatorsInstalled OperatorsOpenShift Container Storage Operator。在 Storage Cluster 下,验证集群服务状态是否为 Ready

    注意

    从 OpenShift Container Storage 版本 4.6 更新至 4.7 后,此处的 Version 字段仍将显示 4.6。这是因为 ocs-operator 不会更新此字段中代表的字符串。

  4. 确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在 openshift-storage 命名空间中 处于 Running 状态

    要查看 pod 的状态,请点击 WorkloadsPods。从 Project 下拉列表中,选择 openshift-storage

  5. 如果验证步骤失败,请联系红帽支持
注意

灵活的扩展功能仅在 Red Hat OpenShift Container Storage 4.7 的新部署中可用。升级到 4.7 版本的存储集群不支持灵活的扩展。

其它资源

如果您在更新 OpenShift Container Storage 时遇到任何问题,请参阅故障排除指南中的常见所需日志 进行故障排除部分

3.2. 以内部模式手动更新 OpenShift Container Storage Operator

通过向安装计划提供手动批准来更新 OpenShift Container Storage Operator。

先决条件

  • Status 卡中的 Persistent Storage 下,确认 OCS 集群和 Data Resiliency 有绿色的勾号。
  • Status 卡中的 Object Service 下,确认 Object ServiceData Resiliency 处于 Ready 状态(绿色勾选)。
  • 将 OpenShift Container Platform 集群更新至版本 4.7.Y 的最新稳定版本,请参阅更新集群
  • 将 Red Hat OpenShift Container Storage 频道从 stable-4.6 切换到 stable-4.7。有关频道的详情,请参阅 OpenShift Container Storage 升级频道和发行版本

    注意

    您只需要在更新次版本(例如从 4.6 更新至 4.7)时切换频道,且不需要在 4.7 的批处理更新(例如从 4.7.0 更新至 4.7.1)之间更新时进行更新。

  • 确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在 openshift-storage 命名空间中 处于 Running 状态

    要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 WorkloadsPods。从 Project 下拉列表中,选择 openshift-storage

  • 确保您有足够的时间完成 Openshift Container Storage 更新过程,因为更新时间因集群中运行的 OSD 数量而异。

流程

  1. 登录 OpenShift Web 控制台。
  2. OperatorsInstalled Operators
  3. 选择 openshift-storage 项目。
  4. OpenShift Container Storage operator 名称。
  5. 单击 Subscription 选项卡,再单击 Approval 下的 链接。
  6. 选择 Manual,然后单击 Save
  7. 等待 Upgrade Status 更改为 Upgrading
  8. 如果 Upgrade Status 显示需要批准,请单击 require approval
  9. InstallPlan Details 页面中点 Preview Install Plan
  10. 检查安装计划并单击 Approve
  11. 等待 StatusUnknown 更改为 Created
  12. OperatorsInstalled Operators
  13. 选择 openshift-storage 项目。
  14. 等待 Status 更改为 Up to date
注意

因为 NooBaa DB 从 MongoDB 迁移到 PostgreSQL,所以在升级过程中预期会出现多云对象网关中断时间。

验证步骤

  1. Overview → Persistent Storage 选项卡,在 Status 卡中确认 OCS ClusterData Resiliency 有绿色的勾号表示它健康。
  2. Overview → Object Service 选项卡,并在 Status 卡中确认 Object ServiceData Resiliency 处于 Ready 状态(绿色勾选)代表它健康。
  3. OperatorsInstalled OperatorsOpenShift Container Storage Operator。在 Storage Cluster 下,验证集群服务状态是否为 Ready

    注意

    从 OpenShift Container Storage 版本 4.6 更新至 4.7 后,此处的 Version 字段仍将显示 4.6。这是因为 ocs-operator 不会更新此字段中代表的字符串。

  4. 确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在 openshift-storage 命名空间中 处于 Running 状态

    要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 WorkloadsPods。从 Project 下拉列表中,选择 openshift-storage

  5. 如果验证步骤失败,请联系红帽支持

其它资源

如果您在更新 OpenShift Container Storage 时遇到任何问题,请参阅故障排除指南中的常见所需日志 进行故障排除部分

第 4 章 以外部模式更新 OpenShift Container Storage

使用以下步骤更新以外部模式部署的 OpenShift Container Storage 集群。

重要

升级 Red Hat OpenShift Container Storage Operator 不会升级外部 Red Hat Ceph Storage 集群。它只升级在 OpenShift Container Platform 上运行的 Red Hat OpenShift Container Storage Services。

若要升级外部红帽 Ceph 存储集群,请联络您的红帽 Ceph 存储管理员。

4.1. 以外部模式为 OpenShift Container Storage Operator 启用自动更新

使用这个流程在 OpenShift Container Platform 中启用自动更新批准来更新 OpenShift Container Storage Operator。

注意

更新 OpenShift Container Storage 不会更新外部 Red Hat Ceph Storage 集群。

先决条件

  • 外部集群需要 Red Hat Ceph Storage 版本 4.2z1 或更高版本。如需更多信息,请参阅有关红帽 Ceph 存储发行版和相应 Ceph 软件包版本的知识库文章
  • 将 OpenShift Container Platform 集群更新至版本 4.7.y 的最新稳定版本,请参阅更新集群
  • 将 Red Hat OpenShift Container Storage 频道从 stable-4.6 切换到 stable-4.7。有关频道的详情,请参阅 OpenShift Container Storage 升级频道和发行版本

    注意

    您只需要在更新次版本(例如从 4.6 更新至 4.7)时切换频道,且不需要在 4.7 的批处理更新(例如从 4.7.0 更新至 4.7.1)之间更新时进行更新。

  • 确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在 openshift-storage 命名空间中 处于 Running 状态

    要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage

  • Status 卡中的 Persistent Storage 下,确认 OCS 集群具有 绿色勾号。
  • Status 卡中的 Object Service 下,确认 Object ServiceData Resiliency 处于 Ready 状态(绿色勾选)。
  • 确保有足够的时间完成 Openshift Container Storage 更新过程。

流程

  1. 登录 OpenShift Web 控制台。
  2. OperatorsInstalled Operators
  3. 选择 openshift-storage 项目。
  4. 点 OpenShift Container Storage operator 名称。
  5. 单击 Subscription 选项卡,再单击 Approval 下的 链接。
  6. 选择 Automatic(default) 并点 Save
  7. 根据 Upgrade Status 执行以下操作之一:

    • 升级状态显示 需要批准

      注意

      如果频道中已检测到新的 OpenShift Container Storage 版本,且更新时已将批准策略从 Manual 改为 Automatic ,则升级状态会显示为需要批准

      1. 单击 Install Plan 链接。
      2. InstallPlan Details 页面中点 Preview Install Plan
      3. 检查安装计划并单击 Approve
      4. 等待 StatusUnknown 更改为 Created
      5. OperatorsInstalled Operators
      6. 选择 openshift-storage 项目。
      7. 等待 Status 更改为 Up to date
    • 升级状态不需要 批准

      1. 等待更新启动。这可能需要长达 20 分钟。
      2. OperatorsInstalled Operators
      3. 选择 openshift-storage 项目。
      4. 等待 Status 更改为 Up to date
注意

因为 NooBaa DB 从 MongoDB 迁移到 PostgreSQL,所以在升级过程中预期会出现多云对象网关中断时间。

验证步骤

  1. Overview → Persistent Storage 选项卡,在 Status 卡中,确认 OCS Cluster 有绿色勾号表示它健康。
  2. Overview → Object Service 选项卡,并在 Status 卡中确认 Object ServiceData Resiliency 处于 Ready 状态(绿色勾选)代表它健康。
  3. OperatorsInstalled OperatorsOpenShift Container Storage Operator。在 Storage Cluster 下,验证集群服务的状态 是否为 Ready

    注意

    从 OpenShift Container Storage 版本 4.6 更新至 4.7 后,此处的 Version 字段仍将显示 4.6。这是因为 ocs-operator 不会更新此字段中代表的字符串。

  4. 确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在 openshift-storage 命名空间中处于 Running 状态

    要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 Workloads → Pods。从 Project 下拉列表中,选择 openshift-storage

  5. 如果验证步骤失败,请联系红帽支持

其它资源

如果您在更新 OpenShift Container Storage 时遇到任何问题,请参阅故障排除指南中的常见所需日志 进行故障排除部分

4.2. 以外部模式手动更新 OpenShift Container Storage Operator

通过向安装计划提供手动批准来更新 OpenShift Container Storage Operator。

注意

更新 OpenShift Container Storage 不会更新外部 Red Hat Ceph Storage 集群。

先决条件

  • 外部集群需要 Red Hat Ceph Storage 版本 4.2z1 或更高版本。如需更多信息,请参阅有关红帽 Ceph 存储发行版和相应 Ceph 软件包版本的知识库文章
  • 将 OpenShift Container Platform 集群更新至版本 4.7.Y 的最新稳定版本,请参阅更新集群
  • 将 Red Hat OpenShift Container Storage 频道从 stable-4.6 切换到 stable-4.7。有关频道的详情,请参阅 OpenShift Container Storage 升级频道和发行版本

    注意

    您只需要在更新次版本(例如从 4.6 更新至 4.7)时切换频道,且不需要在 4.7 的批处理更新(例如从 4.7.0 更新至 4.7.1)之间更新时进行更新。

  • 确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在 openshift-storage 命名空间中处于 Running 状态

    要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 WorkloadsPods。从 Project 下拉列表中,选择 openshift-storage

  • Status 卡中的 Persistent Storage 下,确认 OCS 集群具有 绿色勾号。
  • Status 卡中的 Object Service 下,确认 Object ServiceData Resiliency 处于 Ready 状态(绿色勾选)。
  • 确保有足够的时间完成 Openshift Container Storage 更新过程。

流程

  1. 登录 OpenShift Web 控制台。
  2. OperatorsInstalled Operators
  3. 选择 openshift-storage 项目。
  4. OpenShift Container Storage operator 名称。
  5. 单击 Subscription 选项卡,再单击 Approval 下的 链接。
  6. 选择 Manual,然后单击 Save
  7. 等待 Upgrade Status 更改为 Upgrading
  8. 如果 Upgrade Status 显示需要批准,请单击 require approval
  9. InstallPlan Details 页面中点 Preview Install Plan
  10. 检查安装计划并单击 Approve
  11. 等待 StatusUnknown 更改为 Created
  12. OperatorsInstalled Operators
  13. 选择 openshift-storage 项目。
  14. 等待 Status 更改为 Up to date
注意

因为 NooBaa DB 从 MongoDB 迁移到 PostgreSQL,所以在升级过程中预期会出现多云对象网关中断时间。

验证步骤

  1. Overview → Persistent Storage 选项卡,在 Status 卡中,确认 OCS Cluster 有绿色勾号表示它健康。
  2. Overview → Object Service 选项卡,并在 Status 卡中确认 Object ServiceData Resiliency 处于 Ready 状态(绿色勾选)代表它健康。
  3. OperatorsInstalled OperatorsOpenShift Container Storage Operator。在 Storage Cluster 下,验证集群服务的状态 是否为 Ready
  4. 确保所有 OpenShift Container Storage Pod(包括 Operator Pod)在 openshift-storage 命名空间中处于 Running 状态

    要查看 pod 的状态,请点击 OpenShift Web 控制台左侧窗格中的 WorkloadsPods。从 Project 下拉列表中,选择 openshift-storage

    注意

    从 OpenShift Container Storage 版本 4.6 更新至 4.7 后,此处的 Version 字段仍将显示 4.6。这是因为 ocs-operator 不会更新此字段中代表的字符串。

  5. 如果验证步骤失败,请联系红帽支持

其它资源

如果您在更新 OpenShift Container Storage 时遇到任何问题,请参阅故障排除指南中的常见所需日志 进行故障排除部分

第 5 章 向预先存在的后备存储中添加注解

向预先存在的后备存储中添加正确的注解可让对象网关(RGW)支持的后备存储报告其实际和可用大小。Multicloud 对象网关(MCG)可以检索和使用这些信息。

流程

  1. 登录 OpenShift Container Platform Web 控制台。
  2. Home → Search
  3. Resources 中搜索 BackingStore,然后单击它。
  4. S3 兼容 BackingStore 旁边,点 Action Menu(⋮)→ Edit annotations
  5. KEY 添加 rgw
  6. Save

后续步骤

对于由本地存储支持的集群,需要在更新后执行额外的配置步骤,以确保所有功能都能按预期工作。

如需更多信息,请参阅由本地存储支持的集群的更新后配置更改

第 6 章 由本地存储支持的集群更新后配置更改

在由本地存储支持的集群中,需要在更新后执行额外的配置步骤,以确保所有功能都能按预期工作。在 Red Hat OpenShift Container Platform 4.6 及之后,Local Storage Operator 提供了新的自定义资源类型来管理本地存储:

  • LocalVolumeDiscovery
  • LocalVolumeSet

这些资源类型不会作为之前版本更新的一部分自动处理,必须手动创建。

注意

如果您已在从 4.5 升级到 4.6 后创建了这些资源,则不需要在从 4.6 升级到 4.7 后创建这些资源。

6.1. 使用命令行创建 LocalVolumeDiscovery 自定义资源

创建 LocalVolumeDiscovery 自定义资源,以确保设备管理用户界面可以发现本地设备的状态,并提供有关集群节点中可用设备的信息。

先决条件

  • 对 OpenShift Container Platform 集群的管理访问权限。

流程

  1. 识别安装 OpenShift 本地存储 Operator 的命名空间,并将其分配给 local_storage_project 变量:

    $ local_storage_project=$(oc get csv --all-namespaces | awk '{print $1}' | grep local)

    例如:

    $ local_storage_project=$(oc get csv --all-namespaces | awk '{print $1}' | grep local)
    echo $local_storage_project
    openshift-local-storage
  2. 更改到安装了 Local Storage Operator 的项目。

    $ oc project $local_storage_project
  3. 定义 LocalVolumeDiscovery 自定义资源。

    例如,在 local-volume-discovery.yaml 文件中定义以下内容:

    apiVersion: local.storage.openshift.io/v1alpha1
    kind: LocalVolumeDiscovery
    metadata:
      name: auto-discover-devices
    spec:
      nodeSelector:
        nodeSelectorTerms:
          - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                  - worker1.example.com
                  - worker2.example.com
                  - worker3.example.com
  4. 创建 LocalVolumeDiscovery 自定义资源。

    $ oc create -f local-volume-discovery.yaml

验证步骤

  1. 登录 OpenShift Web 控制台。
  2. ComputeNode,然后点击节点的名称。
  3. 点击 Disks 选项卡,检查您是否可以看到该节点上可用的设备。

6.2. 使用命令行创建 LocalVolumeSet 自定义资源

创建 LocalVolumeSet 自定义资源,根据您指定的条件自动将某些存储设备置备为持久性卷。对于任何符合 nodeSelector 条件的节点中的 deviceInclusionSpec 条件的设备都会创建持久性卷。

先决条件

  • 对 OpenShift Container Platform 集群的管理访问权限。

流程

  1. local-volume-set.yaml 文件中定义 LocalVolumeSet 自定义资源。

    apiVersion: local.storage.openshift.io/v1alpha1
    kind: LocalVolumeSet
    metadata:
      name: localblock
    spec:
      nodeSelector:
        nodeSelectorTerms:
          - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                  - worker1.example.com
                  - worker2.example.com
                  - worker3.example.com
      storageClassName: localblock
      volumeMode: Block
      maxDeviceCount: 10 # optional, limit devices provisioned per node
      deviceInclusionSpec:
        deviceTypes: # list of types to allow
          - disk
          - part # omit this to use only whole devices
        deviceMechanicalProperty:
          - NonRotational
        minSize: 100Gi # optional, minimum size of device to allow
        maxSize: 100Ti # optional, maximum size of device to allow
        models: # (optional) list of models to allow
          - SAMSUNG
          - Crucial_CT525MX3
        vendors: # (optional) list of device vendors to allow
          - ATA
          - ST2000LM

    以上定义从 worker 1、worker2 和 worker 3 节点选择特定类型的非轮转设备上的整个磁盘或分区,这些分区的大小为 100 GB 到 100 TB。创建 本地块存储 类,并从发现的设备置备持久性卷。

    重要

    minSize 选择一个适当的值,以确保未选择系统分区。

  2. 创建 LocalVolumeSet

    $ oc create -f local-volume-set.yaml

验证步骤

  1. 使用以下命令,跟踪与 deviceInclusionSpec 匹配的设备的持久性卷置备。调配持久卷可能需要几分钟时间。

    $ oc describe localvolumeset localblock
    [...]
    Status:
      Conditions:
        Last Transition Time:          2020-11-17T05:03:32Z
        Message:                       DiskMaker: Available, LocalProvisioner: Available
        Status:                        True
        Type:                          DaemonSetsAvailable
        Last Transition Time:          2020-11-17T05:03:34Z
        Message:                       Operator reconciled successfully.
        Status:                        True
        Type:                          Available
      Observed Generation:             1
      Total Provisioned Device Count: 4
    Events:
    Type    Reason      Age          From                Message
    ----    ------      ----         ----                -------
    Normal  Discovered  2m30s (x4    localvolumeset-     ip-10-0-147-124.us-east-
            NewDevice   over 2m30s)  symlink-controller  2.compute.internal -
                                                         found possible matching
                                                         disk, waiting 1m to claim
    Normal  FoundMatch  89s (x4      localvolumeset-     ip-10-0-147-124.us-east-
            ingDisk     over 89s)    symlink-controller  2.compute.internal -
                                                         symlinking matching disk
  2. 验证调配的持久卷的状态。

    $ oc get pv
                         ACCESS   RECLAIM             STORAGE
    NAME       CAPACITY  MODES    POLICY   STATUS     CLASS       AGE
    local-pv-  500Gi     RWO      Delete   Available  localblock  7m48s
    3584969f
    local-pv-  500Gi     RWO      Delete   Available  localblock  7m48s
    3aee84fa
    local-pv-  500Gi     RWO      Delete   Available  localblock  7m48s
    644d09ac
    local-pv-  500Gi     RWO      Delete   Available  localblock  7m48s
    c73cee1

6.3. 添加注解

从之前的版本升级到 OpenShift Container Storage 4.7 时,使用此流程为存储集群添加注解,以通过用户界面启用替换失败存储设备的功能。

流程

  1. 登录 OpenShift Container Platform Web 控制台。
  2. HomeSearch
  3. Resources 中搜索 StorageCluster 并点击它。
  4. ocs-storagecluster 旁边,点 Action 菜单 (⋮)Edit annotations
  5. KEYVALUE 添加 cluster.ocs.openshift.io/local-devicestrue
  6. Save