6.3. 直接从 Red Hat Ceph RADOS Block Device (RBD)配置镜像下载


当镜像服务(glance)将 Red Hat Ceph RADOS Block Device (RBD)用作后端,并且计算服务(nova)使用基于文件的本地临时存储时,您可以将计算服务配置为直接从 RBD 镜像存储库下载镜像,而无需使用镜像服务 API。这可减少在实例引导时将镜像下载到 Compute 节点镜像缓存所需的时间,从而缩短实例启动时间。

先决条件

  • 镜像服务后端是 Red Hat Ceph RADOS 块设备(RBD)。
  • 计算服务将基于文件的本地临时存储用于镜像缓存和实例磁盘。
  • oc 命令行工具已安装在您的工作站上。
  • 以具有 cluster-admin 权限的用户身份登录 Red Hat OpenStack Services on OpenShift (RHOSO)。
  • 您已选择了 OpenStackDataPlaneNodeSet CR,用于定义您要直接从 RBD 配置镜像下载的节点。有关创建 OpenStackDataPlaneNodeSet CR 的更多信息,请参阅 Deploying Red Hat OpenStack Services on OpenShift 指南中的使用预置备节点创建 OpenStackDataPlaneNodeSet CR

流程

  1. 创建或更新名为 nova-extra-configConfigMap CR,并设置 [glance] 下的参数的值,以指定镜像服务 RBD 后端,以及计算服务等待连接到镜像服务 RBD 后端的最长时间,以秒为单位:

    apiVersion: v1
    kind: ConfigMap
    metadata:
       name: nova-extra-config
       namespace: openstack
    data:
       33-nova-image-rbd.conf: |
         [glance]
         enable_rbd_download=True
         rbd_user=openstack
         rbd_pool=images
         rbd_ceph_conf=/etc/ceph/ceph.conf
         rbd_connect_timeout=5

    有关创建 ConfigMap 对象的更多信息,请参阅 在节点中创建和使用 配置映射

  2. 创建新的 OpenStackDataPlaneDeployment CR,以在 data plane 节点上配置服务并部署数据平面,并将它保存到工作站上名为 compute_image_rbd_deploy.yaml 的文件中:

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
       name: compute-image-rbd
  3. compute_image_rbd_deploy.yaml CR 中,指定 nodeSets 使其包含您要部署的所有 OpenStackDataPlaneNodeSet CR。确保包含您选择的 OpenStackDataPlaneNodeSet CR,它定义了您要直接从 RBD 配置镜像下载的节点。

    警告

    您无法在节点集合中重新配置节点的子集。如果需要这样做,您必须缩减节点设置并从之前删除的节点创建新节点集。

    警告

    如果您的部署有多个节点集,对 nova-extra-config.yaml ConfigMap 的更改可能会直接影响多个节点集,具体取决于节点集和 DataPlaneServices 的配置方式。要检查节点集是否使用 nova-extra-config ConfigMap,因此会受到重新配置的影响,请完成以下步骤:

    1. 检查节点集的服务列表,并查找指向 nova 的 DataPlaneService 的名称。
    2. 确保 DataPlaneServiceedpmServiceType 字段的值设置为 nova

      如果 DataPlaneServicedataSources 列表包含名为 nova-extra-configconfigMapRef,则此节点会使用此 ConfigMap,因此会受到此 ConfigMap 中的配置更改的影响。如果某些受影响的节点集合不应重新配置,您必须创建一个新的 DataPlaneService,指向这些节点集的独立 ConfigMap,并在所需的节点集中使用该自定义服务。

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
       name: compute-image-rbd
    spec:
       nodeSets:
         - openstack-edpm
         - compute-image-rbd
         - ...
         - <nodeSet_name>
    • <nodeSet_name > 替换为您要包含在 data plane 部署中的 'OpenStackDataPlaneNodeSet'CR 的名称。
  4. 保存 compute_image_rbd_deploy.yaml 部署文件。
  5. 部署数据平面:

    $ oc create -f compute_image_rbd_deploy.yaml
  6. 验证 data plane 是否已部署:

    $ oc get openstackdataplanenodeset
    
    NAME           STATUS MESSAGE
    compute-image-rbd True   Deployed
  7. 访问 openstackclient 的远程 shell,并验证部署的 Compute 节点是否在 control plane 上可见:

    $ oc rsh -n openstack openstackclient
    
    $ openstack hypervisor list
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部