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")
Copy to Clipboard Toggle word wrap

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'
Copy to Clipboard Toggle word wrap

1.4.4. Ceph 后端配置

创建 ceph-conf-files secret,其中包含 Ceph 配置:

oc apply -f - <<EOF
apiVersion: v1
data:
  ceph.client.openstack.keyring: $CEPH_KEY
  ceph.conf: $CEPH_CONF
kind: Secret
metadata:
  name: ceph-conf-files
  namespace: openstack
type: Opaque
EOF
Copy to Clipboard Toggle word wrap

文件的内容应类似如下:

---
apiVersion: v1
kind: Secret
metadata:
  name: ceph-conf-files
  namespace: openstack
stringData:
  ceph.client.openstack.keyring: |
    [client.openstack]
        key = <secret key>
        caps mgr = "allow *"
        caps mon = "profile rbd"
        caps osd = "profile rbd pool=images"
  ceph.conf: |
    [global]
    fsid = 7a1719e8-9c59-49e2-ae2b-d7eb08c695d4
    mon_host = 10.1.1.2,10.1.1.3,10.1.1.4
Copy to Clipboard Toggle word wrap

OpenStackControlPlane CR 中配置 extraMounts

oc patch openstackcontrolplane openstack --type=merge --patch '
spec:
  extraMounts:
    - name: v1
      region: r1
      extraVol:
        - propagation:
          - CinderVolume
          - CinderBackup
          - GlanceAPI
          - ManilaShare
          extraVolType: Ceph
          volumes:
          - name: ceph
            projected:
              sources:
              - secret:
                  name: ceph-conf-files
          mounts:
          - name: ceph
            mountPath: "/etc/ceph"
            readOnly: true
'
Copy to Clipboard Toggle word wrap

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 = //')
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat