4.3. 配置 Red Hat Ceph Storage 后端


如果您的 Red Hat OpenStack Platform (RHOSP) 17.1 部署对任何服务使用 Red Hat Ceph Storage 后端,如 Image Service (glance)、块存储服务(cinder)、计算服务(nova)或共享文件系统服务(manila),您必须配置自定义资源(CR),以便在 OpenShift (RHOSO) 18.0 部署中的 Red Hat OpenStack Services 中使用相同的后端。

注意

要运行 ceph 命令,您必须使用 SSH 连接到 Red Hat Ceph Storage 节点并运行 sudo cephadm shell。这会生成一个 Ceph 编配器容器,供您针对 Red Hat Ceph Storage 集群运行管理命令。如果使用 director Operator 部署 Red Hat Ceph Storage 集群,您可以从 RHOSP Controller 节点启动 cephadm shell。

先决条件

  • OpenStackControlPlane CR 已创建。
  • 如果您的 RHOSP 17.1 部署使用共享文件系统服务,则会更新 openstack keyring。修改 openstack 用户,以便您可以在所有 RHOSP 服务中使用它:

    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.conf 文件的通用 Red Hat Ceph Storage secret,并将 secret 传播到所需的所有服务。

  • 定义了以下 shell 变量:将以下示例值替换为您的环境的正确值:

    CEPH_SSH="ssh -i <path to SSH key> root@<node IP>"
    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. 创建包含 Red Hat Ceph Storage 配置的 ceph-conf-files secret:

    $ oc apply -f - <<EOF
    apiVersion: v1
    data:
      ceph.client.openstack.keyring: $CEPH_KEY
      ceph.conf: $CEPH_CONF
    kind: Secret
    metadata:
      name: ceph-conf-files
    type: Opaque
    EOF

    文件的内容应类似以下示例:

    apiVersion: v1
    kind: Secret
    metadata:
      name: ceph-conf-files
    stringData:
      ceph.client.openstack.keyring: |
        [client.openstack]
            key = <secret key>
            caps mgr = "allow *"
            caps mon = "allow r, profile rbd"
            caps osd = "pool=vms, profile rbd pool=volumes, profile rbd pool=images, allow rw pool manila_data'
      ceph.conf: |
        [global]
        fsid = 7a1719e8-9c59-49e2-ae2b-d7eb08c695d4
        mon_host = 10.1.1.2,10.1.1.3,10.1.1.4 
    1
    1
    如果您使用 IPv6,请将括号用于 mon_host。例如: mon_host = [v2:[fd00:cc::100]:3300/0,v1:[fd00:cccc::100]:6789/0]
  2. OpenStackControlPlane CR 中,将 ceph.confceph.client.openstack.keyring 注入传播列表中定义的 RHOSP 服务。例如:

    $ 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
    '
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部