Skip to main content
NetApp solutions for SAP
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

存储控制器设置

贡献者 kevin-hoke netapp-mschoen

本节介绍 NetApp 存储系统的配置。您必须根据相应的 ONTAP 设置和配置指南完成主安装和设置。

存储效率

在 SSD 配置中, SAP HANA 支持实时重复数据删除,跨卷实时重复数据删除,实时数据压缩和实时数据缩减。

不支持在 HDD 配置中启用存储效率功能。

NetApp FlexGroup卷

SAP HANA不支持使用NetApp FlexGroup卷。由于SAP HANA的架构、使用FlexGroup卷不会带来任何优势、可能会导致性能问题。

NetApp卷和聚合加密

SAP HANA支持使用NetApp卷加密(NVE)和NetApp聚合加密(NAE)。

Quality of service

QoS可用于限制共享控制器上特定SAP HANA系统或非SAP应用程序的存储吞吐量。

生产和开发/测试

其中一个使用情形是,限制开发和测试系统的吞吐量,使其不会影响混合环境中的生产系统。在规模估算过程中,您应确定非生产系统的性能要求。开发和测试系统的规模可以采用较低的性能值进行调整,通常在 SAP 定义的生产系统 KPI 的 20% 到 50% 范围内。大型写入 I/O 对存储系统的性能影响最大。因此,应将 QoS 吞吐量限制设置为数据卷和日志卷中相应写入 SAP HANA 存储性能 KPI 值的百分比。

共享环境

另一个使用情形是限制写入负载繁重的吞吐量、尤其是避免这些工作负载对其他延迟敏感型写入工作负载产生影响。在这种环境下、最佳做法是对每个Storage Virtual Machine (SVM)中的每个LUN应用非共享吞吐量上限QoS组策略、以将每个存储对象的最大吞吐量限制为给定值。这样可以减少单个工作负载对其他工作负载产生负面影响的可能性。

为此、需要使用ONTAP集群的命令行界面为每个SVM创建一个组策略:

qos policy-group create -policy-group <policy-name> -vserver <vserver name> -max-throughput 1000MB/s -is-shared false

并应用于SVM中的每个LUN。以下示例显示了如何将策略组应用于SVM中的所有现有LUN:

lun modify -vserver <vserver name>  -path * -qos-policy-group  <policy-name>

需要对每个SVM执行此操作。每个SVM的QoS警察组名称必须不同。对于新LUN、可以直接应用此策略:

lun create -vserver <vserver_name> -path  /vol/<volume_name>/<lun_name>   -size <size> -ostype <e.g. linux>  -qos-policy-group <policy-name>

建议使用1000 MB/秒作为给定LUN的最大吞吐量。如果应用程序需要更多吞吐量、则应使用多个具有LUN条带化的LUN来提供所需的带宽。本指南第节提供了基于Linux LVM的SAP HANA示例"主机设置"

备注 此限制也适用于读取。因此、请使用足够的LUN来满足SAP HANA数据库启动时间和备份所需的SLA。

NetApp FabricPool

SAP HANA 系统中的活动主文件系统不能使用 NetApp FabricPool 技术。这包括数据和日志区域的文件系统以及 ` /hana 或共享` 文件系统。这样做会导致性能不可预测,尤其是在启动 SAP HANA 系统期间。

可以使用 " 仅快照 " 分层策略,也可以在 SnapVault 或 SnapMirror 目标等备份目标上使用 FabricPool 。

备注 使用 FabricPool 在主存储上分层 Snapshot 副本或在备份目标上使用 FabricPool 会更改还原和恢复数据库或执行其他任务(例如创建系统克隆或修复系统)所需的时间。在规划整个生命周期管理策略时,请考虑这一点,并检查以确保在使用此功能时仍符合 SLA 要求。

FabricPool 是将日志备份移动到另一存储层的理想选择。移动备份会影响恢复 SAP HANA 数据库所需的时间。因此,应将选项 " 分层最小冷却天数 " 设置为一个值,以便在本地快速存储层上放置恢复所需的日志备份。

配置存储

以下概述总结了所需的存储配置步骤。后续章节将更详细地介绍每个步骤。在启动这些步骤之前,请完成存储硬件设置, ONTAP 软件安装以及存储 FCP 端口与 SAN 网络结构的连接。

  1. 检查磁盘架配置是否正确,如中所述[磁盘架连接]

  2. 创建和配置所需的聚合,如中所述聚合配置

  3. 创建Storage Virtual Machine (SVM),如中所述Storage Virtual Machine 配置

  4. 创建逻辑接口(Lif),如中所述逻辑接口配置

  5. 使用HANA服务器的全球通用名称(Worldwide Name、WWN)创建启动程序组(igroup)、如链接:hana -fas -fc-storage-controller-setup.html#user-groups部分所述启动程序组

  6. 按照本节中的说明在聚合中创建和配置卷和 LUN "单主机设置"适用于单个主机或分段"多主机设置"对于多个主机

对于 HDD ,最多可以将两个 DS2246 磁盘架或四个 DS224C 磁盘架连接到一个 SAS 堆栈,以提供 SAP HANA 主机所需的性能,如下图所示。每个磁盘架中的磁盘必须平均分布到 HA 对的两个控制器。

图中显示了输入/输出对话框或表示已写入内容

使用 SSD 时,最多可以将一个磁盘架连接到一个 SAS 堆栈,以提供 SAP HANA 主机所需的性能,如下图所示。每个磁盘架中的磁盘必须平均分布到 HA 对的两个控制器。对于 DS224C 磁盘架,也可以使用四路径 SAS 布线,但这并不是必需的。

图中显示了输入/输出对话框或表示已写入内容

NVMe 磁盘架

每个NS224 NVMe磁盘架都通过每个控制器两个100GbE端口进行连接、如下图所示。每个磁盘架中的磁盘必须平均分布到 HA 对的两个控制器。

MVMe磁盘架连接

聚合配置

通常,您必须为每个控制器配置两个聚合,而与使用的磁盘架或磁盘技术( SSD 或 HDD )无关。要使用所有可用的控制器资源,必须执行此步骤。对于 FAS 2000 系列系统,一个数据聚合就足够了。

使用 HDD 的聚合配置

下图显示了八个 SAP HANA 主机的配置。每个存储控制器连接四个 SAP HANA 主机。配置了两个单独的聚合,每个存储控制器一个。每个聚合都配置有 4 × 10 = 40 个数据磁盘( HDD )。

图中显示了输入/输出对话框或表示已写入内容

使用纯 SDD 系统进行聚合配置

通常,每个控制器必须配置两个聚合,而与使用的磁盘架或磁盘技术( SSD 或 HDD )无关。

下图显示了在配置了 ADPv2 的 12 Gb SAS 磁盘架上运行的 12 个 SAP HANA 主机的配置。每个存储控制器连接六个 SAP HANA 主机。配置了四个单独的聚合,每个存储控制器两个。每个聚合都配置有 11 个磁盘,其中包含九个数据分区和两个奇偶校验磁盘分区。每个控制器都有两个备用分区。

图中显示了输入/输出对话框或表示已写入内容

Storage Virtual Machine 配置

采用 SAP HANA 数据库的多主机 SAP 环境可以使用一个 SVM 。如果需要,还可以为每个 SAP 环境分配一个 SVM ,以使其由公司内的不同团队进行管理。本文档中的屏幕截图和命令输出使用名为 HANA 的 SVM 。

逻辑接口配置

在存储集群配置中,必须创建一个网络接口( LIF )并将其分配给一个专用 FCP 端口。例如,如果出于性能原因需要四个 FCP 端口,则必须创建四个 LIF 。下图显示了在SVM上配置的八个SVM的屏幕截图。

逻辑接口概述

在使用 ONTAP 9 System Manager 创建 SVM 期间,可以选择所有必需的物理 FCP 端口,并自动为每个物理端口创建一个 LIF 。

下图说明了如何使用ONTAP系统管理器创建SVM和Lifs。

创建 SVM

启动程序组

可以为每个服务器或需要访问 LUN 的一组服务器配置 igroup 。igroup 配置需要服务器的全球通用端口名称( Worldwide Port Name , WWPN )。

使用 sanlun 工具,运行以下命令以获取每个 SAP HANA 主机的 WWPN :

stlrx300s8-6:~ # sanlun fcp show adapter
/sbin/udevadm
/sbin/udevadm

host0 ...... WWPN:2100000e1e163700
host1 ...... WWPN:2100000e1e163701
备注 该 `sanlun`工具是NetApp Host Utilities的一部分、必须安装在每个SAP HANA主机上。有关详细信息、请参见第节"主机设置。"

可以使用ONTAP集群的命令行界面创建启动程序组。

lun igroup create -igroup <igroup name> -protocol fcp -ostype linux -initiator <list of initiators> -vserver <SVM name>