

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

# 跨 HA 对平衡工作负载
<a name="monitor-workload-balance"></a>

如果您的文件系统具有多个高可用性 (HA) 对，则其吞吐量和存储将分布在每个 HA 对中。 FSx for ONTAP 会在将文件写入文件系统时自动平衡文件，但添加高可用性对后，工作负载数据和 I/O 工作负载数据将不再平衡。此外，在极少数情况下，您的工作负载数据 I/O 可能会在文件系统的现有 HA 对之间变得不平衡，这可能会影响工作负载的整体性能。如果工作负载不平衡，则可以在文件系统的每个 HA 对（及其相应的文件服务器和*聚合*，即构成主存储层的存储池）之间进行重新平衡。

**Topics**
+ [主存储利用率平衡](#primary-storage-balance)
+ [文件服务器和磁盘性能利用率不平衡](#server-disk-imbalance)
+ [将 CloudWatch 维度映射到 ONTAP CLI 和 REST API 资源](#map-dimensions-to-resources)
+ [重新平衡客户端](#rebalancing-clients)
+ [重新平衡卷](#rebalancing-volumes)

## 主存储利用率平衡
<a name="primary-storage-balance"></a>

文件系统的主存储容量在各个 HA 中之间平均分配给称为聚合的存储池中。每个 HA 对都有一个聚合。我们建议将主存储层的平均利用率持续保持在不高于 80% 的水平。对于具有多个 HA 对的文件系统，我们建议将每个聚合的平均利用率保持在 80% 以下。

保持 80% 的利用率可确保为新的传入数据预留可用空间，并为可能临时占用聚合上可用空间的维护操作保持合理的开销。

如果发现聚合不平衡，可以增加文件系统的主存储容量（相应地增加每个聚合的存储容量），或者也可以在聚合之间移动卷。有关更多信息，请参阅 [在聚合之间移动卷](moving-fg-volumes.md)。

## 文件服务器和磁盘性能利用率不平衡
<a name="server-disk-imbalance"></a>

文件系统的总体性能（例如网络吞吐量、文件服务器到磁盘的吞吐量和 IOPS 以及磁盘 IOPS）平均分配给文件系统的 HA 对。对于各种性能限制，我们建议将平均利用率持续保持在 50% 以下（最大峰值利用率低于 80%），这既适用于文件系统文件服务器资源在所有 HA 对中的总体利用率，也适用于每个文件服务器的利用率。

如果发现文件服务器性能利用率不平衡，工作负载不平衡的文件服务器的持续利用率超过 80%，则可以使用 ONTAP CLI 和 REST API 进一步诊断性能不平衡的原因并进行修复。下表列出了可能的不平衡指标以及进行进一步诊断的后续步骤。


| 如果文件系统... | 则... | 
| --- | --- | 
| 文件服务器磁盘吞吐量或文件服务器磁盘 IOPS 不平衡 | 您可能会在高可用性对子集（包含大量正在访问的数据的卷子集）上遇到 I/O 热点，这可能会限制工作负载的整体性能，因为它在高可用性对子集上存在瓶颈。对于各个高利用率文件服务器，请检查利用率最高的卷，查看聚合中哪些卷的活动最多。有关此过程的更多信息，请参阅[重新平衡卷](#rebalancing-volumes)。 | 
| 网络吞吐量不平衡，但文件服务器磁盘吞吐量、文件服务器磁盘 IOPS 或磁盘 IOPS 未出现不平衡  | 数据在 HA 对之间均匀分布，但客户端分布不均匀。对于网络吞吐量利用率较高的文件服务器，请检查各个文件服务器的主要客户端，然后通过从这些客户端上卸载任何卷，并在不同 HA 对上挂载至不同的端点来重新平衡这些客户端。有关此过程的更多信息，请参阅[重新平衡客户端](#rebalancing-clients)。 | 

## 将 CloudWatch 维度映射到 ONTAP CLI 和 REST API 资源
<a name="map-dimensions-to-resources"></a>

您的第二代文件系统具有带`FileServer`或`Aggregate`维度的 Amazon CloudWatch 指标。为了进一步诊断不平衡情况，需要将这些维度值映射到 ONTAP CLI 或 REST API 中的特定文件服务器（或*节点*）和聚合。
+ 对于文件服务器，各个文件服务器名称均映射到 ONTAP 中的文件服务器（或节点）名称（例如 `FsxId01234567890abcdef-01`）。奇数文件服务器为首选文件服务器（也就是说，除非文件系统已失效转移至辅助文件服务器，否则将由这些服务器提供流量），而偶数文件服务器为辅助文件服务器（也就是说，它们仅在伙伴服务器不可用时提供流量）。因此，辅助文件服务器的利用率通常低于首选文件服务器。
+ 对于聚合，各个聚合名称均映射到 ONTAP 中的聚合（例如 `aggr1`）。每个 HA 对都有一个聚合，这意味着聚合 `aggr1` 由 HA 对中的文件服务器 `FsxId01234567890abcdef-01`（活动文件服务器）和 `FsxId01234567890abcdef-02`（辅助文件服务器）共享，聚合 `aggr2` 由文件服务器 `FsxId01234567890abcdef-03` 和 `FsxId01234567890abcdef-04` 共享，依此类推。

可以使用 ONTAP CLI 查看所有聚合和文件服务器之间的映射。

1.  要通过 SSH 登录文件系统的 NetApp ONTAP CLI，请按照《*Amazon for NetApp ONTAP 用户指南》中记录的步骤 FSx 进行*操作。[使用 NetApp ONTAP CLI](managing-resources-ontap-apps.md#netapp-ontap-cli)

   ```
   ssh fsxadmin@{{file-system-management-endpoint-ip-address}}
   ```

1. 使用 [storage aggregate show](https://docs.netapp.com/us-en/ontap-cli-9131/storage-aggregate-show.html) 命令，并指定 `-fields node` 参数。

   ```
   ::> storage aggregate show -fields node
   aggregate                       node                      
   ------------------------------- ------------------------- 
   aggr1                           FsxId01234567890abcdef-01
   aggr2                           FsxId01234567890abcdef-03
   aggr3                           FsxId01234567890abcdef-05 
   aggr4                           FsxId01234567890abcdef-07
   aggr5                           FsxId01234567890abcdef-09
   aggr6                           FsxId01234567890abcdef-11 
   6 entries were displayed.
   ```

## 重新平衡客户端
<a name="rebalancing-clients"></a>

添加 HA 对后，或者如果文件服务器之间出现 I/O 不平衡（特别是网络吞吐量利用率），则可以重新平衡客户端。如果在添加 HA 对后要重新平衡客户端，可以跳至 [重新挂载客户端](#remounting-clients)。否则，应先确定要移动的高流量客户端，以便重新平衡工作负载 I/O。

如果您遇到文件服务器之间 I/O 不平衡的问题（特别是在网络吞吐量利用率方面），则可能是导致 I/O 客户端过高的原因。要识别高流量客户端，应使用 ONTAP CLI。

**识别高流量客户端**

1. 要通过 SSH 登录文件系统的 NetApp ONTAP CLI，请按照《*Amazon for NetApp ONTAP 用户指南》中记录的步骤 FSx 进行*操作。[使用 NetApp ONTAP CLI](managing-resources-ontap-apps.md#netapp-ontap-cli)

   ```
   ssh fsxadmin@{{file-system-management-endpoint-ip-address}}
   ```

1. 要查看流量最高的客户端，应使用 [statistics top client show](https://docs.netapp.com/us-en/ontap-cli-9131/statistics-top-client-show.html) ONTAP CLI 命令。您可以选择指定 `-node` 参数，从而仅查看特定文件服务器的主要客户端。如果要诊断特定文件服务器的不平衡问题，应使用 `-node` 参数，并将 `node_name` 替换为文件服务器的名称（例如，`FsxId01234567890abcdef-01`）。

   您可以选择添加 `-interval` 参数，提供输出各报告之前的测量间隔（单位为秒）。延长间隔（例如，延长至最长 300 秒）可以为每个卷的流量提供时间更长的样本。默认值为 `5`（秒）。

   ```
   ::> statistics top client show -node {{FsxId01234567890abcdef-01}} [-interval [5,300]]
   ```

   在输出中，主要客户端按其 IP 地址和端口显示。

   ```
                                                          *Total     Total
               Client   Vserver          Node                Ops     (Bps)
   ------------------ --------- ------------------------- ------ ---------
    172.17.236.53:938 svm01     FsxId01234567890abcdef-01   2143 140443648
   172.17.236.160:898 svm02     FsxId01234567890abcdef-01    812  53215232
   ```<a name="remounting-clients"></a>

**重新挂载客户端**
+ 可以将客户端重新平衡到其他 HA 对。为此，请从客户端卸载该卷，然后使用 SVM 端 NFS/SMB 点的 DNS 名称重新挂载该卷，这将返回一个与随机 HA 对相对应的随机端点。

  我们建议重复使用 DNS 名称，但您可以明确选择特定客户端挂载的 HA 对。为确保将客户端挂载到不同的端点，您可以改为指定一个与大流量文件服务器的对应端点 IP 地址不同的 IP 地址。您可以使用以下命令进行这项操作：

  ```
  ::> network interface show -vserver {{svm_name}} -lif nfs_smb_management* -fields address,curr-node
  vserver   lif                  address      curr-node                 
  --------- -------------------- ------------ ------------------------- 
  svm01 nfs_smb_management_1 172.31.15.89 FsxId01234567890abcdef-01 
  svm01 nfs_smb_management_3 172.31.8.112 FsxId01234567890abcdef-03 
  2 entries were displayed.
  ```

  根据 `statistics top client show` 命令的示例输出可知，客户端 `172.17.236.53` 正在向 `FsxId01234567890abcdef-01` 发送大量流量。`network interface show` 命令的输出表明这是地址 `172.31.15.89`。要挂载到不同的端点，请选择其他任何地址（在本例中，其他唯一地址为 `172.31.8.112`，对应于 `FsxId01234567890abcdef-03`）。

## 重新平衡卷
<a name="rebalancing-volumes"></a>

如果您的卷或聚合之间出现 I/O 不平衡的情况，则可以重新平衡交易量，以便在各卷之间重新分配 I/O 流量。

**注意**  
如果您的聚合之间存在存储利用率不平衡的问题，则通常不会对性能产生任何影响，除非高利用率与 I/O 不平衡相结合。虽然您可以在聚合之间移动卷以平衡存储利用率，但我们建议您仅在看到性能影响时才移动卷，因为如果您不考虑考虑要移动的每个卷的 I/O 驱动器，则移动卷可能会对性能产生不利影响。

1. 要通过 SSH 登录文件系统的 NetApp ONTAP CLI，请按照《*Amazon for NetApp ONTAP 用户指南》中记录的步骤 FSx 进行*操作。[使用 NetApp ONTAP CLI](managing-resources-ontap-apps.md#netapp-ontap-cli)

   ```
   ssh fsxadmin@{{file-system-management-endpoint-ip-address}}
   ```

1. 使用 [statistics volume show](https://docs.netapp.com/us-en/ontap-cli-9131/statistics-volume-show.html) ONTAP CLI 命令并进行以下更改，查看给定聚合的最高流量：
   + {{aggregate\_name}}替换为聚合的名称（例如，`aggr1`）。
   + 您可以选择添加 `-interval` 参数，提供输出各报告之前的测量间隔（单位为秒）。延长间隔（例如，延长至最长 300 秒）可以为每个卷的流量提供时间更长的样本。默认值为 `5`（秒）。

   ```
   ::> statistics volume show -aggregate {{aggregate_name}} -sort-key total_ops [-interval [5,300]]
   ```

   根据所选择的时间间隔，显示数据最多可能需要 5 分钟。该命令显示聚合中的所有卷，以及当前流向各个聚合的流量。

   ```
                                *Total Read Write Other      Read Write Latency 
       Volume Vserver Aggregate    Ops  Ops   Ops   Ops     (Bps) (Bps)    (us) 
   ---------- ------- --------- ------ ---- ----- ----- --------- ----- ------- 
   vol1__0007    svm1     aggr1   4078 4078     0     0 267255808     0    1092 
   vol1__0005    svm1     aggr1   4078 4078     0     0 267255808     0    1086 
   vol1__0003    svm1     aggr1   4077 4077     0     0 267223040     0    1086 
   vol1__0001    svm1     aggr1   4077 4077     0     0 267239424     0    1087 
   vol1__0008    svm1     aggr2   2314 2314     0     0 151650304     0    1112 
   vol1__0006    svm1     aggr2   2144 2144     0     0 140509184     0    1104 
   vol1__0002    svm1     aggr2   2183 2183     0     0 143065088     0    1106 
   vol1__0004    svm1     aggr2   2183 2183     0     0 143065088     0    1103
   ```

   卷统计数据按组件显示（例如，`vol1__0015` 是 FlexGroup `vol1` 的第 15 个组件）。从示例输出中可以看出，`aggr1` 组件的利用率比 `aggr2` 组件更高。要平衡聚合之间的流量，可以在聚合之间移动组成卷，以使流量分布更为均匀。

1. 如果添加了新的 HA 对，应将现有卷移至新的聚合。有关更多信息，请参阅 [在聚合之间移动卷](moving-fg-volumes.md)。