3.6. 配置数据平面以使用 Red Hat Ceph Storage 集群
配置数据平面以使用 Red Hat Ceph Storage 集群。
流程
创建一个
ConfigMap,其中包含nova_compute容器内计算服务(nova)配置文件/etc/nova/nova.conf.d/的额外内容。此额外内容指示计算服务使用 Red Hat Ceph Storage RBD。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<03-ceph-nova.conf> 替换为您的文件名。此文件名必须遵循 swig-<name>-nova.conf的命名约定。文件由 Compute 服务按字母顺序评估。以01开头的文件名将在以02开头的文件名之前由 Compute 服务评估。当同一配置选项在多个文件中发生时,最后一个配置选项读取成功。 -
将
<backend_name> 替换为OpenStackControlPlaneCR 的glance模板中指定的后端名称。 -
将
<$FSID> 替换为实际的 FSID,如 获取 Ceph FSID 部分所述。FSID本身不需要被视为 secret。
-
将
创建 default
nova服务的自定义版本,以使用新的ConfigMap,本例中为ceph-nova。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
自定义服务命名为
nova-custom-ceph。它不能命名为nova,因为nova是不可更改的默认服务。任何名称与默认服务名称相同的自定义服务都会在协调过程中被覆盖。
-
自定义服务命名为
应用
ConfigMap和自定义服务更改:oc create -f ceph-nova.yaml
$ oc create -f ceph-nova.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
OpenStackDataPlaneNodeSetCR 中,添加ceph-client服务并将默认nova服务替换为新的自定义服务来更新服务列表,如nova-custom-ceph。添加extraMounts参数,以定义对 Ceph Storage secret 的访问。Example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
您必须在服务列表中的
ovn、libvirt和nova-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
$ oc get -n openstack crd/openstackdataplanenodesets.dataplane.openstack.org -o yaml |yq -r '.spec.versions.[].schema.openAPIV3Schema.properties.spec.properties.services.defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅 Data plane 服务。
-
您必须在服务列表中的
- 保存对 services 列表的更改。
创建
OpenStackDataPlaneDeploymentCR:oc create -f <dataplanedeployment_cr_file>
$ oc create -f <dataplanedeployment_cr_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<dataplanedeployment_cr_file> 替换为您的文件的名称。nova-custom-ceph服务的 Ansible 作业会将覆盖从ConfigMap复制到计算服务主机。Ansible 作业也使用virsh secret channel命令,以便libvirt服务检索由FSID的cephxsecret。
验证
在
nova_compute容器之外运行以下命令,以确认 Ansible 作业的结果:sudo virsh secret-get-value $FSID
$ sudo virsh secret-get-value $FSIDCopy to Clipboard Copied! Toggle word wrap Toggle overflow