3.5. 配置数据平面以使用 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: | 
    1
    
      [libvirt]
      images_type=rbd
      images_rbd_pool=vms
      images_rbd_ceph_conf=/etc/ceph/ceph.conf
      images_rbd_glance_store_name=default_backend
      images_rbd_glance_copy_poll_interval=15
      images_rbd_glance_copy_timeout=600
      rbd_user=openstack
      rbd_secret_uuid=$FSID 
    2
    Copy to Clipboard Toggle word wrap
    1
    此文件名必须遵循 swig-< name>-nova.conf 的命名约定。文件由 Compute 服务按字母顺序评估。以 01 开头的文件名将在以 02 开头的文件名之前由 Compute 服务评估。当同一配置选项在多个文件中发生时,最后一个配置选项读取成功。
    2
    $FSID 值应包含实际的 FSID,如 获取 Ceph FSID 部分所述FSID 本身不需要被视为 secret。
  2. 创建 default nova 服务的自定义版本,以使用新的 ConfigMap,本例中为 ceph-nova

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneService
    metadata:
      name: nova-custom-ceph 
    1
    
    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
    1
    自定义服务命名为 nova-custom-ceph。它不能命名为 nova,因为 nova 是不可更改的默认服务。任何名称与默认服务名称相同的自定义服务都会在协调过程中被覆盖。
  3. 应用 ConfigMap 和自定义服务更改:

    $ oc create -f ceph-nova.yaml
    Copy to Clipboard Toggle word wrap
  4. 更新 OpenStackDataPlaneNodeSet 服务列表,以添加 extraMounts 参数,以定义对 Ceph Storage secret 的访问并修改 服务列表。在 services 列表中,将 nova 服务替换为新的自定义服务(本例中为 nova-custom-ceph)。

    注意

    以下 OpenStackDataPlaneNodeSet CR 表示是一个示例,可能不会列出环境中的所有服务。对于环境中的服务的默认列表,请使用以下命令:

    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 服务

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneNodeSet
    spec:
      ...
      roles:
        edpm-compute:
          ...
          services:
            - configure-network
            - validate-network
            - install-os
            - configure-os
            - run-os
            - ceph-client
            - ovn
            - 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 服务器的客户端。

  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。

  • 作业完成后在 data plane 节点上运行以下命令,以确认作业结果:

    $ podman exec libvirt_virtsecretd virsh secret-get-value $FSID
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat