3.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 部署 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'
    Copy to Clipboard Toggle word wrap

    通过对所有服务使用相同的用户,可以更轻松地创建包含密钥环和 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")
    Copy to Clipboard Toggle word wrap

流程

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

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

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

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat