PowerFlex 3.X:写入作系统磁盘的速度缓慢可能会导致多个 MDM 问题。
Summary: 写入作系统磁盘的速度过慢可能会导致多个 MDM 问题。
Symptoms
由于 MDM 上的作系统磁盘速度缓慢,可能会导致许多情况。
在 ScaleIO 3.0 中,MDM 机制变得更加可靠,可以更好地处理严重缓慢的作系统磁盘问题。(10+ 秒延迟)
当 MDM 在写入时间过长的作系统磁盘上运行时,可能会出现以下症状:
-
将 SDS 置于维护模式会导致主 MDM 断开连接。
-
重建事件导致主 MDM 以及可能的从属 MDM 断开连接。
-
MDM 切换不起作用;从属 MDM 不能接管主 MDM 职责,因此没有 MDM 是主 MDM。
-
“scli --query_cluster”的输出显示从属 MDM 偶尔未同步。
-
SDC 写入 IO 错误。
在所有情况下,MDM trc 日志中都会看到“Harden taken too long”:
08/12 03:36:42.336327 0x7f64207f4eb0:replFile_WriteUnlocked:00667: WARNING: Harden took too long: 1360 ms 08/12 03:36:44.811987 0x7f6420668eb0:replFile_WriteUnlocked:00667: WARNING: Harden took too long: 1840 ms 08/12 03:36:46.463661 0x7f642072eeb0:replFile_WriteUnlocked:00667: WARNING: Harden took too long: 2210 ms
影响
MDM 存储库写入超过硬化阈值意味着 MDM 未同步。
这意味着 MDM 群集未同步,MDM 进程将重新启动。
如果 MDM 重新启动速度足够快/足够重复,则可能会发生完整的数据不可用情形(当没有可用的主 MDM 时),例如在重复故障切换后 MDM 群集关闭。
Cause
当主 MDM 必须更改数据块的状态时,它必须将这些状态更改写入 MDM 存储库文件,然后将这些更改同步到从属 MDM。这些写入完成后,MDM 会通知 SDS 更改已完成,并且它们只能从主拷贝向 SDC 提供写入 IO(直到重建完成)。如果主 MDM 将更改写入本地存储库所需的时间超过 500 毫秒(1/2 秒),则 MDM trc 日志中将显示“Harden taken too long”消息。这会导致 MDM 无法足够快地响应 SDS 请求,并可能导致 SDC 上出现 IO 错误。MDM 将保持此状态,直到 IO 可以在不到 500 毫秒的时间内写入存储库,或者在群集内发生 MDM 切换所有权时 10 秒后。
Resolution
解决方案是解决作系统磁盘延迟问题。
这可能是由于:
-
RAID 重建(第 14 代就绪节点具有 BOSS 卡,在 RAID1 中配备 2 个 m.2 SATA 驱动器)
-
磁盘磨损/使用年限
-
作系统磁盘的大小调整/选择不当(硬盘、慢速/廉价的 SSD 等,通常仅在纯软件配置中)
-
作系统磁盘控制器/磁盘固件中的错误
-
磁盘故障/预测性故障状态
-
但最常见的原因是 OS 磁盘上的无关 IO 负载。
在任何情况下,监视/分析作系统磁盘的性能都是必要的。
磁盘延迟可以通过 sar 或 iostat 进行监视。
最简单/最普遍可用的工具是 iostat。
在该服务器上运行
iostat -xtN 1
观察等待时间,以毫秒为单位报告。
所有版本都会受到影响。