主机设置
本节所述的所有步骤对物理服务器上的 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 sunrpc.tcp_max_slot_table_entries = 128
可以使用适用于 SAP 操作系统的 SLES 版本中的 Saptune 设置这些值。请参见 "SAP 注释 3024346" (需要 SAP 登录)。 |
适用于 Red Hat Enterprise Linux 7.2 或更高版本的配置参数
您必须在每个 SAP HANA 主机上为 SAP HANA 生成的工作负载调整其他内核和配置参数。
从 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 sunrpc.tcp_max_slot_table_entries = 128
自RedHat Enterprise Linux 8.6版以来、还可以使用适用于SAP的RHEL系统角色(Ansible)应用这些设置。请参见 "SAP 注释 3024346" (需要 SAP 登录)。 |
在 /has/ 共享卷中创建子目录
这些示例显示了一个 SID=NF2 的 SAP HANA 数据库。 |
要创建所需的子目录,请执行以下操作之一:
-
对于单主机系统,请挂载 ` /ha/shared` 卷并创建
shared
和usr-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` 卷,然后为每个主机创建
shared
和usr-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 | ONTAP 9 中的 NFS 传输大小 | 使用 ONTAP 8 时的 NFS 传输大小 |
---|---|---|---|---|
rw , bg , hard , timeo=600 , noatime , |
nfsvers=3、无锁定、 |
nfsvers=4.1、锁定 |
rsize=1048576 , wsize=262144 , |
rsize=65536 , wsize=65536 , |
要提高 NFSv3 的读取性能, NetApp 建议您使用 nconnect=n mount 选项,该选项可在 SUSE Linux Enterprise Server 12 SP4 或更高版本以及 RedHat Enterprise Linux ( RHEL ) 8.3 或更高版本中使用。
|
性能测试表明了这一点 nconnect=4 可提供良好的读取结果、尤其是对数据卷。日志写入可能会因会话数较少而受益、例如 nconnect=2 。使用"nconnect"选项也可能有利于共享卷。请注意,从 NFS 服务器进行的首次挂载( IP 地址)会定义所使用的会话量。即使nconnect使用不同的值、进一步挂载到同一IP地址也不会更改此设置。
|
从ONTAP 9.8和SUSE SLES15SP2或RedHat RHEL 8.4或更高版本开始、NetApp也支持NFSv4.1的nconnect选项。 |
如果将nconnect与NFSv4.x结合使用、则应根据以下规则调整NFSv4.x会话插槽的数量:会话插槽的数量等于<nconnect value> x 64。在主机上、此操作将经过重新启动后进行处理echo options nfs max_session_slots=<calculated value> > /etc/modprobe.d/nfsclient.conf 。此外、还必须调整服务器端值、并按照中所述设置会话插槽的数量"NFSv4 的 NFS 配置。"
|
要在系统启动期间使用 ` /etc/fstab` 配置文件挂载文件系统,请完成以下步骤:
以下示例显示了一个主机 SAP HANA 数据库,其中 SID=NF2 使用 NFSv3 , NFS 传输大小为 1 MB 用于读取, 256 k 用于写入。
-
将所需的文件系统添加到 ` /etc/fstab` 配置文件中。
sapcc-hana-tst-06:/ # cat /etc/fstab <storage-vif-data01>:/NF2_data_mnt00001 /hana/data/NF2/mnt00001 nfs rw,nfsvers=3,hard,timeo=600,nconnect=4,rsize=1048576,wsize=262144,bg,noatime,nolock 0 0 <storage-vif-log01>:/NF2_log_mnt00001 /hana/log/NF2/mnt00001 nfs rw,nfsvers=3,hard,timeo=600,nconnect=2,rsize=1048576,wsize=262144,bg,noatime,nolock 0 0 <storage-vif-data01>:/NF2_shared/usr-sap /usr/sap/NF2 nfs rw,nfsvers=3,hard,timeo=600,nconnect=4,rsize=1048576,wsize=262144,bg,noatime,nolock 0 0 <storage-vif-data01>:/NF2_shared/shared /hana/shared nfs rw,nfsvers=3,hard,timeo=600,nconnect=4,rsize=1048576,wsize=262144,bg,noatime,nolock 0 0
-
运行
mount – a
在所有主机上挂载文件系统。
下一个示例显示了一个多主机 SAP HANA 数据库,其中 SID=NF2 对数据和日志文件系统使用 NFSv4.1 ,而对 ` , HA/Shared` 和 ` , USR/SAP/NF2` 文件系统使用 NFSv3 。使用 1 MB 的 NFS 传输大小进行读取,使用 256 k 的 NFS 传输大小进行写入。
-
将所需的文件系统添加到所有主机上的 ` /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,nfsvers=4.1,hard,timeo=600,nconnect=4,rsize=1048576,wsize=262144,bg,noatime,lock 0 0 <storage-vif-data02>:/NF2_data_mnt00002 /hana/data/NF2/mnt00002 nfs rw,nfsvers=4.1,hard,timeo=600,nconnect=4,rsize=1048576,wsize=262144,bg,noatime,lock 0 0 <storage-vif-log01>:/NF2_log_mnt00001 /hana/log/NF2/mnt00001 nfs rw,nfsvers=4.1,hard,timeo=600,nconnect=2,rsize=1048576,wsize=262144,bg,noatime,lock 0 0 <storage-vif-log02>:/NF2_log_mnt00002 /hana/log/NF2/mnt00002 nfs rw,nfsvers=4.1,hard,timeo=600,nconnect=2,rsize=1048576,wsize=262144,bg,noatime,lock 0 0 <storage-vif-data02>:/NF2_shared/usr-sap-host1 /usr/sap/NF2 nfs rw,nfsvers=3,hard,timeo=600,nconnect=4,rsize=1048576,wsize=262144,bg,noatime,nolock 0 0 <storage-vif-data02>:/NF2_shared/shared /hana/shared nfs rw,nfsvers=3,hard,timeo=600,nconnect=4,rsize=1048576,wsize=262144,bg,noatime,nolock 0 0
-
运行
mount – a
在所有主机上挂载文件系统。