1.2. 在 VMware 上部署的 OpenShift Data Foundation


1.2.1. 在用户置备的基础架构中替换可运行的 VMware 节点

先决条件

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

流程

  1. 识别需要替换的节点及其虚拟机(VM)。
  2. 将节点标记为不可调度:

    $ oc adm cordon <node_name>
    <node_name>
    指定替换的节点的名称。
  3. 排空节点:

    $ oc adm drain <node_name> --force --delete-emptydir-data=true --ignore-daemonsets
    重要

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

  4. 删除节点:

    $ oc delete nodes <node_name>
  5. 登录到 VMware vSphere,终止您识别的虚拟机:

    重要

    仅从清单中删除虚拟机,而不从磁盘中删除。

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

    $ oc get csr
  9. 批准新节点所需的所有 OpenShift Container Platform CSR:

    $ oc adm certificate approve <certificate_name>
    <certificate_name>
    指定 CSR 的名称。
  10. Compute Nodes。确认新节点处于 Ready 状态。
  11. 使用以下任一方法之一将 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=""
    <new_node_name>
    指定新节点的名称。

验证步骤

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

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
  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
  5. 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

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

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

      $ oc debug node/<node_name>
      $ chroot /host
    2. 显示可用块设备列表:

      $ lsblk

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

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

1.2.2. 在安装程序置备的基础架构中替换可运行的 VMware 节点

流程

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

    $ oc adm cordon <node_name>
    <node_name>
    指定替换的节点的名称。
  4. 排空节点:

    $ oc adm drain <node_name> --force --delete-emptydir-data=true --ignore-daemonsets
    重要

    此活动可能至少需要 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=""
    <new_node_name>
    指定新节点的名称。

验证步骤

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

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
  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
  5. 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

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

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

      $ oc debug node/<node_name>
      $ chroot /host
    2. 显示可用块设备列表:

      $ lsblk

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

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

1.2.3. 在用户置备的基础架构中替换失败的 VMware 节点

先决条件

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

流程

  1. 找出您要替换的节点及其虚拟机(VM)。
  2. 删除节点:

    $ oc delete nodes <node_name>
    <node_name>
    指定替换的节点的名称。
  3. 登录 VMware vSphere 并终止您确定的虚拟机。

    重要

    仅从清单中删除虚拟机,而不从磁盘中删除。

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

    $ oc get csr
  7. 批准新节点所需的所有 OpenShift Container Platform CSR:

    $ oc adm certificate approve <certificate_name>
    <certificate_name>
    指定 CSR 的名称。
  8. Compute Nodes。确认新节点处于 Ready 状态。
  9. 使用以下任一方法之一将 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=""
    <new_node_name>
    指定新节点的名称。

验证步骤

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

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
  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
  5. 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

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

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

      $ oc debug node/<node_name>
      $ chroot /host
    2. 显示可用块设备列表:

      $ lsblk

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

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

1.2.4. 在安装程序置备的基础架构中替换失败的 VMware 节点

流程

  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=""
    <new_node_name>
    指定新节点的名称。
  9. 可选: 如果没有自动删除失败的虚拟机(VM),请从 VMware vSphere 中终止虚拟机。

验证步骤

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

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
  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
  5. 可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。

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

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

      $ oc debug node/<node_name>
      $ chroot /host
    2. 显示可用块设备列表:

      $ lsblk

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

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

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.