gmlinktolerance 功能监控非循环方式下全局镜像关系的响应时间。您可以使用 chsystem CLI 命令或管理 GUI 来设置 gmlinktolerance 功能。gmlinktolerance 功能表示主 集群系统所容许的过长的辅助系统响应时间(秒)。
如果响应能力低下的数据块超过指定的容许度,那么会记录 1920 错误。并且一个或多个全局镜像关系会自动停止,以保护主站点的应用程序主机。正常操作期间,由于全局镜像功能使用异步复制,因此响应时间对于应用程序主机产生的影响已降至最低程度。但是,如果由于辅助系统响应时间过长而导致
全局镜像操作响应性能下降,那么 I/O 操作会在主系统上排队。此情况会导致对应用程序主机的响应时间继续增加。在此情况下,gmlinktolerance
功能会停止全局镜像关系,从而使应用程序主机响应时间返回到正常。发生 1920 错误后,全局镜像备用
卷将不再处于 consistent_synchronized 状态,直至您修复错误的原因并重新启动全局镜像关系为止。因此,请确保您对系统进行监控,以在发生该错误时进行跟踪。
您可通过将 gmlinktolerance 值设置为 0(零)来禁用 gmlinktolerance 功能。但是,如果禁用 gmlinktolerance
功能,那么它将无法为应用程序提供响应时间过长的保护。在以下情况下,可能需要禁用 gmlinktolerance 功能:
- 在 SAN 维护窗口期间,预计 SAN 组件会出现性能降级,应用程序主机可承受来自全局镜像卷的延长响应时间。
- 在应用程序主机容许超长响应时间的时间段内,预计 gmlinktolerance 功能可能会停止全局镜像关系。例如,如果您正在使用
I/O 生成器进行测试,且该生成器配置为对后端存储器加压,那么 gmlinktolerance 功能可能检测到超长延迟并停止全局镜像关系。
禁用 gmlinktolerance 可防止出现此现象,但是会导致测试主机出现响应时间过长的现象。
诊断并修复 1920 错误
code_1920.html#xx192 错误指示一个或多个 SAN 组件无法提供应用程序主机所需的性能。该错误可能是临时的(例如,由于维护活动而造成的错误),也可能是永久的(例如,由于硬件故障或意外的主机
I/O 工作负载所造成的错误)。
如果在出现 1920 错误前出现了参考事件 985004 已超出最大复制延迟,那么系统无法在最大复制延迟超过值所指示的时间内找到远程系统内磁盘的路径。请调查远程系统以查找并修复任何降级的路径。您还可以使用 lssystem 命令来查看 maxreplicationdelay 值。如果该值太低,请使用 chsystem 命令指定新的 maxreplicationdelay 值。
如果您遇到其他 1920 错误,请安装 SAN 性能分析工具,例如
Spectrum Control,并确保对该工具进行正确配置,并且,当出现问题时,对统计信息进行监控。将您的
SAN 性能分析工具的统计信息收集时间间隔设置为可用的最短时间。对于
Spectrum Control 系统,最短时间间隔为
5 分钟。如果发生多个 1920 错误,请先诊断最早发生的错误的原因。以下问题有助于您确定错误的原因:
- 发生错误时是否正在进行维护?
维护可能包括更换存储系统物理磁盘、更新存储系统的固件或在一个 系统上完成代码更新。
必须等待维护过程完成后,才能以非循环模式重新启动全局镜像关系。否则,将发出另一个 1920 错误,因为系统尚未返回至性能良好的稳定状态。
- 在源系统或目标系统上是否存在任何未修复的错误?
如果存在,请对这些错误进行分析以确定它们是否是发生该错误的原因。特别要确定这些错误是否与关系中正在使用的卷或 MDisk 相关,或者这些错误是否会使目标系统的性能降低。请确保在重新启动全局镜像关系前修复这些错误。
- 远距离链路是否超负荷?
如果您的链路无法维持短期峰值全局镜像工作负载,那么可能发生 1920 错误。请完成以下检查以确定远距离链路是否超负荷:
- 查看全局镜像关系停止前全局镜像备用卷的总写吞吐量。如果该卷约等于您的链路带宽,那么您的链路可能会超负荷。此问题可能是由于应用程序主机
I/O 操作或主机 I/O 和后台(同步)拷贝活动共同导致的。
- 查看全局镜像关系停止前全局镜像源卷的总写吞吐量。此值表示应用程序主机正在完成的 I/O
操作。如果这些操作达到链路带宽,
请减少应用程序尝试完成的 I/O 操作,或者减少使用全局镜像拷贝的卷的数量。如果备用磁盘的写
I/O 操作明显多于源卷操作,那么存在高级别的后台拷贝。 降低全局镜像伙伴关系的后台拷贝率参数,以使应用程序的
I/O 总带宽和后台拷贝率保持在链路的能力范围内。
- 查看全局镜像关系停止后全局镜像源卷的总写吞吐量。如果关系停止时写吞吐量增加 30% 或更多,那么应用程序主机正在尝试完成的
I/O 操作数量大于链路可维持的操作数量。当全局镜像关系处于活动状态时,超负荷的链路可导致对应用程序主机的响应时间更长,从而减少了应用程序主机可实现的吞吐量。全局镜像关系停止后,应用程序主机的响应时间更短。在此情况下,必须增加链路带宽、减少应用程序主机
I/O 速率,或者减少使用全局镜像拷贝的卷的数量。
- 辅助系统上的存储系统是否超负荷?
如果由于一个或多个 MDisk 难以为系统提供有效的服务导致应用程序 I/O 操作无法以应用程序主机所要求的速率继续运行,那么就会发生
1920 错误。
如果已满足后端
存储系统的需求,那么此错误可能是由于
存储系统性能下降所导致的。
检查辅助系统上每个 MDisk 的后端写响应时间。个别
MDisk 的响应时间突然增加 50 毫秒或更长时间,或者响应时间超过 100 毫秒均表示出现问题。请完成以下检查以确定
存储系统是否超负荷:
- 检查存储系统是否存在错误情况,例如,出现介质错误、物理磁盘发生故障或者存在诸如 RAID 重构的相关活动。纠正任何问题,然后重新启动全局镜像关系。
- 如果没有错误,请确定辅助存储系统能否处理所要求的应用程序主机 I/O 操作级别。通过向阵列添加更多物理磁盘、更改该阵列的 RAID 级别、更改存储系统的高速缓存设置、确保高速缓存电池可正常工作或更改其他特定于存储系统的配置参数,均有可能提高存储系统的性能。
- 主系统上的存储系统是否超负荷?
使用用于分析辅助后端存储器性能的步骤来分析主后端存储器的性能。如果性能欠佳,请限制应用程序主机可完成的
I/O 操作的数量。即使全局镜像关系未受影响,也需监控主站点的后端存储器。如果不良性能长时间持续,那么会发生 1920 错误,且全局镜像关系将被停止。
- 某个系统是否超负荷?
检查“端口到本地节点”的发送响应时间以及“端口到本地节点”的发送队列时间。
如果任一系统的这两项统计信息的总和超过 1 毫秒,说明系统可能遇到非常高的 I/O 负载。同时请检查系统节点的 CPU 使用率,如果使用率大于 50%,也可能会导致此问题。对于任何一种情况,请联系您的 IBM 服务代表以获取进一步的帮助。
- 在辅助系统上是否有处于“已准备好”状态的 FlashCopy 操作?
如果全局镜像辅助卷是 FlashCopy 映射的源, 并且该映射长期处于“已准备好”状态,那么由于禁用了高速缓存,可能对这些卷的性能产生影响。启动该 FlashCopy 映射以启用高速缓存,并改善全局镜像 I/O 操作的性能。