第 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/
Copy to Clipboard Toggle word wrap

之后,打开副本(~/templates/cinder-netapp-config.yaml),并根据情况进行编辑。以下片段显示此文件的默认内容:

# A heat environment file which can be used to enable a
# a Cinder NetApp backend, configured via puppet
resource_registry:
  OS::TripleO::Services::CinderBackendNetApp: ../puppet/services/cinder-backend-netapp.yaml  
1


parameter_defaults:  
2

  CinderEnableNetappBackend: true  
3

  CinderNetappBackendName: 'tripleo_netapp'
  CinderNetappLogin: ''
  CinderNetappPassword: ''
  CinderNetappServerHostname: ''
  CinderNetappServerPort: '80'
  CinderNetappSizeMultiplier: '1.2'
  CinderNetappStorageFamily: 'ontap_cluster'
  CinderNetappStorageProtocol: 'nfs'
  CinderNetappTransportType: 'http'
  CinderNetappVfiler: ''
  CinderNetappVolumeList: ''
  CinderNetappVserver: ''
  CinderNetappPartnerBackendName: ''
  CinderNetappNfsShares: ''
  CinderNetappNfsSharesConfig: '/etc/cinder/shares.conf'
  CinderNetappNfsMountOptions: ''
  CinderNetappCopyOffloadToolPath: ''
  CinderNetappControllerIps: ''
  CinderNetappSaPassword: ''
  CinderNetappStoragePools: ''
  CinderNetappEseriesHostType: 'linux_dm_mp'
  CinderNetappWebservicePath: '/devmgr/v2'
Copy to Clipboard Toggle word wrap
注意

有几个 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
Copy to Clipboard Toggle word wrap
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 设备的对应引用。

Expand
表 3.1. NetApp 通用后端设置
参数cinder.conf settingDescription

CinderNetappBackendName

volume_backend_name

(必需) 用来识别卷后端的任意名称。cinder-netapp-config.yaml 文件默认使用 tripleo_netapp 名称。

CinderNetappLogin

netapp_login

(必需) 用于访问后端或其代理服务器的管理帐户名称。对于这个参数,您可以使用具有集群级别的管理权限(名称或管理员)的帐户或 集群范围的帐户 [a] 使用适当的特权。

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 驱动程序会将 80 用于 HTTP 443 用于 HTTPS ;E-Series 将使用 8080 作为 HTTPS

CinderNetappSizeMultiplier

netapp_size_multiplier

(已弃用) 卷创建期间,将数量乘以请求的卷大小,以确保 NetApp 后端有足够的空间。

CinderNetappStorageFamily

netapp_storage_family

(可选) 后端设备上使用的存储系列类型。将 ontap_cluster 用于集群数据 ONTAP 或 eseries 用于 E-Series。

注意:在 7-Mode 中,对 Data ONTAP 工作的 ontap_7mode 的支持已弃用。

CinderNetappStorageProtocol

netapp_storage_protocol

(必需) 要使用的存储协议。使用 nfsiscsifc

CinderNetappTransportType

netapp_transport_type

(必需) 用于与后端通信的传输协议。有效选项包括 httphttps

[a] 如需有关集群范围的帐户的更多信息,请参阅 ONTAP 配置(从 NetApp OpenStack Docs)

以下设置仅对集群 Data ONTAP 有效(正如,将 CinderNetappStorageFamily 设置为 ontap_cluster)。

Expand
表 3.2. 集群 DATA ONTAP 的 NetApp 设置
参数cinder.conf settingDescription

CinderNetappVserver

netapp_vserver

(必需) 指定卷置备应该发生的 SVM 的名称。这是指存储集群中的单个 SVM。

以下设置仅对 E-Series 系列设备有效(正如,将 CinderNetappStorageFamily 设置为 e series)。

Expand
表 3.3. E-Series 的 NetApp 设置
参数cinder.conf settingDescription

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,该驱动程序将 CinderNetappTransportTypeCinderNetappServerHostnameCinderNetappServerPort 端口值合并。

只有使用 NFS 协议时,以下设置才有效(正如,将 CinderNetappStorageProtocol 设置为 nfs)。如需更多信息,请参阅 NetApp Unified Driver for Clustered Data ONTAP with NFSNetApp Unified Driver for Data ONTAP for Data ONTAP for data ONTAP with NFS with NFS (它们包括 NetApp OpenStack Deployment 和 Operations Guide)。

Expand
表 3.4. NFS 的 NetApp 设置
参数cinder.conf settingDescription

CinderNetappNfsShares

None

(必需) 从 NetApp ONTAP 设备导出的 Data 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 导出文件 的 Absolute 路径。此文件包含用作后端的可用 NFS 共享列表。

CinderNetappNfsMountOptions

nfs_mount_options

(可选) 您要传递给 NFS 客户端的挂载选项列表(可选)。有关有效选项的详情请参考 man mount

CinderNetappCopyOffloadToolPath [a]

netapp_copyoffload_tool_path

(可选) 指定 NetApp 复制卸载工具二进制文件 的路径。此二进制文件(在 NetApp 支持门户中可用)必须具有 Execute 权限集,因为 openstack-cinder-volume 进程需要执行此文件。

[a] 这个选项只适用于 Clustered Data ONTAP (正如,将 CinderNetappStorageFamily 设置为 ontap_cluster)。有关更多信息,请参阅 带有 NFS 的 Clustered Data ONTAP 的 NetApp Unified Driver for Clustered Data ONTAP (来自 NetApp OpenStack Deployment 和操作指南)
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat