第 2 章 准备 overcloud 节点
用于演示如何与 Red Hat Ceph Storage 集群集成的 overcloud 部署由具有高可用性和 Compute 节点的 Controller 节点组成,用于托管工作负载。Red Hat Ceph Storage 集群有自己的节点,您可以使用 Ceph 管理工具而不是 director 独立于 overcloud 管理。有关 Red Hat Ceph Storage 的更多信息,请参阅 Red Hat Ceph Storage 产品文档。
2.1. 配置现有的 Red Hat Ceph Storage 集群
要配置 Red Hat Ceph Storage 集群,您可以在 Ceph Storage 集群上创建对象存储守护进程(OSD)池,定义功能,并直接创建密钥和 ID。您可以从任何可访问 Ceph Storage 集群的计算机执行命令,并安装了 Ceph 命令行客户端。
流程
- 登录到外部 Ceph 管理节点。
打开交互式 shell 以访问 Ceph 命令:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo cephadm shell
[user@ceph ~]$ sudo cephadm shell
在 Ceph Storage 集群中创建以下 RADOS 块设备(RBD)池,与您的环境相关:
OpenStack Block Storage (cinder)的存储:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph osd pool create volumes <pgnum>
$ ceph osd pool create volumes <pgnum>
OpenStack Image Storage (glance)的存储:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph osd pool create images <pgnum>
$ ceph osd pool create images <pgnum>
实例的存储:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph osd pool create vms <pgnum>
$ ceph osd pool create vms <pgnum>
OpenStack Block Storage Backup (cinder-backup)的存储:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph osd pool create backups <pgnum>
$ ceph osd pool create backups <pgnum>
- 如果您的 overcloud 使用 Red Hat Ceph 5 (Ceph 软件包 16)或更新部署共享文件系统服务(manila),则不需要为 CephFS 创建数据和元数据池。您可以创建文件系统卷。有关更多信息,请参阅 Red Hat Ceph Storage 操作指南中的使用 Ceph Orchestrator 管理 MDS 服务。
使用以下功能在 Ceph Storage 集群中创建
client.openstack
用户:-
cap_mgr:
allow *
-
cap_mon:
profile rbd
cap_osd:
profile rbd pool=volumes, profile rbd pool=vms, profile rbd pool=images, profile rbd pool=backups
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth add client.openstack mgr 'allow *' mon 'profile rbd' osd 'profile rbd pool=volumes, profile rbd pool=vms, profile rbd pool=images, profile rbd pool=backups'
$ ceph auth add client.openstack mgr 'allow *' mon 'profile rbd' osd 'profile rbd pool=volumes, profile rbd pool=vms, profile rbd pool=images, profile rbd pool=backups'
-
cap_mgr:
注意为
client.openstack
用户创建的 Ceph 客户端密钥:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth list
$ ceph auth list ... [client.openstack] key = <AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw==> caps mgr = "allow *" caps mon = "profile rbd" caps osd = "profile rbd pool=volumes, profile rbd pool=vms, profile rbd pool=images, profile rbd pool=backups" ...
-
示例中的
键值
AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw== 是您的 Ceph 客户端密钥。
-
示例中的
如果您的 overcloud 使用 CephFS 部署共享文件系统服务,请在 Ceph Storage 集群中创建
client.manila
用户。client.manila
用户所需的功能取决于您的部署是否通过原生 CephFS 协议或 NFS 协议公开 CephFS 共享。如果通过原生 CephFS 协议公开 CephFS 共享,则需要以下功能:
-
cap_mgr:
allow rw
cap_mon:
allow r
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth add client.manila mgr 'allow rw' mon 'allow r'
$ ceph auth add client.manila mgr 'allow rw' mon 'allow r'
-
cap_mgr:
如果通过 NFS 协议公开 CephFS 共享,则需要以下功能:
-
cap_mgr:
allow rw
-
cap_mon:
allow r
cap_osd:
allow rw pool=manila_data
指定池名称必须是
ManilaCephFSDataPoolName
参数设置的值,默认为manila_data
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth add client.manila mgr 'allow rw' mon 'allow r' osd 'allow rw pool=manila_data'
$ ceph auth add client.manila mgr 'allow rw' mon 'allow r' osd 'allow rw pool=manila_data'
-
cap_mgr:
注意在 overcloud 部署模板中使用的 manila 客户端名称和键值:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth get-key client.manila
$ ceph auth get-key client.manila <AQDQ991cAAAAABAA0aXFrTnjH9aO39P0iVvYyg==>
注意 Ceph Storage 集群的文件系统 ID。这个值在
fsid
字段中指定,在集群的配置文件的[global]
部分下指定:Copy to Clipboard Copied! Toggle word wrap Toggle overflow [global] fsid = 4b5c8c0a-ff60-454b-a1b4-9747aa737d19 ...
[global] fsid = 4b5c8c0a-ff60-454b-a1b4-9747aa737d19 ...
在创建自定义环境文件时,请使用 Ceph 客户端密钥和文件系统 ID 以及共享文件系统服务客户端 ID 和密钥。