1.3. 在 Red Hat Virtualization 上部署的 OpenShift Data Foundation
1.3.1. 在安装程序置备的基础架构中替换可运行的 Red Hat Virtualization 节点
流程
-
登录 OpenShift Web 控制台,再点击 Compute
Nodes。 - 确定需要替换的节点。记录其 Machine Name。
将节点标记为不可调度:
$ oc adm cordon <node_name>
<node_name>
- 指定替换的节点的名称。
排空节点:
$ oc adm drain <node_name> --force --delete-emptydir-data=true --ignore-daemonsets
重要此活动可能至少需要 5 到 10 分钟或更多。Ceph 周期内生成的 Ceph 错误是临时的,当您标记新节点并且可以正常工作时,会自动解决。
-
点 Compute
Machines。搜索所需的机器。 - 除了所需机器外,点击 Action 菜单(⋮)→ Delete Machine。
点 Delete 以确认机器已被删除。会自动创建新机器。等待新计算机启动并过渡到
Running
状态。重要此活动可能至少需要 5 到 10 分钟或更多。
-
点 Compute
Nodes。确认新节点处于 Ready 状态。 使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:
- 从用户界面
- 对于新节点,点击 Action Menu(⋮)→ Edit Labels。
-
添加
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>
- 指定新节点的名称。
验证步骤
验证输出中是否存在新节点:
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
点击 Workloads
Pods。确认新节点上至少以下 pod 处于 Running 状态: -
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
- 验证所有其他所需的 OpenShift Data Foundation pod 是否处于 Running 状态。
验证新的对象存储设备(OSD)pod 是否在替换节点上运行:
$ oc get pods -o wide -n openshift-storage| egrep -i <new_node_name> | egrep osd
可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。
对于上一步中标识的每个新节点,请执行以下操作:
创建 debug pod 并为一个或多个所选主机打开 chroot 环境:
$ oc debug node/<node_name>
$ chroot /host
显示可用块设备列表:
$ lsblk
检查一个或多个
ocs-deviceset
名称旁的crypt
关键字。
- 如果验证步骤失败,请联系红帽支持团队。
1.3.2. 在安装程序置备的基础架构中替换失败的 Red Hat Virtualization 节点
流程
-
登录 OpenShift Web 控制台,再点击 Compute
Nodes。 - 确定出现故障的节点。记录其 Machine Name。
删除 Virtual Machine(VM)实例时,确保磁盘不会被删除。
登录 Red Hat Virtualization 管理门户,并从失败的虚拟机中删除与监控 pod 和对象存储设备(OSD)关联的虚拟磁盘。
重要当您删除一个或多个磁盘时,不要选择 Remove Perently 选项。
-
在 OpenShift Web 控制台中,点 Compute
Machines。搜索所需的机器。 -
点 Actions
Edit Annotations,然后点 Add More。 -
添加
machine.openshift.io/exclude-node-draining
并点 Save。 点 Actions
Delete Machine,然后点 Delete。 会自动创建新机器。等待新机器启动。
重要此活动可能至少需要 5 到 10 分钟或更多。Ceph 周期内生成的 Ceph 错误是临时的,当您标记新节点并且可以正常工作时,会自动解决。
-
点 Compute
Nodes。确认新节点处于 Ready 状态。 使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:
- 从用户界面
- 对于新节点,点击 Action Menu(⋮)→ Edit Labels。
-
添加
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>
- 指定新节点的名称。
- 可选: 如果没有自动删除失败的虚拟机,请从 Red Hat Virtualization 管理门户中删除虚拟机。
验证步骤
验证输出中是否存在新节点:
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
点击 Workloads
Pods。确认新节点上至少以下 pod 处于 Running 状态: -
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
- 验证所有其他所需的 OpenShift Data Foundation pod 是否处于 Running 状态。
验证新的对象存储设备(OSD)pod 是否在替换节点上运行:
$ oc get pods -o wide -n openshift-storage| egrep -i <new_node_name> | egrep osd
可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。
对于上一步中标识的每个新节点,请执行以下操作:
创建 debug pod 并为一个或多个所选主机打开 chroot 环境:
$ oc debug node/<node_name>
$ chroot /host
显示可用块设备列表:
$ lsblk
检查一个或多个
ocs-deviceset
名称旁的crypt
关键字。
- 如果验证步骤失败,请联系红帽支持团队。