驱动器何时应该出现故障(重建)、而不是正常出现故障(磁盘备份不足)?
适用场景
- ONTAP 驱动器
问题解答
-
我在系统日志中看到错误(消息 /EMS )。我是否有坏磁盘?这是否意味着我需要手动将其故障排除?
当您看到驱动器出现错误时,这并不意味着存在以下问题:
- 自硬盘驱动器发明之日起、硬盘制造商已有了长足的发展
- 软件和固件经过改进、可以更智能、更稳定地处理错误。
- 硬盘驱动器可能会遇到一次性错误、但仍在使用多年。
- 一个驱动器可能会报告一行中的几个错误、但仍能响应 / 可用。
- 如果检测到错误、则它具有阈值、可以知道驱动器是否已损坏、无法将其排除。
- 如果磁盘已导致足够的错误、但对用户没有影响、则磁盘将正常故障并将其放入测试(维护中心)。
- 此测试将包括对驱动器进行彻底检查、如果通过,则磁盘将返回到服务状态。
- 驱动器返回服务意味着它从一开始就经过测试并且没有返回任何错误。
- 任何可能存在的错误都已在内部更正,并且驱动器现在可以进行维修。
- 如果磁盘第三次进入维护中心、则会出现故障、并且会向 NetApp 发送 AutoSupport 消息以自动更换磁盘、并且通常会自动将驱动器出厂。
- 如果您遇到报告超时 / 坏扇区的错误、但未看到延迟、应用程序 / 用户抱怨或超时、这意味着软件工作正常。
-
我看到错误,但不确定是否有问题。我开始看到这些错误、或者发现超时与应用程序报告延迟时匹配、但通常情况下情况正常?
- 这可能是一个坏的驱动器。请参见以下各节以了解在
statit
中查找的内容、 statit
是节点级高级权限模式下的命令、用于了解每个驱动器级别上的磁盘 I/O 延迟 / 利用率。
-
我看到错误和 / 或有超时。当磁盘发生故障时、它是恒定的或易于跟踪的。是否有方法进行确认?
statit
该命令将帮助您确定是否存在问题。运行以下命令:
Cluster::> node run node01
node01> priv set advanced
node01*> statit -b
[ 计数 30 秒 ]
node01*> statit –e
这将产生非常详细的输出。以下是突出显示该磁盘的示例:
disk ut% xfers ureads--chain-usecs writes--chain-usecs cpreads-chain-usecs greads--chain-usecs gwrites-chain-usecs
/aggr3/plex0/rg1:
3a.61 64 118.75 35.96 5.81 4376 45.17 4.72 5971 37.62 8.06 2178 0.00 .... . 0.00 .... .
4a.76 100 118.26 34.88 5.67 16441 46.64 5.61 10991 36.74 7.88 6229 0.00 .... . 0.00 .... .
3a.45 68 126.40 43.41 5.35 4810 47.52 4.51 6050 35.47 7.60 2167 0.00 .... . 0.00 .... .
请注意4a.76
,磁盘与周围磁盘的比较如下3a.61
: 3a.45
:
-
UT% 或磁盘活动百分比更高
-
URead 、 Write 和 Cpread 在每个 USEC 列中的延迟时间均提高 4-12 毫秒
- 实际上,磁盘也导致应用程序 / 用户问题、值得故障排除。
- 这是一个命令,用于衡量磁盘是否可能需要故障排除。
- 建议您多次迭代以
statit
查看是否是有问题的磁盘。 - 如果每个迭代都显示较高的输出、并且没有其他硬件问题、则表示驱动器损坏。
- 必须检查系统日志以查看此磁盘是否弹出。
- 另一种可能发生的情况是驱动器可能仅在特定时间出现超时,应用程序可能会报告问题。
- 可能需要磁盘故障。
statit
可能不有用,因为只有在特定时间才会发生这种情况、并且可能statit
无法抓取输出。
-
我已确定我有问题。最好是正常失败还是强制删除并执行恢复?
如果聚合上的负载非常高,则复制或故障都将很痛苦,直到故障完成。
- 如果一个磁盘在 RAID 组中损坏、并且符合以下情况:每次重复的
statit
延迟 / 利用率都持续提高、并且不是由于碎片 / 工作负载造成的、通常情况下,重建将是一个更好的选择。区别在于-i
标志。运行以下命令:
cluster1::> storage disk fail -disk 1.1.16 -i true
WARNING: The system will not prefail the disk and its contents will not be
copied to a replacement disk before being failed out. Do you want to
fail out the disk immediately? {y|n}: y
disk fail [-i] [-f] <disk_name> Filer> disk fail -i -f 1a.01.16
- 如果磁盘显示间歇性的疼痛、如上面的第二个示例所示(即每小时只会发生一次或多次)但不是恒定的、 正常故障是一个更好的选择,因为磁盘在大多数时间内不会显示问题,而且问题可能只持续一分钟、一小时一次。
- 如果多个磁盘在 RAID 组中存在问题、则这取决于 RAID 组中有多少个磁盘、每个磁盘的损坏程度以及系统上的负载。
- 恢复 / 重建的时间会有所不同。确保存在备份 /DR 计划、因为在这种情况下它风险更大、并且可能导致数据丢失 / 停机。如果是这种情况、则没有可用的一般建议、必须与 NetApp 支持和 / 或客户团队合作以帮助提供最佳指导。
- 如果不确定、请联系 NetApp 技术支持。
追加信息
有关运行statit
命令并利用它监视磁盘 I/O 统计信息的详细信息、请参见知识库文章 How to 拦下磁盘级别响应时间?
建议的最佳实践:
-
尝试将磁盘负载保持在最大 IOPS 的 50-70% 以下、因此如果磁盘发生故障、不会导致用户延迟。如果需要推超过此阈值、则计划设置回退。
-
确保设置了所有当前建议的设置、安装了最新的硬件 ONTAP 版本、并且驱动器、磁盘架模块和 ACP (如果是 SAS )固件是最新的。
-
遵循所有建议的多路径 HA 和布线最佳实践。
-
如果您认为 Data ONTAP 的加载或版本可能需要进行审核、以确保它们处于适当级别、请咨询您的 NetApp 客户团队。
-
如果联系 NetApp 支持部门,建议提交性能归档,或者至少运行
statit
一次。