3.6. 配置数据平面以使用 Red Hat Ceph Storage 集群


配置数据平面以使用 Red Hat Ceph Storage 集群。

流程

  1. 创建一个 ConfigMap,其中包含 nova_compute 容器内计算服务(nova)配置文件 /etc/nova/nova.conf.d/ 的额外内容。此额外内容指示计算服务使用 Red Hat Ceph Storage RBD。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: ceph-nova
    data:
     <03-ceph-nova.conf>: |
      [libvirt]
      images_type=rbd
      images_rbd_pool=vms
      images_rbd_ceph_conf=/etc/ceph/ceph.conf
      images_rbd_glance_store_name=<backend_name>
      images_rbd_glance_copy_poll_interval=15
      images_rbd_glance_copy_timeout=600
      rbd_user=openstack
      rbd_secret_uuid=<$FSID>
    Copy to Clipboard Toggle word wrap
    • <03-ceph-nova.conf > 替换为您的文件名。此文件名必须遵循 swig-< name>-nova.conf 的命名约定。文件由 Compute 服务按字母顺序评估。以 01 开头的文件名将在以 02 开头的文件名之前由 Compute 服务评估。当同一配置选项在多个文件中发生时,最后一个配置选项读取成功。
    • <backend_name > 替换为 OpenStackControlPlane CR 的 glance 模板中指定的后端名称。
    • <$ FSID > 替换为实际的 FSID,如 获取 Ceph FSID 部分所述FSID 本身不需要被视为 secret。
  2. 创建 default nova 服务的自定义版本,以使用新的 ConfigMap,本例中为 ceph-nova

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneService
    metadata:
      name: nova-custom-ceph
    spec:
      caCerts: combined-ca-bundle
      edpmServiceType: nova
      dataSources:
       - configMapRef:
           name: ceph-nova
       - secretRef:
           name: nova-cell1-compute-config
       - secretRef:
           name: nova-migration-ssh-key
      playbook: osp.edpm.nova
    Copy to Clipboard Toggle word wrap
    • 自定义服务命名为 nova-custom-ceph。它不能命名为 nova,因为 nova 是不可更改的默认服务。任何名称与默认服务名称相同的自定义服务都会在协调过程中被覆盖。
  3. 应用 ConfigMap 和自定义服务更改:

    $ oc create -f ceph-nova.yaml
    Copy to Clipboard Toggle word wrap
  4. OpenStackDataPlaneNodeSet CR 中,添加 ceph-client 服务并将默认 nova 服务替换为新的自定义服务来更新服务列表,如 nova-custom-ceph。添加 extraMounts 参数,以定义对 Ceph Storage secret 的访问。

    Example:

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneNodeSet
    spec:
      ...
      services:
      - redhat
      - bootstrap
      - download-cache
      - configure-network
      - validate-network
      - install-os
      - configure-os
      - ssh-known-hosts
      - run-os
      - reboot-os
      - install-certs
      - ceph-client
      - ovn
      - neutron-metadata
      - libvirt
      - nova-custom-ceph
      - telemetry
    
      nodeTemplate:
        extraMounts:
        - extraVolType: Ceph
          volumes:
          - name: ceph
            secret:
              secretName: ceph-conf-files
          mounts:
          - name: ceph
            mountPath: "/etc/ceph"
            readOnly: true
    Copy to Clipboard Toggle word wrap
    • 您必须在服务列表中的 ovnlibvirtnova-custom-ceph 服务前面添加 ceph-client 服务。ceph-client 服务通过分发 Red Hat Ceph Storage 客户端文件将 data plane 节点配置为 Red Hat Ceph Storage 服务器的客户端。
    • 这个示例可能无法列出环境中的所有服务。您可以运行以下命令来验证环境中的服务列表:

      $ oc get -n openstack crd/openstackdataplanenodesets.dataplane.openstack.org -o yaml |yq -r '.spec.versions.[].schema.openAPIV3Schema.properties.spec.properties.services.default
      Copy to Clipboard Toggle word wrap

      如需更多信息,请参阅 Data plane 服务

  5. 保存对 services 列表的更改。
  6. 创建 OpenStackDataPlaneDeployment CR:

    $ oc create -f <dataplanedeployment_cr_file>
    Copy to Clipboard Toggle word wrap
    • <dataplanedeployment_cr_file > 替换为您的文件的名称。

      nova-custom-ceph 服务的 Ansible 作业会将覆盖从 ConfigMap 复制到计算服务主机。Ansible 作业也使用 virsh secret channel 命令,以便 libvirt 服务检索由 FSIDcephx secret。

验证

  • nova_compute 容器之外运行以下命令,以确认 Ansible 作业的结果:

    $ sudo virsh secret-get-value $FSID
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部