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

存储控制器设置

贡献者

本节介绍 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 网络结构的连接。

  1. 检查正确的 SAS 堆栈配置,如一节所述 "磁盘架连接。"

  2. 创建和配置所需的聚合,如一节所述 "聚合配置"

  3. 按照一节中所述创建 Storage Virtual Machine ( SVM ) "Storage Virtual Machine 配置"

  4. 按照一节中所述创建逻辑接口( LIF ) "逻辑接口配置。"

  5. 按照一节中所述创建 FCP 端口集 "FCP 端口集。"

  6. 按照一节中所述,使用 HANA 服务器的全球通用名称( WWN )创建启动程序组( igroup ) "启动程序组。"

  7. 在聚合中创建卷和 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 系统的情况。

  1. 在 NetApp ONTAP 系统管理器中启动创建 LUN 向导。

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

  2. 输入 LUN 名称,选择 LUN 类型,然后输入 LUN 的大小。

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

  3. 输入卷名称和托管聚合。

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

  4. 选择 LUN 应映射到的 igroup 。

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

  5. 提供 QoS 设置。

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

  6. 单击摘要页面上的下一步。

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

  7. 单击完成页面上的完成。

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

  8. 对每个 LUN 重复步骤 2 到 7 。

    下图显示了 2+1 多主机设置需要创建的所有 LUN 的摘要。

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

使用 CLI 创建 LUN ,卷并将 LUN 映射到 igroup

本节显示了一个使用命令行和 ONTAP 9.8 的示例配置,该配置适用于 2+1 SAP HANA 多主机系统,其中 SID 为 FC5 ,使用 LVM ,每个 LVM 卷组具有两个 LUN 。

  1. 创建所有必要的卷。

    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
  2. 创建所有 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
  3. 为属于系统 FC5 的所有服务器创建 igroup 。

    lun igroup create -igroup HANA-FC5 -protocol fcp -ostype linux -initiator 10000090fadcc5fa,10000090fadcc5fb, 10000090fadcc5c1,10000090fadcc5c2,  10000090fadcc5c3,10000090fadcc5c4 -vserver hana
  4. 将所有 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