1.4. 配置 Ceph 后端
如果原始部署对任何服务(如 Glance、Cinder、Nova、Manila)使用 Ceph 存储后端,则必须相应地配置相同的后端。
1.4.1. 先决条件 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
-
OpenStackControlPlane
CR 必须已经存在。
1.4.2. 变量 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
定义以下步骤中使用的 shell 变量。这些值只是说明,使用适合您环境的值:
CEPH_SSH="ssh -i ~/install_yamls/out/edpm/ansibleee-ssh-key-id_rsa root@192.168.122.100" CEPH_KEY=$($CEPH_SSH "cat /etc/ceph/ceph.client.openstack.keyring | base64 -w 0") CEPH_CONF=$($CEPH_SSH "cat /etc/ceph/ceph.conf | base64 -w 0")
CEPH_SSH="ssh -i ~/install_yamls/out/edpm/ansibleee-ssh-key-id_rsa root@192.168.122.100"
CEPH_KEY=$($CEPH_SSH "cat /etc/ceph/ceph.client.openstack.keyring | base64 -w 0")
CEPH_CONF=$($CEPH_SSH "cat /etc/ceph/ceph.conf | base64 -w 0")
1.4.3. 修改 "openstack" 用户的功能以适应 Manila 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在 TripleO 环境中,Manila 中的 CephFS 驱动程序配置为使用自己的密钥对。为方便起见,修改 openstack
用户,以便您可以在所有 OpenStack 服务间使用它。
在服务间使用相同的用户有两个目的:
- 与 Manila 服务交互所需的功能变得更为简单,因此,与 RHOSP 18 更安全。
- 创建通用 ceph secret (keyring 和 ceph 配置文件)更为简单,并将 secret 传播到需要它的所有服务。
$CEPH_SSH cephadm shell ceph auth caps client.openstack \ mgr 'allow *' \ mon 'allow r, profile rbd' \ osd 'profile rbd pool=vms, profile rbd pool=volumes, profile rbd pool=images, allow rw pool manila_data'
$CEPH_SSH cephadm shell
ceph auth caps client.openstack \
mgr 'allow *' \
mon 'allow r, profile rbd' \
osd 'profile rbd pool=vms, profile rbd pool=volumes, profile rbd pool=images, allow rw pool manila_data'
1.4.4. Ceph 后端配置 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
创建 ceph-conf-files
secret,其中包含 Ceph 配置:
文件的内容应类似如下:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 OpenStackControlPlane
CR 中配置 extraMounts
:
1.4.5. 获取 Ceph FSID 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
将一些 OpenStack 服务配置为使用 Ceph 后端可能需要 FSID 值。您可以从配置中获取值,如下所示:
CEPH_FSID=$(oc get secret ceph-conf-files -o json | jq -r '.data."ceph.conf"' | base64 -d | grep fsid | sed -e 's/fsid = //')
CEPH_FSID=$(oc get secret ceph-conf-files -o json | jq -r '.data."ceph.conf"' | base64 -d | grep fsid | sed -e 's/fsid = //')