3.6. 在受管集群中安装 OpenShift Data Foundation
要在两个 OpenShift Container Platform 集群之间配置存储复制,OpenShift Data Foundation Operator 必须首先安装在每个受管集群上,如下所示:
先决条件
- 确保您已满足 OpenShift Data Foundation 外部部署的硬件要求。有关硬件要求的详情,请参阅 外部模式要求。
流程
- 在每个受管集群中,安装和配置最新的 OpenShift Data Foundation 集群。
在安装 operator 后,创建一个 StorageSystem,使用选择 Full deployment 类型和
Connect with external storage platform
,其中您的后端存储类型为Red Hat Ceph Storage
。具体步骤请参考 以外部模式部署 OpenShift Data Foundation。
将以下标记与
ceph-external-cluster-details-exporter.py
脚本一起使用。您在
ceph-external-cluster-details-exporter.py script
中需要最少使用以下三个标记:- --rbd-data-pool-name
-
使用在为 OpenShift Container Platform 部署 RHCS 时创建的 RBD 池的名称。例如,池的名称可能为
rbdpool
。 - --rgw-endpoint
-
以
<ip_address>:<port>
格式提供端点。它是与您要配置的 OpenShift Container Platform 集群相同的站点中运行的 RGW 守护进程的 RGW IP。 - --run-as-user
- 每个站点使用不同的客户端名称。
如果在 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
。
在 bootstrap 节点(
ceph1
)上运行以下命令,为 datacenter1 和 datacenter2 中的 RGW 端点获取 IP:ceph orch ps | grep rgw.objectgw
ceph orch ps | grep rgw.objectgw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow host ceph3.example.com host ceph6.example.com
host ceph3.example.com host ceph6.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
ceph3.example.com has address 10.0.40.24 ceph6.example.com has address 10.0.40.66
ceph3.example.com has address 10.0.40.24 ceph6.example.com has address 10.0.40.66
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用在 bootstrapped 节点
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意根据您的环境修改 <rgw-endpoint> XXX.XXX.XXX.XXX。
使用在 bootstrapped 节点
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意根据您的环境修改 <rgw-endpoint> XXX.XXX.XXX.XXX。
-
将 bootstrap 集群 (ceph1)
ocp-cluster1.json
和ocp-cluster2.json
这两个文件保存到本地机器中。 -
在部署外部 OpenShift Data Foundation 的
cluster1
上,使用 OpenShift Container Platform 控制台上的文件ocp-cluster1.json
的内容。 -
在部署外部 OpenShift Data Foundation 的
cluster2
上,使用 OpenShift Container Platform 控制台上的文件ocp-cluster2.json
的内容。
-
将 bootstrap 集群 (ceph1)
- 检查设置,然后选择 Create StorageSystem。
使用以下命令验证每个受管集群中 OpenShift Data Foundation 部署是否成功:
oc get storagecluster -n openshift-storage ocs-external-storagecluster -o jsonpath='{.status.phase}{"\n"}'
$ oc get storagecluster -n openshift-storage ocs-external-storagecluster -o jsonpath='{.status.phase}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Multicloud 网关(MCG):
oc get noobaa -n openshift-storage noobaa -o jsonpath='{.status.phase}{"\n"}'
$ oc get noobaa -n openshift-storage noobaa -o jsonpath='{.status.phase}{"\n"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待在主受管集群和从受管集群上的查询的状态结果变为 Ready。
-
在 OpenShift Web 控制台中,进入到 Installed Operators
OpenShift Data Foundation Storage System ocs-external-storagecluster-storagesystem
Resources。验证 StorageCluster
的 Status 是否为Ready
,其旁边有一个绿色勾号标记。