存储控制器设置
本节介绍 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 系统的存储吞吐量。其中一个使用情形是,限制开发和测试系统的吞吐量,使其不会影响混合环境中的生产系统。
在规模估算过程中,必须确定非生产系统的性能要求。开发和测试系统的规模可以使用较低的性能值进行调整,通常在生产系统的 20% 到 50% 范围内。
从 ONTAP 9 开始, QoS 会在存储卷级别进行配置,并使用最大吞吐量值( MBps )和 I/O 数( IOPS )。
大型写入 I/O 对存储系统的性能影响最大。因此,应将 QoS 吞吐量限制设置为数据卷和日志卷中相应写入 SAP HANA 存储性能 KPI 值的百分比。
NetApp FabricPool
SAP HANA 系统中的活动主文件系统不能使用 NetApp FabricPool 技术。这包括数据和日志区域的文件系统以及 ` /hana 或共享` 文件系统。这样做会导致性能不可预测,尤其是在启动 SAP HANA 系统期间。
可以使用 " 仅快照 " 分层策略,也可以在 SnapVault 或 SnapMirror 目标等备份目标上使用 FabricPool 。
使用 FabricPool 在主存储上分层 Snapshot 副本或在备份目标上使用 FabricPool 会更改还原和恢复数据库或执行其他任务(例如创建系统克隆或修复系统)所需的时间。在规划整个生命周期管理策略时,请考虑这一点,并检查以确保在使用此功能时仍符合 SLA 要求。 |
FabricPool 是将日志备份移动到另一存储层的理想选择。移动备份会影响恢复 SAP HANA 数据库所需的时间。因此,应将选项 " 分层最小冷却天数 " 设置为一个值,以便在本地快速存储层上放置恢复所需的日志备份。
配置存储
以下概述总结了所需的存储配置步骤。后续章节将更详细地介绍每个步骤。在启动这些步骤之前,请完成存储硬件设置, ONTAP 软件安装以及存储 FCP 端口与 SAN 网络结构的连接。
-
检查正确的 SAS 堆栈配置,如一节所述 "磁盘架连接。"
-
创建和配置所需的聚合,如一节所述 "聚合配置"
-
按照一节中所述创建 Storage Virtual Machine ( SVM ) "Storage Virtual Machine 配置"
-
按照一节中所述创建逻辑接口( LIF ) "逻辑接口配置。"
-
按照一节中所述创建 FCP 端口集 "FCP 端口集。"
-
按照一节中所述,使用 HANA 服务器的全球通用名称( WWN )创建启动程序组( igroup ) "启动程序组。"
-
在聚合中创建卷和 LUN ,如一节所述 "SAP HANA 单主机系统的卷和 LUN 配置" 和 "SAP HANA 多主机系统的卷和 LUN 配置。"
磁盘架连接
对于 HDD ,最多可以将两个 DS2246 磁盘架或四个 DS224C 磁盘架连接到一个 SAS 堆栈,以提供 SAP HANA 主机所需的性能,如下图所示。每个磁盘架中的磁盘必须平均分布到 HA 对的两个控制器。
使用 SSD 时,最多可以将一个磁盘架连接到一个 SAS 堆栈,以提供 SAP HANA 主机所需的性能,如下图所示。每个磁盘架中的磁盘必须平均分布到 HA 对的两个控制器。对于 DS224C 磁盘架,也可以使用四路径 SAS 布线,但这并不是必需的。
聚合配置
通常,您必须为每个控制器配置两个聚合,而与使用的磁盘架或磁盘技术( SSD 或 HDD )无关。要使用所有可用的控制器资源,必须执行此步骤。对于 FAS 2000 系列系统,一个数据聚合就足够了。
使用 HDD 的聚合配置
下图显示了八个 SAP HANA 主机的配置。每个存储控制器连接四个 SAP HANA 主机。配置了两个单独的聚合,每个存储控制器一个。每个聚合都配置有 4 × 10 = 40 个数据磁盘( HDD )。
使用纯 SDD 系统进行聚合配置
通常,每个控制器必须配置两个聚合,而与使用的磁盘架或磁盘技术( SSD 或 HDD )无关。对于 FAS2000 系列系统,一个数据聚合就足够了。
下图显示了在配置了 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 。下图显示了在 HANA
SVM 上配置的四个 LIF (名为 fc_* )
的屏幕截图。
在使用 ONTAP 9.8 System Manager 创建 SVM 期间,可以选择所有必需的物理 FCP 端口,并自动为每个物理端口创建一个 LIF 。
下图展示了使用 ONTAP 9.8 System Manager 创建 SVM 和 LIF 的过程。
FCP 端口集
FCP 端口集用于定义特定 igroup 要使用的 LIF 。通常,为 HANA 系统创建的所有 LIF 都置于同一端口集中。下图显示了一个名为 32g 的端口集的配置,其中包括已创建的四个 LIF 。
在 ONTAP 9.8 中,不需要端口集,但可以通过命令行创建和使用该端口集。 |
启动程序组
可以为每个服务器或需要访问 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 主机上。有关更多详细信息,请参见第节 "主机设置。"
|
下图显示了 SS3_HANA 的启动程序列表。igroup 包含服务器的所有 WWPN ,并分配给存储控制器的端口集。
SAP HANA 单主机系统的卷和 LUN 配置
下图显示了四个单主机 SAP HANA 系统的卷配置。每个 SAP HANA 系统的数据卷和日志卷会分布到不同的存储控制器。例如 d,在 `m 控制器 A 上配置了卷 `SID1
_tata` _nt00001 ,在 `m 控制器 B 上配置了卷 `SID1
_`log` _nt00001`在每个卷中,会配置一个 LUN 。
如果 SAP HANA 系统仅使用高可用性( HA )对中的一个存储控制器,则数据卷和日志卷也可以存储在同一个存储控制器上。 |
对于每个 SAP HANA 主机,都会为 ` 或 HANA 或 Shared` 配置一个数据卷,一个日志卷和一个卷。下表显示了一个使用四个 SAP HANA 单主机系统的配置示例。
目的 | 控制器 A 上的聚合 1 | 控制器 A 上的聚合 2 | 控制器 B 上的聚合 1 | 控制器 B 上的聚合 2 |
---|---|---|---|---|
系统 SID1 的数据,日志和共享卷 |
数据卷: SID1_data_mnt00001 |
共享卷: sid1_shared |
– |
日志卷: SID1_LOG_mnt00001 |
系统 SID2 的数据,日志和共享卷 |
– |
日志卷: SID2_LOG_mnt00001 |
数据卷: SID2_data_mnt00001 |
共享卷: sid2_shared |
系统 SID3 的数据,日志和共享卷 |
共享卷: sID3_shared |
数据卷: SID3_data_mnt00001 |
日志卷: SID3_LOG_mnt00001 |
– |
系统 SID4 的数据,日志和共享卷 |
日志卷: SID4_LOG_mnt00001 |
– |
共享卷: SID4_shared |
数据卷: SID4_data_mnt00001 |
下表显示了单主机系统的挂载点配置示例。
LUN | HANA 主机上的挂载点 | 注意 |
---|---|---|
SID1_data_mnt00001 |
/ha/data/SID1/mnt00001 |
已使用 /etc/fstab 条目挂载 |
SID1_LOG_mnt00001 |
/ha/log/SID1/mnt00001 |
已使用 /etc/fstab 条目挂载 |
SID1_shared |
/has/shared/SID1 |
已使用 /etc/fstab 条目挂载 |
按照所述配置,存储用户 SID1adm 默认主目录的 ` /usr/sap/SID1` 目录位于本地磁盘上。在采用基于磁盘的复制的灾难恢复设置 s中, NetApp 建议在 `SID1 _sbr hared 卷中为 ` /usr/sap/sid1 目录创建一个额外的 LUN ,以便所有文件系统都位于中央存储上。
|
使用 Linux LVM 为 SAP HANA 单主机系统配置卷和 LUN
Linux LVM 可用于提高性能并解决 LUN 大小限制。LVM 卷组中的不同 LUN 应存储在不同的聚合和不同的控制器中。下表显示了每个卷组两个 LUN 的示例。
无需将 LVM 与多个 LUN 结合使用即可实现 SAP HANA KPI 。单个 LUN 设置可满足所需的 KPI 要求。 |
目的 | 控制器 A 上的聚合 1 | 控制器 A 上的聚合 2 | 控制器 B 上的聚合 1 | 控制器 B 上的聚合 2 |
---|---|---|---|---|
基于 LVM 的系统的数据,日志和共享卷 |
数据卷: SID1_data_mnt00001 |
共享卷: SID1_shared log2 卷: SID1_log2_mnt00001 |
Data2 卷: SID1_data2_mnt00001 |
日志卷: SID1_LOG_mnt00001 |
必须在 SAP HANA 主机上创建和挂载卷组和逻辑卷。下表列出了使用 LVM 的单主机系统的挂载点。
逻辑卷 /LUN | SAP HANA 主机上的挂载点 | 注意 |
---|---|---|
LV : SID1_data_mnt0000-vol |
/ha/data/SID1/mnt00001 |
已使用 /etc/fstab 条目挂载 |
LV : SID1_LOG_mnt00001-vol |
/ha/log/SID1/mnt00001 |
已使用 /etc/fstab 条目挂载 |
LUN : SID1_shared |
/has/shared/SID1 |
已使用 /etc/fstab 条目挂载 |
按照所述配置,存储用户 SID1adm 默认主目录的 ` /usr/sap/SID1` 目录位于本地磁盘上。在采用基于磁盘的复制的灾难恢复设置 s中, NetApp 建议在 `SID1 _sbr hared 卷中为 ` /usr/sap/sid1 目录创建一个额外的 LUN ,以便所有文件系统都位于中央存储上。
|
SAP HANA 多主机系统的卷和 LUN 配置
下图显示了 4+1 多主机 SAP HANA 系统的卷配置。每个 SAP HANA 主机的数据卷和日志卷会分布到不同的存储控制器。例如,在控制器 A 上配置了卷 SID
d
ata m _nt00001
,在 m 控制器 B 上配置了卷 `SID
_`log` _nt00001`每个卷都配置了一个 LUN 。
所有 HANA 主机都必须能够访问 ` /HANA / 共享` 卷,因此可以使用 NFS 导出此卷。即使对于 ` /ha/shared` 文件系统没有特定的性能 KPI , NetApp 建议使用 10 Gb 以太网连接。
如果 SAP HANA 系统仅使用 HA 对中的一个存储控制器,则数据和日志卷也可以存储在同一个存储控制器上。 |
对于每个 SAP HANA 主机,系统会创建一个数据卷和一个日志卷。` HANA 系统的所有主机都使用` /hana / 共享 卷。下图显示了 4+1 多主机 SAP HANA 系统的配置示例。
目的 | 控制器 A 上的聚合 1 | 控制器 A 上的聚合 2 | 控制器 B 上的聚合 1 | 控制器 B 上的聚合 2 |
---|---|---|---|---|
节点 1 的数据卷和日志卷 |
数据卷: sid_data_mnt00001 |
– |
日志卷: sid_log_mnt00001 |
– |
节点 2 的数据卷和日志卷 |
日志卷: sid_log_mnt00002 |
– |
数据卷: sid_data_mnt00002 |
– |
节点 3 的数据卷和日志卷 |
– |
数据卷: sid_data_mnt00003 |
– |
日志卷: sid_log_mnt00003 |
节点 4 的数据卷和日志卷 |
– |
日志卷: sid_log_mnt00004 |
– |
数据卷: sid_data_mnt00004 |
所有主机的共享卷 |
共享卷: sid_shared |
– |
– |
– |
下表显示了具有四个活动 SAP HANA 主机的多主机系统的配置和挂载点。
LUN 或卷 | SAP HANA 主机上的挂载点 | 注意 |
---|---|---|
LUN : SID_data_mnt00001 |
/ha/data/sid/mnt00001 |
使用存储连接器挂载 |
LUN : sid_log_mnt00001 |
/ha/log/sid/mnt00001 |
使用存储连接器挂载 |
LUN : SID_data_mnt00002 |
/ha/data/sid/mnt00002 |
使用存储连接器挂载 |
LUN : sid_log_mnt00002 |
/ha/log/sid/mnt00002 |
使用存储连接器挂载 |
LUN : SID_data_mnt00003 |
/ha/data/sid/mnt00003 |
使用存储连接器挂载 |
LUN : sid_log_mnt00003 |
/ha/log/sid/mnt00003 |
使用存储连接器挂载 |
LUN : SID_data_mnt00004 |
/ha/data/sid/mnt00004 |
使用存储连接器挂载 |
LUN : sid_log_mnt00004 |
/ha/log/sid/mnt00004 |
使用存储连接器挂载 |
卷: sid_shared |
/ha/shared/SID |
使用 NFS 和 /etc/fstab 条目挂载在所有主机上 |
在所述配置中,存储用户 SIDadm 默认主目录的 ` /usr/sap/SID` 目录位于每个 HANA 主机的本地磁盘上。在采用基于磁盘的复制的灾难恢复设置 s中, NetApp 建议在 `SID _sap hared` 卷中为 ` /usr/sap/SID` 文件系统另外创建四个子目录,以便每个数据库主机的所有文件系统都位于中央存储上。
|
使用 Linux LVM 为 SAP HANA 多主机系统配置卷和 LUN
Linux LVM 可用于提高性能并解决 LUN 大小限制。LVM 卷组中的不同 LUN 应存储在不同的聚合和不同的控制器中。下表显示了 2+1 SAP HANA 多主机系统中每个卷组两个 LUN 的示例。
无需使用 LVM 组合多个 LUN 即可实现 SAP HANA KPI 。单个 LUN 设置可满足所需的 KPI 要求。 |
目的 | 控制器 A 上的聚合 1 | 控制器 A 上的聚合 2 | 控制器 B 上的聚合 1 | 控制器 B 上的聚合 2 |
---|---|---|---|---|
节点 1 的数据卷和日志卷 |
数据卷: sid_data_mnt00001 |
log2 卷: sid_log2_mnt00001 |
日志卷: sid_log_mnt00001 |
Data2 卷: sid_data2_mnt00001 |
节点 2 的数据卷和日志卷 |
log2 卷: sid_log2_mnt00002 |
数据卷: sid_data_mnt00002 |
Data2 卷: sid_data2_mnt00002 |
日志卷: sid_log_mnt00002 |
所有主机的共享卷 |
共享卷: sid_shared |
– |
– |
– |
在 SAP HANA 主机上,需要创建和挂载卷组和逻辑卷:
逻辑卷( LV )或卷 | SAP HANA 主机上的挂载点 | 注意 |
---|---|---|
LV : sid_data_mnt00001-vol |
/ha/data/sid/mnt00001 |
使用存储连接器挂载 |
LV : sid_log_mnt00001-vol |
/ha/log/sid/mnt00001 |
使用存储连接器挂载 |
LV : sid_data_mnt00002-vol |
/ha/data/sid/mnt00002 |
使用存储连接器挂载 |
LV : sid_log_mnt00002-vol |
/ha/log/sid/mnt00002 |
使用存储连接器挂载 |
卷: sid_shared |
/has/ 共享 |
使用 NFS 和 /etc/fstab 条目挂载在所有主机上 |
在所述配置中,存储用户 SIDadm 默认主目录的 ` /usr/sap/SID` 目录位于每个 HANA 主机的本地磁盘上。在采用基于磁盘的复制的灾难恢复设置 s中, NetApp 建议在 `SID _sap hared` 卷中为 ` /usr/sap/SID` 文件系统另外创建四个子目录,以便每个数据库主机的所有文件系统都位于中央存储上。
|
卷选项
下表中列出的卷选项必须在所有 SVM 上进行验证和设置。
Action | ONTAP 9. |
---|---|
禁用自动 Snapshot 副本 |
vol modify – vserver <vserver-name> -volume <volname> -snapshot-policy none |
禁用 Snapshot 目录可见性 |
vol modify -vserver <vserver-name> -volume <volname> -snapdir-access false |
创建 LUN ,卷并将 LUN 映射到启动程序组
您可以使用 NetApp OnCommand 系统管理器创建存储卷和 LUN 并将其映射到服务器的 igroup 。
以下步骤显示了使用 SID SS3 配置 2+1 多主机 HANA 系统的情况。
-
在 NetApp ONTAP 系统管理器中启动创建 LUN 向导。
-
输入 LUN 名称,选择 LUN 类型,然后输入 LUN 的大小。
-
输入卷名称和托管聚合。
-
选择 LUN 应映射到的 igroup 。
-
提供 QoS 设置。
-
单击摘要页面上的下一步。
-
单击完成页面上的完成。
-
对每个 LUN 重复步骤 2 到 7 。
下图显示了 2+1 多主机设置需要创建的所有 LUN 的摘要。
使用 CLI 创建 LUN ,卷并将 LUN 映射到 igroup
本节显示了一个使用命令行和 ONTAP 9.8 的示例配置,该配置适用于 2+1 SAP HANA 多主机系统,其中 SID 为 FC5 ,使用 LVM ,每个 LVM 卷组具有两个 LUN 。
-
创建所有必要的卷。
vol create -volume FC5_data_mnt00001 -aggregate aggr1_1 -size 1200g -snapshot-policy none -foreground true -encrypt false -space-guarantee none vol create -volume FC5_log_mnt00002 -aggregate aggr2_1 -size 280g -snapshot-policy none -foreground true -encrypt false -space-guarantee none vol create -volume FC5_log_mnt00001 -aggregate aggr1_2 -size 280g -snapshot-policy none -foreground true -encrypt false -space-guarantee none vol create -volume FC5_data_mnt00002 -aggregate aggr2_2 -size 1200g -snapshot-policy none -foreground true -encrypt false -space-guarantee none vol create -volume FC5_data2_mnt00001 -aggregate aggr1_2 -size 1200g -snapshot-policy none -foreground true -encrypt false -space-guarantee none vol create -volume FC5_log2_mnt00002 -aggregate aggr2_2 -size 280g -snapshot-policy none -foreground true -encrypt false -space-guarantee none vol create -volume FC5_log2_mnt00001 -aggregate aggr1_1 -size 280g -snapshot-policy none -foreground true -encrypt false -space-guarantee none vol create -volume FC5_data2_mnt00002 -aggregate aggr2_1 -size 1200g -snapshot-policy none -foreground true -encrypt false -space-guarantee none vol create -volume FC5_shared -aggregate aggr1_1 -size 512g -state online -policy default -snapshot-policy none -junction-path /FC5_shared -encrypt false -space-guarantee none
-
创建所有 LUN 。
lun create -path /vol/FC5_data_mnt00001/FC5_data_mnt00001 -size 1t -ostype linux -space-reserve disabled -space-allocation disabled -class regular lun create -path /vol/FC5_data2_mnt00001/FC5_data2_mnt00001 -size 1t -ostype linux -space-reserve disabled -space-allocation disabled -class regular lun create -path /vol/FC5_data_mnt00002/FC5_data_mnt00002 -size 1t -ostype linux -space-reserve disabled -space-allocation disabled -class regular lun create -path /vol/FC5_data2_mnt00002/FC5_data2_mnt00002 -size 1t -ostype linux -space-reserve disabled -space-allocation disabled -class regular lun create -path /vol/FC5_log_mnt00001/FC5_log_mnt00001 -size 260g -ostype linux -space-reserve disabled -space-allocation disabled -class regular lun create -path /vol/FC5_log2_mnt00001/FC5_log2_mnt00001 -size 260g -ostype linux -space-reserve disabled -space-allocation disabled -class regular lun create -path /vol/FC5_log_mnt00002/FC5_log_mnt00002 -size 260g -ostype linux -space-reserve disabled -space-allocation disabled -class regular lun create -path /vol/FC5_log2_mnt00002/FC5_log2_mnt00002 -size 260g -ostype linux -space-reserve disabled -space-allocation disabled -class regular
-
为属于系统 FC5 的所有服务器创建 igroup 。
lun igroup create -igroup HANA-FC5 -protocol fcp -ostype linux -initiator 10000090fadcc5fa,10000090fadcc5fb, 10000090fadcc5c1,10000090fadcc5c2, 10000090fadcc5c3,10000090fadcc5c4 -vserver hana
-
将所有 LUN 映射到创建的 igroup 。
lun map -path /vol/FC5_data_mnt00001/FC5_data_mnt00001 -igroup HANA-FC5 lun map -path /vol/FC5_data2_mnt00001/FC5_data2_mnt00001 -igroup HANA-FC5 lun map -path /vol/FC5_data_mnt00002/FC5_data_mnt00002 -igroup HANA-FC5 lun map -path /vol/FC5_data2_mnt00002/FC5_data2_mnt00002 -igroup HANA-FC5 lun map -path /vol/FC5_log_mnt00001/FC5_log_mnt00001 -igroup HANA-FC5 lun map -path /vol/FC5_log2_mnt00001/FC5_log2_mnt00001 -igroup HANA-FC5 lun map -path /vol/FC5_log_mnt00002/FC5_log_mnt00002 -igroup HANA-FC5 lun map -path /vol/FC5_log2_mnt00002/FC5_log2_mnt00002 -igroup HANA-FC5