我有一台 FreeBSD 文件服务器,其中有一个 10TB 阵列,采用 RAID-Z(因此 8TB 可用,2TB 冗余)。我正在尝试弄清楚如何让系统在其中一个驱动器发生故障时通知我,最好通过电子邮件。这是因为机器运行时没有屏幕,并且很少直接登录。
我想要一个通知,因为否则我们唯一的提示就是当第二个驱动器带走数据时,发生了错误。
答案1
您可以尝试通过 cron/email 查询和解析输出zpool status
。或者使用以下商业解决方案:http://www.santools.com/smartmonux.html
答案2
将其添加到 /etc/periodic.conf:
daily_status_zfs_enable="YES"
然后,您将在每日定期发送的电子邮件中添加 zfs 池的状态。如果您目前没有收到它们,您也可以通过变量添加您的电子邮件地址:
daily_output="[email protected]"
答案3
校验是一个您可以通过 cron 运行的脚本,如果配置正确,当检测到 zpool 错误时会向您发送电子邮件。
答案4
如果您已设置 cron 来发送电子邮件,只需删除此单行代码。如果检测到错误,它将打印到 stderr,然后 cron 将触发该错误并发送电子邮件。
[email protected]
# Check for zpool errors every 30 minutes
*/30 * * * * /sbin/zpool status -x | grep -v 'all pools are healthy' 1>&2