6.4. 配置 NFS 后端


您可以使用 NFS 作为存储后端来配置 Image 服务(glance)。NFS 不对镜像服务是原生的。当您挂载用于镜像服务的 NFS 共享时,镜像服务会将数据写入文件系统,但不会验证 NFS 共享的可用性。

如果您使用 NFS 作为镜像服务的后端,请参阅以下最佳实践来降低风险:

  • 使用可靠的生产级 NFS 后端。
  • 确保网络可供部署镜像服务的 OpenShift (RHOSO)控制平面上的 Red Hat OpenStack Services 使用,并且镜像服务具有指向网络的 NetworkAttachmentDefinition 自定义资源(CR)。此配置可确保镜像服务 pod 可以访问 NFS 服务器。
  • 设置导出权限。写入权限必须存在于用作存储的共享文件系统中。

限制:

  • 在 OpenShift 上的 Red Hat OpenStack Services (RHOSO)中,您无法在 pod 规格中设置客户端 NFS 挂载选项。您可以使用以下方法之一设置 NFS 挂载选项:

    • 设置服务器端挂载选项。
    • 使用 /etc/nfsmount.conf
    • 使用带有挂载选项的 PersistentVolume 挂载 NFS 卷。

流程

  1. 打开 OpenStackControlPlane CR 文件 openstack_control_plane.yaml,并在 spec 部分添加 extraMounts 参数,以添加 NFS 共享的导出路径和 IP 地址。该路径映射到 /var/lib/glance/images,其中镜像服务 API (glanceAPI)存储并检索镜像:

    apiVersion: core.openstack.org/v1beta1
    kind: OpenStackControlPlane
    metadata:
      name: openstack
    ...
    spec:
      extraMounts:
      - extraVol:
        - extraVolType: Nfs
          mounts:
          - mountPath: /var/lib/glance/images
            name: nfs
          propagation:
          - Glance
          volumes:
          - name: nfs
            nfs:
              path: <nfs_export_path>
              server: <nfs_ip_address>
        name: r1
        region: r1
    ...
    Copy to Clipboard Toggle word wrap
    • <nfs_export_path > 替换为 NFS 共享的导出路径。
    • <nfs_ip_address > 替换为 NFS 共享的 IP 地址。此 IP 地址必须是覆盖网络的一部分,该网络可由镜像服务访问。
  2. glance 模板中添加以下参数,将 NFS 配置为后端:

    ...
    spec:
      extraMounts:
      ...
      glance:
        template:
          glanceAPIs:
            default:
              type: single
              replicas: 3 # Configure back end; set to 3 when deploying service
          ...
          customServiceConfig: |
            [DEFAULT]
            enabled_backends = default_backend:file
            [glance_store]
            default_backend = default_backend
            [default_backend]
            filesystem_store_datadir = /var/lib/glance/images
          databaseInstance: openstack
    ...
    Copy to Clipboard Toggle word wrap
    • replicas 设置为 3 以实现跨 API 的高可用性。

      注意

      配置 NFS 后端时,您必须将 类型设置为 单个。默认情况下,镜像服务具有外部 API 服务的 分割 部署类型,该服务可通过 Identity 服务(keystone)的公共和管理员端点访问,该服务可以通过 Identity 服务的内部端点访问。对于 文件 后端,分割 部署类型无效,因为不同的 pod 访问同一文件共享。

  3. 更新 control plane:

    $ oc apply -f openstack_control_plane.yaml -n openstack
    Copy to Clipboard Toggle word wrap
  4. 等待 RHOCP 创建与 OpenStackControlPlane CR 相关的资源。运行以下命令来检查状态:

    $ oc get openstackcontrolplane -n openstack
    Copy to Clipboard Toggle word wrap

    当状态为 "Setup complete" 时,会创建 OpenStackControlPlane 资源。

    提示

    -w 选项附加到 get 命令的末尾,以跟踪部署进度。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat