我有一個兩磁碟軟體 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,增加”。
例如,假設您正在使用 中的預設配置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$
這應該會過濾掉煩人的郵件,但如果不可糾正的扇區計數器增加,則會再次寫信給您。