第 3 章 定义后端
本节论述了单个后端的部署。部署 NetApp 后端的多个实例 需要自定义后端配置。具体步骤请查看 自定义块存储后端部署指南。
通过 Director 部署,将 NetApp 设备定义为块存储后端的最简单方法是通过集成的 NetApp 环境文件。此文件位于 Undercloud 节点的以下路径中:
/usr/share/openstack-tripleo-heat-templates/environments/cinder-netapp-config.yaml
将此文件复制到可以编辑并稍后调用的本地路径中。例如,将其复制到 ~/templates/ 中:
cp /usr/share/openstack-tripleo-heat-templates/environments/cinder-netapp-config.yaml ~/templates/
$ cp /usr/share/openstack-tripleo-heat-templates/environments/cinder-netapp-config.yaml ~/templates/
之后,打开副本(~/templates/cinder-netapp-config.yaml),并在您看到适合的情况下对其进行编辑。以下片段显示此文件的默认内容:
- 1
- resource_registry 部分中的 OS::TripleO::ControllerExtraConfigPre: 参数引用名为 cinder-netapp.yaml 的 Heat 模板。这是 Director 应使用的模板来加载配置后端所需的资源。默认情况下,参数指定 cinder-netapp.yaml 相对的路径。因此,使用文件的绝对路径更新此参数:
resource_registry: OS::TripleO::ControllerExtraConfigPre: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml
resource_registry: OS::TripleO::ControllerExtraConfigPre: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 2
- parameter_defaults 部分包含您的后端定义。具体来说,它包含 Director 应该传递给 cinder-netapp.yaml 中定义的资源的参数。
- 3
- CinderEnableNetappBackend: true 行指示 Director 使用 NetApp 后端默认配置所需的 puppet 清单。这包括定义块存储服务应使用的卷驱动程序(特别是 cinder.volume.drivers.netapp.common.NetAppDriver)。
要定义 NetApp 后端,请在您看到适合的 parameter_defaults 部分中编辑设置。下表解释了每个参数,并列出其对应的 /etc/cinder/cinder.conf 设置。
有关每个变量的更多上下文,请咨询您的 NetApp 设备在配置 (NetApp OpenStack 部署和操作指南中) 中的相应参考。
| 参数 | /etc/cinder/cinder.conf setting | 描述 |
|---|---|---|
| CinderNetappBackendName | volume_backend_name | (必需) 一个任意名称来标识卷后端。cinder-netapp-config.yaml 文件默认使用名称 tripleo_netapp。 |
| CinderNetappLogin | netapp_login | (必需) 用于访问后端或代理服务器的 Administrative 帐户名称。对于此参数,您可以使用具有集群级别管理权限(即 admin)或 集群范围的帐户的帐户 [a] 具有适当的特权。 |
| CinderNetappPassword | netapp_password | (必需) CinderNetappLogin 的对应密码。 |
| CinderNetappServerHostname | netapp_server_hostname | (必需) 存储系统或代理服务器(用于 E-Series)。这个选项的值应该是集群管理逻辑接口(LIF)或 Storage Virtual Machine (SVM) LIF 的 IP 地址或主机名。 |
| CinderNetappServerPort | netapp_server_port | (可选) 块存储服务用来与 NetApp 后端通信的 TCP 端口。如果没有指定,Data ONTAP 驱动程序将为 HTTPS 使用 80,HTTP 和 443;E-Series 会将 8080 用于 HTTP,8443 则用于 HTTPS。 |
| CinderNetappSizeMultiplier | netapp_size_multiplier | (已弃用) 在创建卷时,数量乘以请求的卷大小,以确保 NetApp 后端有足够的空间。 |
| CinderNetappStorageFamily | netapp_storage_family | (可选) 后端设备中使用的存储系列类型。将 ontap_cluster 用于集群的 Data ONTAP,ontap_7mode 用于 Data ONTAP 在 7-Mode 中操作,或 E-Series 的 eseries。 |
| CinderNetappStorageProtocol | netapp_storage_protocol | (必需) 要使用的存储协议。使用 nfs、iscsi 或 fc。 |
| CinderNetappTransportType | netapp_transport_type | (必需) 用于与后端通信的传输协议。有效选项包括 http 和 https。 |
[a]
有关集群范围的帐户的更多信息,请参阅 Data ONTAP Configuration (NetApp OpenStack Deployment and Operations Guide)
| ||
以下设置仅对集群的 Data ONTAP 有效(如,CinderNetappStorageFamily 设置为 ontap_cluster)。
| 参数 | /etc/cinder/cinder.conf setting | 描述 |
|---|---|---|
| CinderNetappVserver | netapp_vserver | (必需) 指定应该发生卷置备的 SVM 名称。这指的是存储集群中的单个 SVM。 |
以下设置只能通过在 7-Mode 中处理的 Data ONTAP 操作(如,CinderNetappStorageFamily 设为 ontap_7mode)。
| 参数 | /etc/cinder/cinder.conf setting | 描述 |
|---|---|---|
| CinderNetappVfiler | netapp_vfiler | (可选) 要在其上置备卷的 vFiler 单元。仅在 NetApp 后端上使用 MultiStore 功能时使用这个选项。 |
| CinderNetappVolumeList | netapp_volume_list | (已弃用) 将置备限制为指定的以逗号分隔的 NetApp 控制器卷列表。这个版本保留这个选项的后向兼容性。 |
| CinderNetappPartnerBackendName [a] | netapp_partner_backend_name | (必需) 这指定了另一个后端,它充当一半高可用性(HA)对。两个后端都必须在其各自后端定义中引用彼此的 volume_backend_name。 |
[a]
这个选项只有在使用光纤通道协议(如 CinderNetappStorageProtocol 设置为 fc 时)有效。如需了解更多详细信息,请参阅 NetApp Unified Driver for Data ONTAP in 7-Mode with Fibre Channel (Net NetApp OpenStack Deployment and Operations Guide)
| ||
以下设置仅对 E-Series 系列设备有效(如,将 CinderNetappStorageFamily 设置为 eseries)。
| 参数 | /etc/cinder/cinder.conf setting | 描述 |
|---|---|---|
| CinderNetappControllerIps | netapp_controller_ip | (必需) 以逗号分隔的控制器管理 IP/主机名列表,应该限制置备。 |
| CinderNetappSaPassword | netapp_sa_password | (可选) 到 NetApp E-Series 存储阵列的密码。 |
| CinderNetappStoragePools | netapp_storage_pools | (删除) 应该限制置备的磁盘池的逗号分隔列表。 不要编辑此参数,因为它现在指的是不可用的驱动程序选项。 |
| CinderNetappEseriesHostType | netapp_eseries_host_type | (删除) 定义可以访问 LUN 的所有发起方的操作系统类型。将 LUN 映射到单个主机或主机组时,会使用此信息。 不要编辑此参数,因为它现在指的是不可用的驱动程序选项。 |
| CinderNetappWebservicePath | netapp_webservice_path | (可选) 指定代理服务器上 E-Series 代理应用程序的路径。要确定用于连接代理应用程序的完整 URL,驱动程序组合了 CinderNetappTransportType、CinderNetappServerHostname 和 CinderNetappServerPort 端口值。 |
以下设置仅在使用 NFS 协议时有效(如将 CinderNetappStorageProtocol 设置为 nfs)。如需更多信息,请参阅 带有 NFS 的 Clustered Data ONTAP 的 NetApp Unified Driver,或 NetApp Unified Driver for Data ONTAP 在 7-Mode 中操作 (包括 NetApp OpenStack Deployment and Operations Guide)。
| 参数 | /etc/cinder/cinder.conf setting | 描述 |
|---|---|---|
| CinderNetappNfsShares | None | (必需) 从 NetApp ONTAP 设备导出的数据 LIFs 列表由 Controller 节点挂载。此列表写入到 CinderNetappNfsSharesConfig 定义的位置。例如: CinderNetappNfsShares: \'192.168.67.1:/cinder1,192.168.67.2:/cinder2,192.168.67.2:/cinder3,192.168.67.2:/archived_data' |
| CinderNetappNfsSharesConfig | nfs_shares_config | (必需) 到 NFS 导出文件 的绝对路径。此文件包含要用作后端的可用 NFS 共享列表。 |
| CinderNetappNfsMountOptions | nfs_mount_options | (可选) 您要传递给 NFS 客户端的挂载选项列表。有关有效选项的更多信息,请参阅 man mount。 |
| CinderNetappCopyOffloadToolPath [a] | netapp_copyoffload_tool_path | (可选) 指定 NetApp copy offload 工具二进制 的路径。此二进制文件( NetApp 支持门户提供)必须设置 Execute 权限,因为 openstack-cinder-volume 进程需要执行此文件。 |
[a]
这个选项只适用于 Clustered Data ONTAP (如,CinderNetappStorageFamily 设置为 ontap_cluster)。如需更多信息,请参阅 NetApp Unified Driver for Clustered Data ONTAP with NFS (NetApp OpenStack Deployment and Operations Guide)。
| ||