智能长时间testing – 对繁忙的服务器有什么影响?

我有一个RAID 1设置繁忙的服务器。 应用程序(以PHP运行)对数据库(MariaDB)非常敏感。

cronjob每天运行smartctl短testing并检查smartctl -Hmdadm -D的输出。

我想经常进行长时间的testing,但是我担心它对性能的影响。 我读过这可能需要几个小时才能完成。 如果在运行时导致服务器性能下降,我的用户将受到影响超过5个小时。

所以,这里有几个问题:

1)长时间的智能testing通常会影响对用户有意义的性能吗?

2)由于我有RAID 1并做了短暂的testing,是否还需要长时间的testing?

3)如果我发现它在服务器性能上造成麻烦,是否有办法停止长时间的testing?

  1. 这取决于。 (muhahaha)什么? 您的应用程序使用多less磁盘以及您的应用程序可以利用多lesscaching。 这里没有什么魔力 – 如果驱动器正在testing,它不能以相同的最大速度和低延迟服务。 但是,如果您的最小延迟要求小于testing的影响,那么就应用程序影响而言,这是一个冲洗。
  2. 可能不会。 大型企业存储公司(EMC,IBM,NetApp等)根据自己的M(ean)T(时间)B(之前)F(ailures)来取代驱动器,而不仅仅是等待驱动器的固件报告问题。 简短的testingtesting可能首先失败的一切。 长时间的testing和简短的testing一样,只是没有时间限制。 假设所有驱动器都会失效,但保修期过后,它们的可能性会更高。
  3. 是的,提供的驱动器支持中止(或“暂停”)离线收集。

从“smartctl(8)”手册页:

  -X, --abort Aborts non-captive SMART Self Tests. Note that this command will abort the Offline Immediate Test routine only if your disk has the "Abort Offline collection upon new command" capability. 

(我想你也可以放弃,如果你看到“暂停脱机收集新命令”,我认为手册页需要更新。)您可以通过以下方式检查该function:

 smartctl -x <device>