OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
2.7. 验证 OpenShift Data Foundation
验证 OpenShift Data Foundation 是否已正确部署:
2.7.1. 验证 pod 的状态 复制链接链接已复制到粘贴板!
流程
-
从 OpenShift Web 控制台点 Workloads
Pods。 从 Project 下拉列表中选择
openshift-storage。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
有关每个组件预期的 pod 数量及其变化取决于节点数量的更多信息,请参阅 表 2.1 “对应 OpenShift Data Foundation 集群的 Pod”。
为 Running 和 Completed pod 设置过滤器,以验证以下 pod 是否处于
Running和Completed状态:Expand 表 2.1. 对应 OpenShift Data Foundation 集群的 Pod 组件 对应的 pod OpenShift Data Foundation Operator
-
ocs-operator114(任何存储节点上的 1 个 pod) -
ocs-metrics-exporterthe (任何存储节点上 1 个 pod) -
odf-operator-controller-manager047 (任何存储节点上 1 个 pod) -
odf-console047 (任何存储节点上 1 个 pod) -
csi-addons-controller-manager047 (任何存储节点上 1 个 pod)
Rook-ceph Operator
rook-ceph-operator-*(任何存储节点上的 1 个 pod)
多云对象网关
-
noobaa-operator945(任何存储节点上的 1 个 pod) -
noobaa-core-*(任何存储节点上 1 个 pod) -
noobaa-db-pg-*(任何存储节点上 1 个 pod) -
noobaa-endpoint-*(任何存储节点上 1 个 pod)
MON
rook-ceph-mon-*(在存储节点间分布 3 个 pod)
MGR
rook-ceph-mgr-*(任何存储节点上的 1 个 pod)
MDS
rook-ceph-mds-ocs-storagecluster-cephfilesystem-*(2 个 pod 在存储节点间分布)
RGW
rook-ceph-rgw-ocs-storagecluster-cephobjectstore-*(任何存储节点上的 1 个 pod)CSI
cephfs-
CSI-cephfsplugin\":\" (每个存储节点上 1 个 pod) -
csi-cephfsplugin-provisioner-*(2 个 pod 在存储节点间分布)
-
rbd-
CSI-rbdplugin047 (每个存储节点上 1 个 pod) -
csi-rbdplugin-provisioner-*(2 个 pod 在存储节点间分布)
-
rook-ceph-crashcollector
rook-ceph-crashcollector-*(每个存储节点上 1 个 pod)
OSD
-
rook-ceph-osd-*(每个设备 1 个 pod) -
rook-ceph-osd-prepare-ocs-deviceset-*(每个设备 1 个 pod)
-
2.7.2. 验证 OpenShift Data Foundation 集群是否健康 复制链接链接已复制到粘贴板!
流程
-
在 OpenShift Web 控制台中,点 Storage
Data Foundation。 - 在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
- 在 Block and File 选项卡的 Status 卡中,验证 Storage Cluster 是否具有绿色勾号。
- 在 Details 卡中,验证是否显示集群信息。
如需有关使用 Block and File 仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅 监控 OpenShift Data Foundation。
2.7.3. 验证 Multicloud 对象网关是否健康 复制链接链接已复制到粘贴板!
流程
-
在 OpenShift Web 控制台中,点 Storage
Data Foundation。 在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
- 在 Object 选项卡的 Status 卡 中,验证 Object Service 和数据弹性 都具有绿色勾号。
- 在 Details 卡中,验证是否显示了 MCG 信息。
如需有关使用对象服务仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅监控 OpenShift Data Foundation。
2.7.4. 验证 OpenShift Data Foundation 特定的存储类是否存在 复制链接链接已复制到粘贴板!
流程
-
从 OpenShift Web 控制台左侧窗格中,点击 Storage
Storage Classes。 验证是否在创建 OpenShift Data Foundation 集群时创建了以下存储类:
-
ocs-storagecluster-ceph-rbd -
ocs-storagecluster-cephfs -
openshift-storage.noobaa.io -
ocs-storagecluster-ceph-rgw
-
2.7.5. 验证 Multus 网络 复制链接链接已复制到粘贴板!
要确定 Multus 是否在集群中工作,请验证 Multus 网络。
流程
根据您的网络配置选择,OpenShift Data Foundation 操作器将执行以下操作之一:
-
如果为公共网络接口只选择了一个 NetworkAttachmentDefinition(如
ocs-public-cluster),则应用程序 Pod 和 OpenShift Data Foundation 集群之间的流量将在此网络上发生。此外,集群也将自行配置,以也使用此网络在 OSD 之间复制和重新平衡流量。 -
如果在存储集群安装过程中,分别为公共网络接口和集群网络接口选择了 NetworkAttachmentDefinition(如
ocs-public和ocs-cluster),则客户端存储流量将位于公共网络和集群网络中,用于在 OSD 之间复制和重新平衡流量。
要验证网络配置是否正确,请完成以下步骤:
在 OpenShift 控制台中,导航到 Installed Operators
在 YAML 选项卡中,在 spec 部分搜索 network,并确保您的网络接口选择配置正确。本例用于将客户端存储流量与存储复制流量分隔开。
输出示例:
要使用命令行界面验证网络配置是否正确,请运行以下命令:
oc get storagecluster ocs-storagecluster \
-n openshift-storage \
-o=jsonpath='{.spec.network}{"\n"}'
$ oc get storagecluster ocs-storagecluster \
-n openshift-storage \
-o=jsonpath='{.spec.network}{"\n"}'
输出示例:
{"ipFamily":"IPv4","provider":"multus","selectors":{"cluster":"openshift-storage/ocs-cluster","public":"openshift-storage/ocs-public"}}
{"ipFamily":"IPv4","provider":"multus","selectors":{"cluster":"openshift-storage/ocs-cluster","public":"openshift-storage/ocs-public"}}
确认 OSD pod 使用正确的网络
在 openshift-storage 命名空间中,使用其中一个 OSD pod 验证 pod 是否与正确的网络连接。本例用于将客户端存储流量与存储复制流量分隔开。
如果两者都已创建,只有 OSD pod 将连接到 Multus 公共网络和集群网络。所有其他 OCS pod 将连接到 Multus 公共网络。
oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}'
$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}'
输出示例:
若要使用命令行界面确认 OSD pod 使用正确的网络,可运行以下命令(需要 jq 实用程序):
oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}' | jq -r '.[].name'
$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}' | jq -r '.[].name'
输出示例:
openshift-sdn openshift-storage/ocs-cluster openshift-storage/ocs-public
openshift-sdn
openshift-storage/ocs-cluster
openshift-storage/ocs-public