第 3 章 定义后端
这部分论述了部署单一后端。部署 NetApp 后端的多个实例 需要自定义后端配置。具体步骤请查看 自定义块存储后端部署指南。
借助 director 部署,将 NetApp 设备定义为块存储后端的最简单方式是通过集成的 NetApp 环境文件。此文件位于 undercloud 节点的以下路径中:
/usr/share/openstack-tripleo-heat-templates/environments/storage/cinder-netapp-config.yaml
将此文件复制到本地路径,以便稍后进行编辑并调用该路径。例如,将其复制到 ~/templates/ :
cp /usr/share/openstack-tripleo-heat-templates/environments/storage/cinder-netapp-config.yaml ~/templates/
$ cp /usr/share/openstack-tripleo-heat-templates/environments/storage/cinder-netapp-config.yaml ~/templates/
之后,打开副本(~/templates/cinder-netapp-config.yaml),并根据情况进行编辑。以下片段显示此文件的默认内容:
有几个 director heat 参数控制 NFS 后端还是 NetApp NFS Block Storage 后端是否支持一个名为 NAS 的 NetApp 功能:
- CinderNetappNasSecureFileOperations
- CinderNetappNasSecureFilePermissions
- CinderNasSecureFileOperations
- CinderNasSecureFilePermissions
红帽不推荐启用此功能,因为它不会影响正常卷操作。director 会默认禁用这个功能,Red Hat OpenStack Platform 不支持它。
- 1
resource_registry部分中的 OS::TripleO::Services::CinderBackendNetApp 参数引用名为cinder-backend-netapp.yaml的可组合服务模板。这是 Director 应该用来加载配置后端所需的资源的模板。默认情况下,参数指定cinder-backend-netapp.yaml相对的路径。因此,使用文件的绝对路径更新这个参数:resource_registry: OS::TripleO::Services::CinderBackendNetApp: /usr/share/openstack-tripleo-heat-templates/puppet/services/cinder-backend-netapp.yaml
resource_registry: OS::TripleO::Services::CinderBackendNetApp: /usr/share/openstack-tripleo-heat-templates/puppet/services/cinder-backend-netapp.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 2
- parameter_defaults 部分包含您的后端定义。特别是,它包含 director 传递给
cinder-backend-netapp.yaml中定义的资源的参数。 - 3
- CinderEnableNetappBackend: true 行指示 director 使用 NetApp 后端默认配置所需的 puppet 清单。这包括定义块存储服务应使用的卷驱动程序(特别是
cinder.volume.drivers.netapp.common.NetAppDriver)。
要定义 NetApp 后端,请在您看到的 parameter_defaults 部分中编辑设置。下表说明了每个参数,并列出其对应的 cinder.conf 设置。
如需了解更多有关变量的信息,请参阅 NetApp OpenStack Docs 中用于 NetApp 设备的对应引用。
| 参数 | cinder.conf setting | Description |
|---|---|---|
| CinderNetappBackendName | volume_backend_name |
(必需) 用来识别卷后端的任意名称。 |
| CinderNetappLogin | netapp_login |
(必需) 用于访问后端或其代理服务器的管理帐户名称。对于这个参数,您可以使用具有集群级别的管理权限(名称或管理员)的帐户或 集群范围的帐户 |
| CinderNetappPassword | netapp_password | (必需) CinderNetappLogin 对应的密码。 |
| CinderNetappServerHostname | netapp_server_hostname | (必需) 存储系统或代理服务器(用于 E-Series)。这个选项的值应该是集群管理逻辑接口(LIF)或 Storage Virtual Machine (SVM) LIF 的 IP 地址或主机名。 |
| CinderNetappServerPort | netapp_server_port |
(可选) 块存储服务应使用的 TCP 端口与 NetApp 后端通信。如果没有指定,Data ONTAP 驱动程序会将 |
| CinderNetappSizeMultiplier | netapp_size_multiplier | (已弃用) 卷创建期间,将数量乘以请求的卷大小,以确保 NetApp 后端有足够的空间。 |
| CinderNetappStorageFamily | netapp_storage_family |
(可选) 后端设备上使用的存储系列类型。将
注意:在 7-Mode 中,对 Data ONTAP 工作的 |
| CinderNetappStorageProtocol | netapp_storage_protocol |
(必需) 要使用的存储协议。使用 |
| CinderNetappTransportType | netapp_transport_type |
(必需) 用于与后端通信的传输协议。有效选项包括 |
[a]
如需有关集群范围的帐户的更多信息,请参阅 ONTAP 配置(从 NetApp OpenStack Docs)
| ||
以下设置仅对集群 Data ONTAP 有效(正如,将 CinderNetappStorageFamily 设置为 ontap_cluster)。
| 参数 | cinder.conf setting | Description |
|---|---|---|
| CinderNetappVserver | netapp_vserver | (必需) 指定卷置备应该发生的 SVM 的名称。这是指存储集群中的单个 SVM。 |
以下设置仅对 E-Series 系列设备有效(正如,将 CinderNetappStorageFamily 设置为 e series)。
| 参数 | cinder.conf setting | Description |
|---|---|---|
| CinderNetappControllerIps | netapp_controller_ip | (必需) 以逗号分隔的控制器管理 IP/主机名列表,以限制该调配。 |
| CinderNetappSaPassword | netapp_sa_password | (可选) 到 NetApp E-Series 存储阵列的 Password。 |
| CinderNetappStoragePools | netapp_storage_pools | (删除) 一个以逗号分隔的磁盘池列表,这些池应该受到限制。 不要编辑此参数,因为它现在指的是不可用的驱动选项。 |
| CinderNetappEseriesHostType | netapp_eseries_host_type | (删除) 定义可以访问 LUN 的所有启动器的操作系统类型。当将 LUN 映射到单个主机或主机组时,会使用此信息。 不要编辑此参数,因为它现在指的是不可用的驱动选项。 |
| CinderNetappWebservicePath | netapp_webservice_path | (可选) 指定代理服务器上的 E-Series 代理应用程序的路径。要确定连接到代理应用程序的完整 URL,该驱动程序将 CinderNetappTransportType、CinderNetappServerHostname 和 CinderNetappServerPort 端口值合并。 |
只有使用 NFS 协议时,以下设置才有效(正如,将 CinderNetappStorageProtocol 设置为 nfs)。如需更多信息,请参阅 NetApp Unified Driver for Clustered Data ONTAP with NFS 或 NetApp Unified Driver for Data ONTAP for Data ONTAP for data ONTAP with NFS with NFS (它们包括 NetApp OpenStack Deployment 和 Operations Guide)。
| 参数 | cinder.conf setting | Description |
|---|---|---|
| CinderNetappNfsShares | None | (必需) 从 NetApp ONTAP 设备导出的 Data LIFs 的逗号分隔列表,由 Controller 节点挂载。此列表写入到 CinderNetappNfsSharesConfig 定义的位置。例如:
|
| CinderNetappNfsSharesConfig | nfs_shares_config | (必需) NFS 导出文件 的 Absolute 路径。此文件包含用作后端的可用 NFS 共享列表。 |
| CinderNetappNfsMountOptions | nfs_mount_options | (可选) 您要传递给 NFS 客户端的挂载选项列表(可选)。有关有效选项的详情请参考 man mount。 |
| CinderNetappCopyOffloadToolPath [a] | netapp_copyoffload_tool_path |
(可选) 指定 NetApp 复制卸载工具二进制文件 的路径。此二进制文件(在 NetApp 支持门户中可用)必须具有 |
[a]
这个选项只适用于 Clustered Data ONTAP (正如,将 CinderNetappStorageFamily 设置为 ontap_cluster)。有关更多信息,请参阅 带有 NFS 的 Clustered Data ONTAP 的 NetApp Unified Driver for Clustered Data ONTAP (来自 NetApp OpenStack Deployment 和操作指南)。
| ||