7.3. 在边缘使用预安装的 Red Hat Ceph Storage 集群
您可以将 Red Hat OpenStack Platform 配置为使用已存在的 Ceph 集群。这称为外部 Ceph 部署。
先决条件
- 您必须有一个预安装的 Ceph 集群,它与 DCN 站点本地,以便不会超过延迟要求。
流程
在 Ceph 集群中创建以下池。如果要在中央位置部署,请包含
备份
池:和指标
ceph osd pool create volumes <_PGnum_> ceph osd pool create images <_PGnum_> ceph osd pool create vms <_PGnum_> ceph osd pool create backups <_PGnum_> ceph osd pool create metrics <_PGnum_>
[root@ceph ~]# ceph osd pool create volumes <_PGnum_> [root@ceph ~]# ceph osd pool create images <_PGnum_> [root@ceph ~]# ceph osd pool create vms <_PGnum_> [root@ceph ~]# ceph osd pool create backups <_PGnum_> [root@ceph ~]# ceph osd pool create metrics <_PGnum_>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 <_PGnum_> 替换为放置组数量。您可以使用 每个池的 Ceph Placement Groups (PG)计算器 来确定合适的值。
在 Ceph 中创建 OpenStack 客户端用户,以提供 Red Hat OpenStack Platform 环境对适当池的访问权限:
ceph auth add client.openstack mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rwx pool=images'
ceph auth add client.openstack mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rwx pool=images'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存返回的 Ceph 客户端密钥。在配置 undercloud 时,使用此键作为
CephClientKey
参数的值。注意如果您在中央位置运行此命令,并计划使用 Cinder 备份或遥测服务,请在命令中添加 allow rwx pool=backups,在命令中允许 pool=metrics。
保存 Ceph Storage 集群的文件系统 ID。Ceph 配置文件的
[global]
部分中的fsid
参数的值是文件系统 ID:[global] fsid = 4b5c8c0a-ff60-454b-a1b4-9747aa737d19 ...
[global] fsid = 4b5c8c0a-ff60-454b-a1b4-9747aa737d19 ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在配置 undercloud 时,使用这个值作为
CephClusterFSID
参数的值。在 undercloud 上,创建一个环境文件来配置节点以连接到非受管 Ceph 集群。使用可识别的命名惯例,如 ceph-external-<SITE>.yaml,其中 SITE 是部署的位置,如 ceph-external-central.yaml、ceph-external-dcn1.yaml 等。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将之前保存的值用于 CephClusterFSID 和 CephClientKey 参数。
- 使用 Ceph 监视器中以逗号分隔的 ip 地址列表,作为 CephExternalMonHost 参数的值。
-
您必须在边缘站点间为
CephClusterName
参数选择一个唯一值。重新使用名称将导致配置文件被覆盖。
如果您使用 Red Hat OpenStack Platform director 部署 Red Hat Ceph Storage,您可以将 ceph 配置导出到环境文件
central_ceph_external.yaml
。此环境文件将 DCN 站点连接到中央 hub Ceph 集群,因此信息特定于上一步中部署的 Ceph 集群:sudo -E openstack overcloud export ceph \ --stack central \ --config-download-dir /var/lib/mistral \ --output-file ~/dcn-common/central_ceph_external.yaml
sudo -E openstack overcloud export ceph \ --stack central \ --config-download-dir /var/lib/mistral \ --output-file ~/dcn-common/central_ceph_external.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果中央位置从外部部署 Red Hat Ceph Storage,则无法使用
openstack overcloud export ceph
命令生成central_ceph_external.yaml
文件。您必须手动创建 central_ceph_external.yaml 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个环境文件,其中包含与每个站点的类似详细信息,其具有非受管 Red Hat Ceph Storage 集群用于中央位置。
openstack overcloud export ceph
命令不适用于带有非受管 Red Hat Ceph Storage 集群的站点。当您更新中央位置时,此文件将允许存储集群位于边缘站点的中央位置作为二级位置Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在部署 overcloud 时,使用 ceph-ansible-external.yaml、ceph-external-<SITE>.yaml 和 central_ceph_external.yaml 环境文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 部署所有边缘位置后重新部署中央位置。