

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# SAP HANA 纵向扩展
<a name="fsx-host-scaleup"></a>

以下部分是使用适用于 ONTAP 的 SAP HANA 纵向扩展部署的主机设置示例 FSx 。

**Topics**
+ [Linux 内核参数](#linux-setup-scaleup)
+ [网络文件系统 (NFS)](#nfs-setup-scaleup)
+ [创建子目录](#subdirectories-scaleup)
+ [创建挂载点](#mount-points-scaleup)
+ [挂载文件系统](#mount-filesys-scaleup)
+ [数据卷分区](#partitions-scaleup)

## Linux 内核参数
<a name="linux-setup-scaleup"></a>

1. `/etc/sysctl.d/91-NetApp-HANA.conf`使用以下配置创建文件

   ```
   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_slot_table_entries = 128
   ```

1. 要减少 ONTAP 单可用区文件系统（包括[计划的维护窗口](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/maintenance-windows.html)）故障转移期间的 I/O 错误，请创建其他文件。 FSx `/etc/sysctl.d/99-fsx-failover.conf`这些参数可优化 NFS 客户端行为，以更快地检测和响应故障转移事件。

   ```
   # NFS client optimizations for faster failover detection
   # Replace 'default' with your interface name (e.g., eth0, ens5) to target a specific interface
   net.ipv4.neigh.default.base_reachable_time_ms = 5000
   net.ipv4.neigh.default.delay_first_probe_time = 1
   net.ipv4.neigh.default.ucast_solicit = 0
   net.ipv4.tcp_syn_retries = 3
   ```

   有关更多信息和选项，请参阅[故障排除 I/O 错误和 NFS 锁回收](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/nfs-failover-issues.html)失败。

   如果发生这些错误，在某些情况下，它们可能会导致 SAP HANA 紧急关闭索引服务器进程以保护数据库一致性。

1. 将最大会话时段增加 NFSv4 到 180。

   ```
   echo options nfs max_session_slots = 180 > /etc/modprobe.d/nfsclient.conf
   ```

要激活这些更改，请运行`sysctl -p`内核参数并重新加载 NFS 模块，或者在计划的维护时段内重启实例（推荐）。

## 网络文件系统 (NFS)
<a name="nfs-setup-scaleup"></a>

网络文件系统（NFS）版本 4 及更高版本要求进行用户身份验证。您可以使用轻型目录访问协议（LDAP）服务器或本地用户账户进行身份验证。

如果您使用的是本地用户帐户，则在所有 Linux 服务器上都必须将 NFSv4 域设置为相同的值 SVMs。您可以在 Linux 主机上的 `/etc/idmapd.conf` 文件中设置域参数（`Domain = <domain name>`）。

要确定 SVM 的域设置，请使用以下命令：

```
nfs show -vserver hana-data -fields v4-id-domain
```

下面是示例输出：

```
vserver   v4-id-domain
--------- ------------
hana-data ec2.internal
```

## 创建子目录
<a name="subdirectories-scaleup"></a>

挂载 `/hana/shared` 卷，创建 `shared` 和 `usr-sap` 子目录，然后卸载。

```
mkdir /mnt/tmp
mount -t nfs -o sec=sys,vers=4.1 <svm-shared>:/HDB-shared /mnt/tmp
cd /mnt/tmp
mkdir shared
mkdir usr-sap
cd
umount /mnt/tmp
```

## 创建挂载点
<a name="mount-points-scaleup"></a>

在单主机系统中，在您的 Amazon EC2 实例上创建以下挂载点。

```
mkdir -p /hana/data/HDB/mnt00001
mkdir -p /hana/log/HDB/mnt00001
mkdir -p /hana/shared
mkdir -p /usr/sap/HDB
```

## 挂载文件系统
<a name="mount-filesys-scaleup"></a>

创建的文件系统必须作为 NFS 文件系统挂载在 Amazon EC2 上。下表是针对不同 SAP HANA 文件系统的 NFS 选项的推荐示例。


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
|   **文件系统**   |   **常用挂载选项**   |   **版本选项**   |   **传输大小选项**   |   **连接选项**   | 
|  SAP HANA 数据  |  rw,bg,hard,timeo=600,noatime,  |  vers=4,minorversion=1,lock,  |  rsize=262144,wsize=262144,  |  nconnect=4  | 
|  SAP HANA 日志  |  rw,bg,hard,timeo=600,noatime,  |  vers=4,minorversion=1,lock,  |  rsize=262144,wsize=262144,  |  nconnect=2  | 
|  SAP HANA 共享  |  rw,bg,hard,timeo=600,noatime,  |  vers=4,minorversion=1,lock,  |  rsize=262144,wsize=262144,  |  nconnect=2  | 
|  SAP HANA 二进制文件  |  rw,bg,hard,timeo=600,noatime,  |  vers=4,minorversion=1,lock,  |  rsize=262144,wsize=262144,  |  nconnect=2  | 
+ 只有卸载并重新挂载 NFS 文件系统后，对 `nconnect` 参数的更改才会生效。
+ 访问 FSx ONTAP 时，客户端系统必须具有唯一的主机名。如果存在同名的系统，则第二个系统可能无法访问 FSx ONTAP。

 **示例** 

向 `/etc/fstab` 添加以下几行，以便在实例重启期间保留已挂载的文件系统。然后，您可以运行 `mount -a` 来挂载 NFS 文件系统。

```
<svm-data>:/HDB_data_mnt00001 /hana/data/HDB/mnt00001 nfs rw,bg,hard,timeo=600,noatime,vers=4,minorversion=1,lock,rsize=262144,wsize=262144,nconnect=4
<svm-log>:/HDB_log_mnt00001 /hana/log/HDB/mnt00001 nfs rw,bg,hard,timeo=600,noatime,vers=4,minorversion=1,lock,rsize=262144,wsize=262144,nconnect=2
<svm-shared>:/HDB_shared/usr-sap /usr/sap/HDB nfs rw,bg,hard,timeo=600,noatime,vers=4,minorversion=1,lock,rsize=262144,wsize=262144,nconnect=2
<svm-shared>:/HDB_shared/shared /hana/shared nfs rw,bg,hard,timeo=600,noatime,vers=4,minorversion=1,lock,rsize=262144,wsize=262144,nconnect=2
```

## 数据卷分区
<a name="partitions-scaleup"></a>

在 SAP HANA 2.0 中 SPS4，额外的数据卷分区允许在单主机或多主机系统中为 SAP HANA 租户数据库的数据量配置两个或多个文件系统卷。数据卷分区使 SAP HANA 能够突破单个卷的大小和性能限制进行扩展。您可以随时添加额外的数据卷分区。有关更多信息，请参阅[添加其他数据卷分区](https://docs.netapp.com/us-en/netapp-solutions-sap/bp/hana-aff-nfs-add-data-volume-partitions.html)。

### 主机准备
<a name="host-preparation-scaleup"></a>

必须创建额外的挂载点和 `/etc/fstab` 条目，并且必须挂载了新卷。
+ 创建额外的挂载点并分配所需的权限、组和所有权。

  ```
  mkdir -p /hana/data2/HDB/mnt00001
  chmod -R 777 /hana/data2/HDB/mnt00001
  ```
+ 向 `/etc/fstab` 添加额外的文件系统。

  ```
  <data2>:/data2 /hana/data/HDB/mnt00001 nfs <mount options>
  ```
+ 将权限设置为 777。要使 SAP HANA 能够在后续步骤中添加新数据卷，这是必需的。SAP HANA 会在数据卷创建期间自动设置更严格的权限。

### 启用数据卷分区
<a name="enable-partition-scaleup"></a>

要启用数据卷分区，请在 `SYSTEMDB` 配置的 `global.ini` 文件中添加以下条目。

```
[customizable_functionalities]
persistence_datavolume_partition_multipath = true
```

```
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('customizable_functionalities', 'PERSISTENCE_DATAVOLUME_PARTITION_MULTIPATH') = 'true'
WITH RECONFIGURE;
```

**注意**  
更新 `global.ini` 文件后，您必须重新启动数据库。

### 添加额外的数据卷分区
<a name="add-partition-scaleup"></a>

对租户数据库运行以下 SQL 语句，向租户数据库添加额外的数据卷分区。

```
ALTER SYSTEM ALTER DATAVOLUME ADD PARTITION PATH '/hana/data/HDB/mnt00002/';
```

添加数据卷分区的速度很快。新数据卷分区在创建后为空。数据会随着时间的推移均匀分布在各个数据卷中。

为 ONTAP 文件系统配置和装载 FSx 后，可以在上 AWS安装和设置 SAP HANA 工作负载。有关更多信息，请参阅[上的 SAP HANA 环境设置 AWS](https://docs.aws.amazon.com/sap/latest/sap-hana/std-sap-hana-environment-setup.html)。