第 6 章 配置共享文件系统服务(manila)


使用共享文件系统服务(manila),您可以置备多个计算实例、裸机节点或容器可以使用的共享文件系统。云管理员创建共享类型,以准备共享服务,并使最终用户能够创建和管理共享。

先决条件

  • 最终用户至少需要一个共享类型才能使用共享文件系统服务。
  • 对于 driver_handles_share_servers=False 的后端,云管理员预先配置必要的网络,而不是在共享文件系统后端中动态配置。
  • 对于通过 NFS 后端的 CephFS,云管理员使用隔离的网络和环境参数和自定义 network_data 文件部署 Red Hat OpenStack Platform (RHOSP) director,以便为 NFS 导出创建隔离的 StorageNFS 网络。部署后,在使用 overcloud 之前,管理员会创建一个对应的网络服务(neutron) StorageNFS 共享提供商网络,它映射到数据中心的隔离 StorageNFS 网络。
  • 要使计算实例连接到此共享提供商网络,用户必须添加额外的 neutron 端口。

6.1. 配置共享文件系统服务后端

当云管理员使用 Red Hat OpenStack Platform (RHOSP) director 部署共享文件系统服务(manila)时,他们可以选择一个或多个受支持的后端,如原生 CephFS、CephFS-NFS、NetApp、Dell EMC Unity 等。

有关原生 CephFS 和 CephFS-NFS 的更多信息,请参阅 部署 Red Hat Ceph Storage 和 Red Hat OpenStack Platform 和 director

有关支持的后端设备和驱动程序的完整列表,请参阅 Red Hat OpenStack Platform 中红帽知识库文章、组件、插件和驱动程序支持的 Manila 部分。

6.1.1. 配置多个后端

后端是与共享文件系统服务(manila)驱动程序配对的存储系统或技术,以导出文件系统。共享文件系统服务至少需要一个后端才能运行。在很多情况下,一个后端就足够了。但是,您还可以在单个共享文件系统服务安装中使用多个后端。

重要

Red Hat OpenStack Platform (RHOSP)不支持将同一后端的多个实例到共享文件系统服务部署。例如,您无法在同一部署中添加两个 Red Hat Ceph Storage 集群作为后端。CephFS 原生和 CephFS-NFS 被视为具有不同协议的后端。

共享文件系统服务的调度程序决定共享创建请求的目标后端。共享文件系统服务中的单一后端可以公开多个存储池。

当您配置多个后端时,调度程序会选择一个存储池,从所有配置的后端公开的所有池中创建一个资源。这个过程是从最终用户中提取的。最终用户只看到云管理员公开的功能。

6.1.2. 部署多个后端

默认情况下,标准共享文件系统服务(manila)部署环境文件只有一个后端。使用以下示例步骤将多个后端添加到共享文件系统服务中,并使用 CephFS-NFS 和 NetApp 后端部署环境。

先决条件

  • 至少两个后端。
  • 如果后端需要自定义容器,则必须使用 Red Hat Ecosystem Catalog 中的容器,而不是标准的共享文件系统服务容器。例如,如果您想要将 Dell EMC unity 存储系统后端与 Ceph 一起使用,请从目录中选择 Dell EMC unity 容器。

流程

  1. 创建存储自定义 YAML 文件。您可以使用此文件提供适合环境的任何值或覆盖:

    $ vi /home/stack/templates/storage_customizations.yaml
    Copy to Clipboard Toggle word wrap
  2. 配置存储自定义 YAML 文件使其包含任何覆盖,包括启用多个后端:

    parameter_defaults:
      ManilaEnabledShareProtocols:
        - NFS
      ManilaNetappLogin: '<login_name>'
      ManilaNetappPassword: '<password>'
      ManilaNetappServerHostname: '<netapp-hostname>'
      ManilaNetappVserver: ‘<netapp-vserver>’
      ManilaNetappDriverHandlesShareServers: 'false'
    Copy to Clipboard Toggle word wrap
    • 将尖括号 &lt ;& gt; 中的值替换为 YAML 文件的正确值。
  3. 使用 openstack overcloud deploy 命令指定后端模板。示例配置启用了带有 NetApp 后端和 CephFS-NFS 后端的共享文件系统服务。

    注意

    在发出 openstack overcloud deploy 命令前,执行 source ~/stackrc

    [stack@undercloud ~]$ source ~/stackrc
    $ openstack overcloud deploy \
      --timeout 100 \
      --stack overcloud \
      --templates /usr/share/openstack-tripleo-heat-templates \
      -n /usr/share/openstack-tripleo-heat-templates/network_data_ganesha.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-mds.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
      -r /home/stack/templates/roles/roles_data.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/manila-cephfsganesha-config.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/manila-netapp-config.yaml \
    -e /home/stack/templates/storage_customizations.yaml \
    ...
    Copy to Clipboard Toggle word wrap

其他资源

6.1.3. 确认部署多个后端

使用 manila service-list 命令验证后端是否已成功部署。如果您在多个后端中使用健康检查,则 ping 测试也会返回一个响应,即使其中一个后端没有响应,因此这不是验证部署的一种可靠方法。

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 查找 overcloudrc 凭证文件:

    $ source ~/overcloudrc
    Copy to Clipboard Toggle word wrap
  3. 确认共享文件系统服务后端列表:

    $ manila service-list
    
    +----+--------+--------+------+---------+-------+----------------------------+
    | Id | Binary | Host | Zone | Status | State | Updated_at |
    +----+--------+--------+------+---------+-------+----------------------------+
    | 2 | manila-scheduler | hostgroup | nova | enabled | up | 2021-03-24T16:49:09.000000 |
    | 5 | manila-share | hostgroup@cephfs | nova | enabled | up | 2021-03-24T16:49:12.000000 |
    | 8 | manila-share | hostgroup@tripleo_netapp | nova | enabled | up | 2021-03-24T16:49:06.000000 |
    Copy to Clipboard Toggle word wrap

    每个成功部署的后端的状态都显示 enabled,状态会显示 up

6.1.4. 覆盖允许的 NAS 协议

共享文件系统服务可以在许多网络附加存储(NAS)协议中导出共享,如 NFS、CIFS 或 CEPHFS。默认情况下,共享文件系统服务在部署中启用后端支持的所有 NAS 协议。

作为 Red Hat OpenStack Platform (RHOSP)管理员,您可以覆盖 ManilaEnabledShareProtocols 参数,并只列出云中要允许的协议。

例如,如果您的部署中的后端支持 NFS 和 CIFS,您可以覆盖默认值并仅启用一个协议。

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 查找 overcloudrc 凭证文件:

    $ source ~/overcloudrc
    Copy to Clipboard Toggle word wrap
  3. 创建存储自定义 YAML 文件。此文件可用于提供适合您的环境的任何值或覆盖:

    $ vi /home/stack/templates/storage_customizations.yaml
    Copy to Clipboard Toggle word wrap
  4. 使用您想要的值配置 ManilaEnabledShareProtocols 参数:

    parameter_defaults:
      ManilaEnabledShareProtocols:
        - NFS
        - CEPHFS
    Copy to Clipboard Toggle word wrap
  5. 使用 -e 选项,在 openstack overcloud deploy 命令中包含新内容的环境文件。确保您包含与部署相关的所有其他环境文件。

    $ openstack overcloud deploy \
    ...
    -e /home/stack/templates/storage_customizations.yaml
    Copy to Clipboard Toggle word wrap
    注意

    部署不会验证设置。您分配的 NAS 协议必须由共享文件系统服务部署的后端支持。

6.1.5. 查看后端功能

共享文件系统服务(manila)的调度程序组件根据容量、置备配置、放置提示以及后端存储系统驱动程序检测到和公开的功能,进行智能放置决策。

流程

  • 运行以下命令来查看可用功能:

    $ manila pool-list --detail
    +------------------------------------+----------------------------+
    | Property                           | Value                      |
    +------------------------------------+----------------------------+
    | name                               | hostgroup@cephfs#cephfs    |
    | pool_name                          | cephfs                     |
    | total_capacity_gb                  | 1978                       |
    | free_capacity_gb                   | 1812                       |
    ...
    | driver_handles_share_servers       | False                      |
    | snapshot_support                   | True                       |
    | create_share_from_snapshot_support | False                      |
    | revert_to_snapshot_support         | False                      |
    | mount_snapshot_support             | False                      |
    ...
    +------------------------------------+----------------------------+
    +------------------------------------+-----------------------------------+
    | Property                           | Value                             |
    +------------------------------------+-----------------------------------+
    | name                               | hostgroup@tripleo_netapp#aggr1_n1 |
    | pool_name                          | aggr1_n1                          |
    | total_capacity_gb                  | 6342.1                            |
    | free_capacity_gb                   | 6161.99                           |
    ...
    | driver_handles_share_servers       | False                             |
    | mount_snapshot_support             | False                             |
    | replication_type                   | None                              |
    | replication_domain                 | None                              |
    | sg_consistent_snapshot_support     | host                              |
    | ipv4_support                       | True                              |
    | ipv6_support                       | False                             |
    +------------------------------------+-----------------------------------+
    +------------------------------------+-----------------------------------+
    | Property                           | Value                             |
    +------------------------------------+-----------------------------------+
    | name                               | hostgroup@tripleo_netapp#aggr1_n2 |
    | pool_name                          | aggr1_n2                          |
    | total_capacity_gb                  | 6342.1                            |
    | free_capacity_gb                   | 6209.26                           |
    ...
    | snapshot_support                   | True                              |
    | create_share_from_snapshot_support | True                              |
    | revert_to_snapshot_support         | True                              |
    | driver_handles_share_servers       | False                             |
    | mount_snapshot_support             | False                             |
    | replication_type                   | None                              |
    | replication_domain                 | None                              |
    | sg_consistent_snapshot_support     | host                              |
    | ipv4_support                       | True                              |
    | ipv6_support                       | False                             |
    +------------------------------------+-----------------------------------+
    Copy to Clipboard Toggle word wrap

相关信息

要影响放置决策,作为管理员,您可以使用共享类型和额外的规格。有关共享类型的更多信息,请参阅创建共享类型

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat