2.7. 验证 OpenShift Data Foundation


验证 OpenShift Data Foundation 是否已正确部署:

2.7.1. 验证 pod 的状态

流程

  1. 从 OpenShift Web 控制台点 Workloads Pods
  2. Project 下拉列表中选择 openshift-storage

    注意

    如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。

    有关每个组件预期的 pod 数量及其变化取决于节点数量的更多信息,请参阅 表 2.1 “对应 OpenShift Data Foundation 集群的 Pod”

  3. 为 Running 和 Completed pod 设置过滤器,以验证以下 pod 是否处于 RunningCompleted 状态:

    表 2.1. 对应 OpenShift Data Foundation 集群的 Pod
    组件对应的 pod

    OpenShift Data Foundation Operator

    • ocs-operator114 (任何存储节点上 1 个 pod)
    • ocs-metrics-exporter(任何存储节点上 1 个 pod)
    • odf-operator-controller-manager-*(任何存储节点上 1 个 pod)
    • odf-console-* 任何存储节点上 1 个 pod)
    • csi-addons-controller-manager-* (任何存储节点上 1 个 pod)

    Rook-ceph Operator

    rook-ceph-operator-*

    (任何存储节点上的 1 个 pod)

    多云对象网关

    • noobaa-operator-* (任何存储节点上 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-rbdplugin-* (每个存储节点上 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 集群是否健康

流程

  1. 在 OpenShift Web 控制台中,点 Storage Data Foundation
  2. Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
  3. Block and File 选项卡的 Status 卡中,验证 Storage Cluster 是否具有绿色勾号。
  4. Details 卡中,验证是否显示集群信息。

如需有关使用 Block and File 仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅 监控 OpenShift Data Foundation

2.7.3. 验证 Multicloud 对象网关是否健康

流程

  1. 在 OpenShift Web 控制台中,点 Storage Data Foundation
  2. Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。

    1. Object 选项卡的 Status 卡 中,验证 Object Service数据弹性 都具有绿色勾号。
    2. Details 卡中,验证是否显示了 MCG 信息。

如需有关使用对象服务仪表板的 OpenShift Data Foundation 集群健康的更多信息,请参阅监控 OpenShift Data Foundation

2.7.4. 验证特定的存储类是否存在

流程

  1. 从 OpenShift Web 控制台左侧窗格中,点击 Storage Storage Classes
  2. 验证是否在创建 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-publicocs-cluster),则客户端存储流量将位于公共网络和集群网络中,用于在 OSD 之间复制和重新平衡流量。

要验证网络配置是否正确,请完成以下步骤:

在 OpenShift 控制台中,导航到 Installed Operators OpenShift Data Foundation Storage System ocs-storagecluster-storagesystem Resources ocs-storagecluster

在 YAML 选项卡中,在 spec 部分搜索 network,并确保您的网络接口选择配置正确。本例用于将客户端存储流量与存储复制流量分隔开。

输出示例:

[..]
spec:
  [..]
  network:
    ipFamily: IPv4
    provider: multus
    selectors:
      cluster: openshift-storage/ocs-cluster
      public: openshift-storage/ocs-public
  [..]

要使用命令行界面验证网络配置是否正确,请运行以下命令:

$ 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"}}

确认 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"}'

输出示例:

[{
    "name": "openshift-sdn",
    "interface": "eth0",
    "ips": [
        "10.129.2.30"
    ],
    "default": true,
    "dns": {}
},{
    "name": "openshift-storage/ocs-cluster",
    "interface": "net1",
    "ips": [
        "192.168.2.1"
    ],
    "mac": "e2:04:c6:81:52:f1",
    "dns": {}
},{
    "name": "openshift-storage/ocs-public",
    "interface": "net2",
    "ips": [
        "192.168.1.1"
    ],
    "mac": "ee:a0:b6:a4:07:94",
    "dns": {}
}]

若要使用命令行界面确认 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'

输出示例:

openshift-sdn
openshift-storage/ocs-cluster
openshift-storage/ocs-public
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.