第 1 章 OpenShift Data Foundation 使用动态设备部署


1.1. 在 AWS 上部署的 OpenShift Data Foundation

先决条件

  • 确保替换节点配置类似的基础架构和资源,以用于被替换的节点。
  • 您必须登录到 OpenShift Container Platform 集群。
注意

在用户置备的基础架构中替换 AWS 节点时,需要在与原始节点相同的 AWS 区域中创建新节点。

流程

  1. 确定需要替换的节点。
  2. 将节点标记为不可调度:

    $ oc adm cordon <node_name>
    Copy to Clipboard Toggle word wrap
    <node_name>
    指定替换的节点的名称。
  3. 排空节点:

    $ oc adm drain <node_name> --force --delete-emptydir-data=true --ignore-daemonsets
    Copy to Clipboard Toggle word wrap
    重要

    此活动可能至少需要 5 到 10 分钟或更多。Ceph 周期内生成的 Ceph 错误是临时的,当您标记新节点并且可以正常工作时,会自动解决。

  4. 删除节点:

    $ oc delete nodes <node_name>
    Copy to Clipboard Toggle word wrap
  5. 使用所需的基础架构创建一个新的 Amazon Web Service(AWS)机器实例。请参阅 平台要求
  6. 使用新的 AWS 机器集创建新的 OpenShift Container Platform 节点。
  7. 检查与处于 Pending 状态的 OpenShift Container Platform 相关的证书签名请求(CSR):

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

    $ oc adm certificate approve <certificate_name>
    Copy to Clipboard Toggle word wrap
    <certificate_name>
    指定 CSR 的名称。
  9. Compute Nodes。确认新节点处于 Ready 状态。
  10. 使用以下之一将 OpenShift Data Foundation 标签应用到新节点:

    从用户界面
    1. 对于新节点,点击 Action Menu(⋮) Edit Labels
    2. 添加 cluster.ocs.openshift.io/openshift-storage,然后点 Save
    使用命令行界面
    • 将 OpenShift Data Foundation 标签应用到新节点:
    $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
    Copy to Clipboard Toggle word wrap
    <new_node_name>
    指定新节点的名称。

验证步骤

  1. 验证输出中是否存在新节点:

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
    Copy to Clipboard Toggle word wrap
  2. 点击 Workloads Pods。确认新节点上至少以下 pod 处于 Running 状态:

    • csi-cephfsplugin-*
    • csi-rbdplugin-*
  3. 验证所有其他所需的 OpenShift Data Foundation pod 是否处于 Running 状态。
  4. 验证新的对象存储设备(OSD)pod 是否在替换节点上运行:

    $ oc get pods -o wide -n openshift-storage| egrep -i <new_node_name> | egrep osd
    Copy to Clipboard Toggle word wrap
  5. 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

    对于上一步中标识的每个新节点,请执行以下操作:

    1. 创建 debug pod 并为一个或多个所选主机打开 chroot 环境:

      $ oc debug node/<node_name>
      Copy to Clipboard Toggle word wrap
      $ chroot /host
      Copy to Clipboard Toggle word wrap
    2. 显示可用块设备列表:

      $ lsblk
      Copy to Clipboard Toggle word wrap

      检查一个或多个 ocs-deviceset 名称旁的 crypt 关键字。

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

流程

  1. 登录 OpenShift Web 控制台,再点击 Compute Nodes
  2. 确定需要替换的节点。记录其 Machine Name
  3. 将节点标记为不可调度:

    $ oc adm cordon <node_name>
    Copy to Clipboard Toggle word wrap
    <node_name>
    指定替换的节点的名称。
  4. 排空节点:

    $ oc adm drain <node_name> --force --delete-emptydir-data=true --ignore-daemonsets
    Copy to Clipboard Toggle word wrap
    重要

    此活动可能至少需要 5 到 10 分钟或更多。Ceph 周期内生成的 Ceph 错误是临时的,当您标记新节点并且可以正常工作时,会自动解决。

  5. Compute Machines。搜索所需的机器。
  6. 除了所需机器外,点击 Action 菜单(⋮) Delete Machine
  7. Delete 以确认机器已被删除。会自动创建新机器。
  8. 等待新计算机启动并过渡到 Running 状态。

    重要

    此活动可能至少需要 5 到 10 分钟或更多。

  9. Compute Nodes。确认新节点处于 Ready 状态。
  10. 将 OpenShift Data Foundation 标签应用到新节点:

    从用户界面
    1. 对于新节点,点击 Action Menu(⋮) Edit Labels
    2. 添加 cluster.ocs.openshift.io/openshift-storage,然后点 Save
    使用命令行界面
    • 将 OpenShift Data Foundation 标签应用到新节点:
    $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
    Copy to Clipboard Toggle word wrap
    <new_node_name>
    指定新节点的名称。

验证步骤

  1. 验证输出中是否存在新节点:

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
    Copy to Clipboard Toggle word wrap
  2. 点击 Workloads Pods。确认新节点上至少以下 pod 处于 Running 状态:

    • csi-cephfsplugin-*
    • csi-rbdplugin-*
  3. 验证所有其他所需的 OpenShift Data Foundation pod 是否处于 Running 状态。
  4. 验证新的对象存储设备(OSD)pod 是否在替换节点上运行:

    $ oc get pods -o wide -n openshift-storage| egrep -i <new_node_name> | egrep osd
    Copy to Clipboard Toggle word wrap
  5. 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

    对于上一步中标识的每个新节点,请执行以下操作:

    1. 创建 debug pod 并为一个或多个所选主机打开 chroot 环境:

      $ oc debug node/<node_name>
      Copy to Clipboard Toggle word wrap
      $ chroot /host
      Copy to Clipboard Toggle word wrap
    2. 显示可用块设备列表:

      $ lsblk
      Copy to Clipboard Toggle word wrap

      检查一个或多个 ocs-deviceset 名称旁的 crypt 关键字。

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

先决条件

  • 确保替换节点配置类似的基础架构和资源,以用于被替换的节点。
  • 您必须登录到 OpenShift Container Platform 集群。

流程

  1. 识别您要替换的节点的 Amazon Web Service(AWS)机器实例。
  2. 登录 AWS,再终止您确定的 AWS 机器实例。
  3. 使用所需基础架构创建新的 AWS 机器集。请参阅 平台要求
  4. 使用新的 AWS 机器集创建新的 OpenShift Container Platform 节点。
  5. 检查与处于 Pending 状态的 OpenShift Container Platform 相关的证书签名请求(CSR):

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

    $ oc adm certificate approve <certificate_name>
    Copy to Clipboard Toggle word wrap
    <certificate_name>
    指定 CSR 的名称。
  7. Compute Nodes。确认新节点处于 Ready 状态。
  8. 使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:

    从用户界面
    1. 对于新节点,点击 Action Menu(⋮) Edit Labels
    2. 添加 cluster.ocs.openshift.io/openshift-storage,然后点 Save
    使用命令行界面
    • 执行以下命令,将 OpenShift Data Foundation 标签应用到新节点:
    $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
    Copy to Clipboard Toggle word wrap
    <new_node_name>
    指定新节点的名称。

验证步骤

  1. 验证输出中是否存在新节点:

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
    Copy to Clipboard Toggle word wrap
  2. 点击 Workloads Pods。确认新节点上至少以下 pod 处于 Running 状态:

    • csi-cephfsplugin-*
    • csi-rbdplugin-*
  3. 验证所有其他所需的 OpenShift Data Foundation pod 是否处于 Running 状态。
  4. 验证新的对象存储设备(OSD)pod 是否在替换节点上运行:

    $ oc get pods -o wide -n openshift-storage| egrep -i <new_node_name> | egrep osd
    Copy to Clipboard Toggle word wrap
  5. 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

    对于上一步中标识的每个新节点,请执行以下操作:

    1. 创建 debug pod 并为一个或多个所选主机打开 chroot 环境:

      $ oc debug node/<node_name>
      Copy to Clipboard Toggle word wrap
      $ chroot /host
      Copy to Clipboard Toggle word wrap
    2. 显示可用块设备列表:

      $ lsblk
      Copy to Clipboard Toggle word wrap

      检查一个或多个 ocs-deviceset 名称旁的 crypt 关键字。

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

流程

  1. 登录 OpenShift Web 控制台,再点击 Compute Nodes
  2. 确定有故障的节点,再单击其 Machine Name
  3. 点击 Actions → Edit Annotations,然后点 Add More
  4. 添加 machine.openshift.io/exclude-node-draining 并点 Save
  5. Actions Delete Machine,然后点 Delete
  6. 新机器会自动创建,等待新机器启动。

    重要

    此活动可能至少需要 5 到 10 分钟或更多。Ceph 周期内生成的 Ceph 错误是临时的,当您标记新节点并且可以正常工作时,会自动解决。

  7. Compute Nodes。确认新节点处于 Ready 状态。
  8. 使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:

    从用户界面
    1. 对于新节点,点击 Action Menu(⋮) Edit Labels
    2. 添加 cluster.ocs.openshift.io/openshift-storage,然后点 Save
    使用命令行界面
    • 将 OpenShift Data Foundation 标签应用到新节点:
    $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
    Copy to Clipboard Toggle word wrap
    <new_node_name>
    指定新节点的名称。
  9. 可选: 如果没有自动删除失败的 Amazon Web Service(AWS)实例,请从 AWS 控制台终止实例。

验证步骤

  1. 验证输出中是否存在新节点:

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
    Copy to Clipboard Toggle word wrap
  2. 点击 Workloads Pods。确认新节点上至少以下 pod 处于 Running 状态:

    • csi-cephfsplugin-*
    • csi-rbdplugin-*
  3. 验证所有其他所需的 OpenShift Data Foundation pod 是否处于 Running 状态。
  4. 验证新的对象存储设备(OSD)pod 是否在替换节点上运行:

    $ oc get pods -o wide -n openshift-storage| egrep -i <new_node_name> | egrep osd
    Copy to Clipboard Toggle word wrap
  5. 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

    对于上一步中标识的每个新节点,请执行以下操作:

    1. 创建 debug pod 并为一个或多个所选主机打开 chroot 环境:

      $ oc debug node/<node_name>
      Copy to Clipboard Toggle word wrap
      $ chroot /host
      Copy to Clipboard Toggle word wrap
    2. 显示可用块设备列表:

      $ lsblk
      Copy to Clipboard Toggle word wrap

      检查一个或多个 ocs-deviceset 名称旁的 crypt 关键字。

  6. 如果验证步骤失败,请联系红帽支持团队
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat