使用smartd来监控eSATA硬盘?

我正在使用smartd来监视我的文件服务器上的内部硬盘驱动器的SMART健康状况,并提醒我即将到来的厄运迹象。 我也想监视我将使用的外部eSATA硬盘驱动器,但我不知道如何克服这些障碍:

  1. 作为用于异地备份的外部驱动器,它可能存在也可能不存在。 当驱动器“消失”时,我怎样才能使smartd不被“吓坏”,并将我的电子邮件收件箱中的垃圾邮件? (注意:我还没有testing过,但是假设smartd会突然找不到驱动器的灾难性故障。)
  2. 出于与上述相同的原因,驱动器并不总是例如/ dev / sdf(实际上,一旦我移除了当前连接的USB HDD,下一次连接其中一个就是/ dev / sdg!) ,但是我的理解是,UUID和朋友引用分区 ,而我需要引用smartd 设备 。 如何可靠地指向这些外部驱动器,而不必在每次插入时手动更新/ dev / sd *参考?

在configuration文件中使用DEVICESCAN似乎是一个明显的select,因为无论如何我对所有的驱动器都使用相同的configuration,但是我的理解是,smartd只会在启动时扫描设备,而且我宁愿避免每次都重新启动守护进程我插入其中一个驱动器(除非这是最优雅的解决scheme)。

你应该能够通过udev规则来实现你所需要的。

您可以创build/ dev 符号链接,以提供对外部驱动器的一致访问(如由serial / model / etc标识的)。 然后可以在smartdconfiguration中引用这些参数,并标记为-d removable以确保smartd在外部驱动器不存在时启动。

您可能仍然需要重新启动smartd,但是udev也可以通过RUN指令来实现。