3.6. 在受管集群中安装 OpenShift Data Foundation


要在两个 OpenShift Container Platform 集群之间配置存储复制,OpenShift Data Foundation Operator 必须首先安装在每个受管集群中。

先决条件

  • 确保您已满足 OpenShift Data Foundation 外部部署的硬件要求。有关硬件要求的详情,请参阅 外部模式要求

流程

  1. 在每个受管集群中安装和配置最新的 OpenShift Data Foundation 集群。
  2. 安装 Operator 后,使用选项 Full deployment type 和 Connect with external storage platform 创建一个 StorageSystem,其中您的 后端存储类型是 Red Hat Ceph Storage

    具体步骤请参考 以外部模式部署 OpenShift Data Foundation

    将以下标记与 ceph-external-cluster-details-exporter.py 脚本一起使用。

    1. 您至少需要在 ceph-external-cluster-details-exporter.py 脚本中使用 以下三个标记:

      --rbd-data-pool-name
      使用在为 OpenShift Container Platform 部署 RHCS 时创建的 RBD 池的名称。例如,池可以命名为 rbdpool
      --rgw-endpoint
      以 < ip_address>:<port&gt; 格式提供端点。它是在与您要配置的 OpenShift Container Platform 集群相同的站点上运行的 RGW 守护进程的 RGW IP。
      --run-as-user
      每个站点使用不同的客户端名称。
    2. 如果在 RHCS 部署期间使用默认值,则以下标记 是可选的

      --cephfs-filesystem-name
      使用在为 OpenShift Container Platform 在 RHCS 部署期间创建的 CephFS 文件系统的名称,默认的文件系统名称为 cephfs
      --cephfs-data-pool-name
      在用于 OpenShift Container Platform 的 RHCS 部署期间创建的 CephFS 数据池的名称时,默认的池称为 cephfs.data
      --cephfs-metadata-pool-name
      在用于 OpenShift Container Platform 的 RHCS 部署期间创建的 CephFS 元数据池的名称时,默认的池称为 cephfs.meta
    3. 在 bootstrap 节点 ceph1 上运行以下命令,以获取 datacenter1 和 datacenter2 中 RGW 端点的 IP:

      ceph orch ps | grep rgw.objectgw

      输出示例:

      rgw.objectgw.ceph3.mecpzm  ceph3  *:8080       running (5d)     31s ago   7w     204M        -  16.2.7-112.el8cp
      rgw.objectgw.ceph6.mecpzm  ceph6  *:8080       running (5d)     31s ago   7w     204M        -  16.2.7-112.el8cp
      host ceph3.example.com
      host ceph6.example.com

      输出示例:

      ceph3.example.com has address 10.0.40.24
      ceph6.example.com has address 10.0.40.66
    4. 使用在引导的节点 ceph1 上为第一个 OpenShift Container Platform 受管集群 cluster1 配置的参数,运行 ceph-external-cluster-details-exporter.py

      python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name rbdpool --cephfs-filesystem-name cephfs --cephfs-data-pool-name cephfs.cephfs.data  --cephfs-metadata-pool-name cephfs.cephfs.meta --<rgw-endpoint> XXX.XXX.XXX.XXX:8080 --run-as-user client.odf.cluster1 > ocp-cluster1.json
      注意

      根据您的环境修改 <rgw-endpoint> XXX.XXX.XXX。

    5. 使用在引导的节点 ceph1 上为第一个 OpenShift Container Platform 受管集群 cluster2 配置的参数,运行 ceph-external-cluster-details-exporter.py

      python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name rbdpool --cephfs-filesystem-name cephfs --cephfs-data-pool-name cephfs.cephfs.data  --cephfs-metadata-pool-name cephfs.cephfs.meta --rgw-endpoint XXX.XXX.XXX.XXX:8080 --run-as-user client.odf.cluster2 > ocp-cluster2.json
      注意

      根据您的环境修改 <rgw-endpoint> XXX.XXX.XXX。

      • 将 bootstrap 集群(ceph1) ocp-cluster1.jsonocp-cluster2.json 中生成的两个文件保存到本地机器中。
      • 在部署了外部 OpenShift Data Foundation 的 cluster1 上,使用 OpenShift Container Platform 控制台上的文件 ocp-cluster1.json 的内容。
      • 在部署了外部 OpenShift Data Foundation 的 cluster2 上,使用 OpenShift Container Platform 控制台上的文件 ocp-cluster2.json 的内容。
  3. 检查设置,然后选择 Create StorageSystem
  4. 使用以下命令验证每个受管集群上的 OpenShift Data Foundation 部署是否成功:

    $ oc get storagecluster -n openshift-storage ocs-external-storagecluster -o jsonpath='{.status.phase}{"\n"}'

    对于 Multicloud 网关(MCG):

    $ oc get noobaa -n openshift-storage noobaa -o jsonpath='{.status.phase}{"\n"}'

    等待状态结果在 主受管集群和次受管集群 上都处于 Ready 状态。

  5. 在 OpenShift Web 控制台中,导航到 Installed Operators OpenShift Data Foundation Storage System ocs-external-storagecluster-storagesystem Resources。验证 StorageClusterStatus 是否为 Ready,并且其旁边都有一个绿色勾号标记。
  6. 为 RBD 和 CephFS 卷启用读取关联性,以便从最接近的数据中心提供。

    1. 在 Primary 受管集群上,标记所有节点。

      $ oc label nodes --all metro-dr.openshift-storage.topology.io/datacenter=DC1

      执行以下命令启用读取关联性:

      $ oc patch storageclusters.ocs.openshift.io -n openshift-storage ocs-external-storagecluster -p '{"spec":{"csi":{"readAffinity":{"enabled":true,"crushLocationLabels":["metro-dr.openshift-storage.topology.io/datacenter"]}}}}' --type=merge
      $ oc delete po -n openshift-storage -l 'app in (csi-cephfsplugin,csi-rbdplugin)'
    2. 在二级受管集群中,标记所有节点:

      $ oc label nodes --all metro-dr.openshift-storage.topology.io/datacenter=DC2

      执行以下命令启用读取关联性:

      $ oc patch storageclusters.ocs.openshift.io -n openshift-storage ocs-external-storagecluster -p '{"spec":{"csi":{"readAffinity":{"enabled":true,"crushLocationLabels":["metro-dr.openshift-storage.topology.io/datacenter"]}}}}' --type=merge
      $ oc delete po -n openshift-storage -l 'app in (csi-cephfsplugin,csi-rbdplugin)'
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部