1.4. 在 Microsoft Azure 上部署的 OpenShift Data Foundation
1.4.1. 替换 Azure 安装程序置备的基础架构上的操作节点
流程
-
登录 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。
-
对于新节点,点击 Action Menu(⋮)
- 使用命令行界面
- 执行以下命令,将 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.4.2. 在 Azure 安装程序置备的基础架构中替换失败的节点
流程
-
登录 OpenShift Web 控制台,再点击 Compute
Nodes。 - 确定有故障的节点,再单击其 Machine Name。
- 点击 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。
-
对于新节点,点击 Action Menu(⋮)
- 使用命令行界面
- 将 OpenShift Data Foundation 标签应用到新节点:
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
<new_node_name>
- 指定新节点的名称。
- 可选:如果没有自动删除失败的 Azure 实例,从 Azure 控制台终止实例。
验证步骤
验证输出中是否存在新节点:
$ 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
关键字。
- 如果验证步骤失败,请联系红帽支持团队。