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

主机设置

提供者

本节所述的所有步骤对物理服务器上的 SAP HANA 环境和在 VMware vSphere 上运行的 SAP HANA 均有效。

SUSE Linux Enterprise Server 的配置参数

必须根据 SAP HANA 生成的工作负载调整每个 SAP HANA 主机上的其他内核和配置参数。

SUSE Linux Enterprise Server 12 和 15

从 SUSE Linux Enterprise Server ( SLES ) 12 SP1 开始,必须在 ` /etc/sysctl.d` 目录的配置文件中设置内核参数。例如,必须创建一个名为 91-netapp-hana 的配置文件。

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 131072 16777216
net.ipv4.tcp_wmem = 4096 16384 16777216
net.core.netdev_max_backlog = 300000
net.ipv4.tcp_slow_start_after_idle=0
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
注 可以使用适用于 SAP 操作系统的 SLES 版本中的 Saptune 设置这些值。请参见 "SAP 注释 3024346" (需要 SAP 登录)。

如果使用 NFSv3 连接存储,则必须在 ` /etc/modprobe.d/sunrpc.conf` 中设置 sunrpc.tcp_max_slot_table_entries 参数。如果此文件不存在,则必须先通过添加以下行来创建它:

options sunrpc tcp_max_slot_table_entries=128

适用于 Red Hat Enterprise Linux 7.2 或更高版本的配置参数

您必须在每个 SAP HANA 主机上为 SAP HANA 生成的工作负载调整额外的内核和配置参数。

如果使用 NFSv3 连接存储,则必须在 ` /etc/modprobe.d/sunrpc.conf` 中设置参数 sunrpc.tcp_max_slot_table_entries 。如果此文件不存在,则必须先通过添加以下行来创建它:

options sunrpc tcp_max_slot_table_entries=128

从 Red Hat Enterprise Linux 7.2 开始,您必须在 ` /etc/sysctl.d` 目录的配置文件中设置内核参数。例如,必须创建一个名为 91-netapp-hana 的配置文件。

net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 131072 16777216
net.ipv4.tcp_wmem = 4096 16384  16777216
net.core.netdev_max_backlog = 300000
net.ipv4.tcp_slow_start_after_idle=0
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1

在 /has/ 共享卷中创建子目录

注 这些示例显示了一个 SID=NF2 的 SAP HANA 数据库。

要创建所需的子目录,请执行以下操作之一:

  • 对于单主机系统,请挂载 ` /ha/shared` 卷并创建 sharedusr-sp 子目录。

sapcc-hana-tst-06:/mnt # mount <storage-hostname>:/NF2_shared /mnt/tmp
sapcc-hana-tst-06:/mnt # cd /mnt/tmp
sapcc-hana-tst-06:/mnt/tmp # mkdir shared
sapcc-hana-tst-06:/mnt/tmp # mkdir usr-sap
sapcc-hana-tst-06:mnt/tmp # cd ..
sapcc-hana-tst-06:/mnt # umount /mnt/tmp
  • 对于多主机系统,请挂载 ` /ha/shared` 卷,然后为每个主机创建 sharedusr-sap 子目录。

    示例命令显示 2+1 多主机 HANA 系统。

sapcc-hana-tst-06:/mnt # mount <storage-hostname>:/NF2_shared /mnt/tmp
sapcc-hana-tst-06:/mnt # cd /mnt/tmp
sapcc-hana-tst-06:/mnt/tmp # mkdir shared
sapcc-hana-tst-06:/mnt/tmp # mkdir usr-sap-host1
sapcc-hana-tst-06:/mnt/tmp # mkdir usr-sap-host2
sapcc-hana-tst-06:/mnt/tmp # mkdir usr-sap-host3
sapcc-hana-tst-06:/mnt/tmp # cd ..
sapcc-hana-tst-06:/mnt # umount /mnt/tmp

创建挂载点

注 这些示例显示了一个 SID=NF2 的 SAP HANA 数据库。

要创建所需的挂载点目录,请执行以下操作之一:

  • 对于单主机系统,创建挂载点并在数据库主机上设置权限。

sapcc-hana-tst-06:/ # mkdir -p /hana/data/NF2/mnt00001
sapcc-hana-tst-06:/ # mkdir -p /hana/log/NF2/mnt00001
sapcc-hana-tst-06:/ # mkdir -p /hana/shared
sapcc-hana-tst-06:/ # mkdir -p /usr/sap/NF2
sapcc-hana-tst-06:/ # chmod –R 777 /hana/log/NF2
sapcc-hana-tst-06:/ # chmod –R 777 /hana/data/NF2
sapcc-hana-tst-06:/ # chmod -R 777 /hana/shared
sapcc-hana-tst-06:/ # chmod -R 777 /usr/sap/NF2
  • 对于多主机系统,创建挂载点并在所有工作主机和备用主机上设置权限。

    以下示例命令适用于 2+1 多主机 HANA 系统。

    • 第一员工主机:

sapcc-hana-tst-06:~ # mkdir -p /hana/data/NF2/mnt00001
sapcc-hana-tst-06:~ # mkdir -p /hana/data/NF2/mnt00002
sapcc-hana-tst-06:~ # mkdir -p /hana/log/NF2/mnt00001
sapcc-hana-tst-06:~ # mkdir -p /hana/log/NF2/mnt00002
sapcc-hana-tst-06:~ # mkdir -p /hana/shared
sapcc-hana-tst-06:~ # mkdir -p /usr/sap/NF2
sapcc-hana-tst-06:~ # chmod -R 777 /hana/log/NF2
sapcc-hana-tst-06:~ # chmod -R 777 /hana/data/NF2
sapcc-hana-tst-06:~ # chmod -R 777 /hana/shared
sapcc-hana-tst-06:~ # chmod -R 777 /usr/sap/NF2
  • 第二工作主机:

sapcc-hana-tst-07:~ # mkdir -p /hana/data/NF2/mnt00001
sapcc-hana-tst-07:~ # mkdir -p /hana/data/NF2/mnt00002
sapcc-hana-tst-07:~ # mkdir -p /hana/log/NF2/mnt00001
sapcc-hana-tst-07:~ # mkdir -p /hana/log/NF2/mnt00002
sapcc-hana-tst-07:~ # mkdir -p /hana/shared
sapcc-hana-tst-07:~ # mkdir -p /usr/sap/NF2
sapcc-hana-tst-07:~ # chmod -R 777 /hana/log/NF2
sapcc-hana-tst-07:~ # chmod -R 777 /hana/data/NF2
sapcc-hana-tst-07:~ # chmod -R 777 /hana/shared
sapcc-hana-tst-07:~ # chmod -R 777 /usr/sap/NF2
  • 备用主机:

sapcc-hana-tst-08:~ # mkdir -p /hana/data/NF2/mnt00001
sapcc-hana-tst-08:~ # mkdir -p /hana/data/NF2/mnt00002
sapcc-hana-tst-08:~ # mkdir -p /hana/log/NF2/mnt00001
sapcc-hana-tst-08:~ # mkdir -p /hana/log/NF2/mnt00002
sapcc-hana-tst-08:~ # mkdir -p /hana/shared
sapcc-hana-tst-08:~ # mkdir -p /usr/sap/NF2
sapcc-hana-tst-08:~ # chmod -R 777 /hana/log/NF2
sapcc-hana-tst-08:~ # chmod -R 777 /hana/data/NF2
sapcc-hana-tst-08:~ # chmod -R 777 /hana/shared
sapcc-hana-tst-08:~ # chmod -R 777 /usr/sap/NF2

挂载文件系统

根据 NFS 版本和 ONTAP 版本,必须使用不同的挂载选项。必须将以下文件系统挂载到主机:

  • ` /ha/data/SID/mnt0000*`

  • ` /ha/log/SID/mnt0000*`

  • ` /hana / 共享`

  • ` usr/sap/SID`

下表显示了单主机和多主机 SAP HANA 数据库的不同文件系统必须使用的 NFS 版本。

文件系统 SAP HANA 单台主机 SAP HANA 多台主机

/ha/data/sid/mnt0000*

NFSv3 或 NFSv4

NFSv4

/ha/log/sid/mnt0000*

NFSv3 或 NFSv4

NFSv4

/has/ 共享

NFSv3 或 NFSv4

NFSv3 或 NFSv4

/usr/sap/SID

NFSv3 或 NFSv4

NFSv3 或 NFSv4

下表显示了各种 NFS 版本和 ONTAP 版本的挂载选项。通用参数与 NFS 和 ONTAP 版本无关。

注 SAP Lama 要求 /usr/sap/SID 目录为本地目录。因此,如果使用的是 SAP Lama ,请勿挂载 /usr/sap/SID 的 NFS 卷。

对于 NFSv3 ,您必须关闭 NFS 锁定,以避免在软件或服务器出现故障时执行 NFS 锁定清理操作。

使用 ONTAP 9 , NFS 传输大小最多可配置为 1 MB 。具体而言,如果与存储系统建立 40GbE 或更快的连接,则必须将传输大小设置为 1 MB ,才能达到预期吞吐量值。

通用参数 NFSv3 NFSv4 NFSv4.1 ONTAP 9 中的 NFS 传输大小 使用 ONTAP 8 时的 NFS 传输大小

rw , bg , hard , timeo=600 , noatime ,

vers=3 , nolock ,

vers=4 , minorVersion=0 ,锁定

vers=4 , minorVersion=1 , lock

rsize=1048576 , wsize=1048576 ,

rsize=65536 , wsize=65536 ,

注 要提高 NFSv3 的读取性能,建议使用 nconnect=n mount 选项,该选项可用于 SUSE Linux Enterprise Server 12 SP4 或更高版本以及 RedHat Enterprise Linux ( RHEL ) 8.3 或更高版本。
注 性能测试表明, nconnect=8 可提供良好的读取结果。日志写入可能会因会话数较少而受益,例如 nconnect=2. 请注意,从 NFS 服务器进行的首次挂载( IP 地址)会定义所使用的会话量。即使 nconnect 使用不同的值,后续挂载也不会更改此设置。
注 从 ONTAP 9.8 和 SUSE SLES15SP2 或 RedHat RHEL 8.3 或更高版本开始, NetApp 支持 NFSv4.1 的 nconnect 选项。对于追加信息,请查看 Linux 供应商文档。

要在系统启动期间使用 ` /etc/fstab` 配置文件挂载文件系统,请完成以下步骤:

以下示例显示了使用 NFSv3 且 NFS 传输大小为 1 MB 的单个主机 SAP HANA 数据库,其中 SID=NF2 。

  1. 将所需的文件系统添加到 ` /etc/fstab` 配置文件中。

    sapcc-hana-tst-06:/ # cat /etc/fstab
    <storage-vif-data01>:/NF2_data_mnt00001 /hana/data/NF2/mnt00001 nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,nolock 0 0
    <storage-vif-log01>:/NF2_log_mnt00001 /hana/log/NF2/mnt00001 nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,nolock 0 0
    <storage-vif-data01>:/NF2_shared/usr-sap /usr/sap/NF2 nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,nolock 0 0
    <storage-vif-data01>:/NF2_shared/shared /hana/shared nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,nolock 0 0
  2. 运行 mount – a 在所有主机上挂载文件系统。

下一个示例显示了一个多主机 SAP HANA 数据库,其中 SID=NF2 对数据和日志文件系统使用 NFSv4.1 ,而对 ` , HA/Shared` 和 ` , USR/SAP/NF2` 文件系统使用 NFSv3 。使用的 NFS 传输大小为 1 MB 。

  1. 将所需的文件系统添加到所有主机上的 ` /etc/fstab` 配置文件中。

    注 每个数据库主机的 ` /usr/sap/nF2` 文件系统都不同。以下示例显示了 ` /NF2_Shared/usr- sap- host1` 。
    sapcc-hana-tst-06:/ # cat /etc/fstab
    <storage-vif-data01>:/NF2_data_mnt00001 /hana/data/NF2/mnt00001 nfs rw,vers=4, minorversion=1,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,lock 0 0
    <storage-vif-data02>:/NF2_data_mnt00002 /hana/data/NF2/mnt00002 nfs rw,vers=4, minorversion=1,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,lock 0 0
    <storage-vif-log01>:/NF2_log_mnt00001 /hana/log/NF2/mnt00001 nfs rw,vers=4, minorversion=1,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,lock 0 0
    <storage-vif-log02>:/NF2_log_mnt00002 /hana/log/NF2/mnt00002 nfs rw,vers=4, minorversion=1,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,lock 0 0
    <storage-vif-data02>:/NF2_shared/usr-sap-host1 /usr/sap/NF2 nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,nolock 0 0
    <storage-vif-data02>:/NF2_shared/shared /hana/shared nfs rw,vers=3,hard,timeo=600,rsize=1048576,wsize=1048576,bg,noatime,nolock 0 0
  2. 运行 mount – a 在所有主机上挂载文件系统。