我在双磁盘软件 RAID-1 中有一个磁盘,最近该磁盘的 SMART 状态中出现了“脱机无法纠正的扇区”。
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 1
如果这种情况发生得越来越频繁,这显然只是磁盘即将发生故障的征兆(而且由于驱动器是镜像的,因此也不存在真正的数据丢失的巨大风险)。当时,自我测试也在某个时候失败了,并向smartd
我发送了一封电子邮件通知我这件事,当然这是应该的。
但是,写入损坏的扇区通常会导致磁盘使用其备用扇区之一,而这显然是真的,因为我dd
重写了磁盘,所以所有自检都运行正常。而且badblocks
也没有发现任何抱怨的理由。
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
[...]
# 5 Extended offline Completed without error 00% 5559 -
# 6 Short offline Completed without error 00% 5540 -
# 7 Short offline Completed: read failure 90% 5524 63273368
但故障扇区的数量并没有减少,实际上不应该减少,因为损坏的扇区仍然存在,尽管未被使用。然而,它smartd
每晚都会继续给我发送电子邮件:
The following warning/error was logged by the smartd daemon:
Device: /dev/sda [SAT], 1 Offline uncorrectable sectors
这显然非常烦人,并且麻痹了我对smartd
邮件的健康恐慌反应。
该磁盘是西部数据WD20EARS,smartd
版本是5.41 2011-06-09 r3365。
答案1
在某些磁盘上,您可能必须求助于配置文件中的-U 198+
(或?)。-U +
请小心。如果您不是原始提问者,请仔细阅读整个问题。如果您在不需要它的磁盘上使用它,它将抑制完全有效的警告。
如果指定了“+”,则仅当扇区数自上次检查周期以来有所增加时才会打印报告。某些磁盘在重新分配坏扇区时不会重置此属性。另请参阅下面的“-v 198,increasing”。
例如,假设你正在使用 中的默认配置smartd.conf
。在这种情况下,文件中有很多注释,但唯一没有注释的行在这里:
# The word DEVICESCAN will cause any remaining lines in this
# configuration file to be ignored: it tells smartd to scan for all
# ATA and SCSI devices. DEVICESCAN may be followed by any of the
# Directives listed below, which will be applied to all devices that
# are found. Most users should comment out DEVICESCAN and explicitly
# list the devices that they wish to monitor.
DEVICESCAN
将选项添加到行尾:
DEVICESCAN -U 198+
答案2
这些邮件的来源有两种可能。smartd 可以自行发送邮件,但很可能没有这样配置,因此我假设这些邮件是由 logcheck 发送的。如果这个假设是错误的,您无需继续阅读。
如果 logcheck 认为您应该担心系统上发生的任何事情,它会扫描日志文件并发送邮件。
您可以选择编写 logcheck 忽略规则,该规则告诉 logcheck 不要发送与特定模式匹配的消息。
您可以(在基于 Debian 的系统下)创建一个名为“/etc/logcheck/ignore.d.server/smartd_own”的文件,其内容如下:
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ smartd\[[0-9]+\]: Device: /dev/sda \[SAT\], 1 Offline uncorrectable sectors$
这应该会过滤掉烦人的邮件,但如果无法纠正的扇区计数器增加,则会再次写信给您。