第 6 章 配置共享文件系统服务(manila)
使用共享文件系统服务(manila),您可以置备多个计算实例、裸机节点或容器可以消耗的共享文件系统。云管理员创建共享类型来准备共享服务,并使最终用户能够创建和管理共享。
先决条件
- 最终用户需要至少一个共享类型才能使用共享文件系统服务。
-
对于
driver_handles_share_servers=False
的后端,云管理员会提前配置必要的网络,而不是在共享文件系统后端动态配置。 -
对于 CephFS 通过 NFS 后端,云管理员使用隔离网络和环境参数和自定义
network_data
文件部署 Red Hat OpenStack Platform (RHOSP) director,以便为 NFS 导出创建隔离的 StorageNFS 网络。部署后,在使用 overcloud 之前,管理员会创建一个对应的网络服务(neutron) StorageNFS 共享提供商网络,该网络映射到数据中心的隔离 StorageNFS 网络。 - 要使 Compute 实例连接到此共享提供商网络,用户必须添加额外的 neutron 端口。
6.1. 共享文件系统服务后端 复制链接链接已复制到粘贴板!
当云管理员使用 Red Hat OpenStack Platform (RHOSP) director 部署共享文件系统服务(manila)时,他们可以选择以下一个或多个支持的后端:
- CephFS through NFS。如需更多信息,请参阅通过 NFS 使用 CephFS 部署共享文件系统服务。
- 原生 CephFS。如需更多信息,请参阅 使用原生 CephFS 部署共享文件系统服务。
- NetApp.如需更多信息,请参阅 NetApp 文档: 共享文件系统服务(Manila)。
- Dell EMC unity、Dell VNX 或 Dell PowerMax。如需更多信息,请参阅 Dell 文档: Red Hat OpenStack Platform 16 的 Dell EMC Manila 后端部署指南。
有关支持的后端设备和驱动程序的完整列表,请参阅 RHEL OpenStack Platform 中的组件、插件和驱动程序支持。
6.1.1. 使用多个后端 复制链接链接已复制到粘贴板!
后端是一种存储系统或技术,可与共享文件系统服务(manila)驱动程序配对来导出文件系统。共享文件系统服务需要至少一个后端才能操作。在很多情况下,一个后端就足够了。但是,您还可以在单一共享文件系统服务安装中使用多个后端。
目前,Red Hat OpenStack Platform (RHOSP)不支持同一后端的多个实例到共享文件系统服务部署。例如,您不能将两个 Ceph Storage 集群添加为同一部署中的后端。您选择的后端必须是异构的。CephFS 原生和 CephFS through NFS 被认为是有不同协议的后端。
共享文件系统服务的调度程序决定共享创建请求的目的地后端。共享文件系统服务中的单个后端可以公开多个存储池。
当您配置多个后端时,调度程序选择一个存储池,以从所有配置的后端公开的所有池中创建资源。这是从最终用户中提取的。最终用户只能看到云管理员公开的功能。
6.1.2. 部署多个后端 复制链接链接已复制到粘贴板!
默认情况下,标准共享文件系统部署环境文件只有一个后端。使用以下示例流程,将多个后端添加到共享文件系统服务(manila)中,并使用 CephFS-Ganesha 和 NetApp 后端部署环境。
先决条件
- 至少两个后端。
- 如果后端需要自定义容器,则必须使用 红帽生态系统目录中 而不是标准的共享文件系统服务容器。例如,如果要使用带有 Ceph 的 Dell EMC unity 存储系统后端,请从目录中选择 Dell EMC Unity 容器。
流程
创建存储自定义 YAML 文件。您可以使用此文件提供适合您的环境的任何值或覆盖:
vi /home/stack/templates/storage_customizations.yaml
$ vi /home/stack/templates/storage_customizations.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置存储自定义 YAML 文件以包含任何覆盖,包括启用多个后端:
parameter_defaults: ManilaEnabledShareProtocols: - NFS ManilaNetappLogin: '<login_name>' ManilaNetappPassword: '<password>' ManilaNetappServerHostname: '<netapp-hostname>' ManilaNetappVserver: ‘<netapp-vserver>’ ManilaNetappDriverHandlesShareServers: 'false'
parameter_defaults: ManilaEnabledShareProtocols: - NFS ManilaNetappLogin: '<login_name>' ManilaNetappPassword: '<password>' ManilaNetappServerHostname: '<netapp-hostname>' ManilaNetappVserver: ‘<netapp-vserver>’ ManilaNetappDriverHandlesShareServers: 'false'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
openstack overcloud deploy
命令指定后端模板。示例配置通过 NFS 后端启用带有 NetApp 后端和 CephFS 的共享文件系统服务。注意在发出
openstack overcloud deploy
命令之前,执行source ~/stackrc
。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 Copied! Toggle word wrap Toggle overflow
其他资源
-
有关
ManilaEnabledShareProtocols
参数的详情请参考 第 6.1.4 节 “覆盖允许的 NAS 协议”。 - 有关部署命令的更多信息,请参阅 Director 安装和使用。
6.1.3. 确认部署多个后端 复制链接链接已复制到粘贴板!
使用 manila service-list
命令来验证后端是否已成功部署。如果您在多个后端上使用健康检查,ping 测试会返回响应,即使其中一个后端不响应,因此这不是验证部署的可靠方法。
流程
-
以
stack
用户身份登录 undercloud 主机。 查找
overcloudrc
凭证文件:source ~/overcloudrc
$ source ~/overcloudrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确认共享文件系统服务后端列表:
manila service-list
$ 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 Copied! Toggle word wrap Toggle overflow 每个成功部署的后端的状态显示
enabled
,状态会显示up
。
6.1.4. 覆盖允许的 NAS 协议 复制链接链接已复制到粘贴板!
共享文件系统服务可以在许多网络连接的存储(DSL)协议中导出共享,如 NFS、CIFS 或 CEPHFS。默认情况下,共享文件系统服务启用部署中后端支持的所有 NAS 协议。
作为 Red Hat OpenStack Platform (RHOSP)管理员,您可以覆盖 ManilaEnabledShareProtocols
参数,并只列出要在云中允许的协议。
例如,如果部署中的后端同时支持 NFS 和 CIFS,您可以覆盖默认值并只启用一个协议。
流程
-
以
stack
用户身份登录 undercloud 主机。 查找
overcloudrc
凭证文件:source ~/overcloudrc
$ source ~/overcloudrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建存储自定义 YAML 文件。此文件可用于提供适合您的环境的任何值或覆盖:
vi /home/stack/templates/storage_customizations.yaml
$ vi /home/stack/templates/storage_customizations.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您想要的值配置
ManilaEnabledShareProtocols
参数:parameter_defaults: ManilaEnabledShareProtocols: - NFS - CEPHFS
parameter_defaults: ManilaEnabledShareProtocols: - NFS - CEPHFS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
-e
选项,在openstack overcloud deploy
命令中包含新内容的环境文件。确保包含与部署相关的所有其他环境文件。openstack overcloud deploy \ ...
$ openstack overcloud deploy \ ... -e /home/stack/templates/storage_customizations.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意部署不会验证设置。您分配的 NAS 协议必须被共享文件系统服务部署中的后端支持。
6.1.5. 查看后端功能 复制链接链接已复制到粘贴板!
共享文件系统服务(manila)的调度程序组件根据几个因素(如容量、置备配置、放置提示以及后端存储系统驱动程序检测到和公开的功能)做出智能放置决策。
流程
运行以下命令来查看可用功能:
manila pool-list --detail
$ 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 Copied! Toggle word wrap Toggle overflow
相关信息
要影响放置决策,作为管理员,您可以使用共享类型和额外规格。有关共享类型的更多信息 ,请参阅创建共享类型。