syslog中的这些磁盘错误是什么意思?


13

一段时间以来,我只是第一次重新启动了监视服务器,然后开始显示以下内容:

Jul 11 23:52:30 monit kernel: [   25.255908] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Jul 11 23:52:30 monit kernel: [   25.256170] ata1.00: BMDMA stat 0x24
Jul 11 23:52:30 monit kernel: [   25.256278] ata1.00: failed command: READ DMA
Jul 11 23:52:30 monit kernel: [   25.256410] ata1.00: cmd c8/00:c0:20:68:35/00:00:00:00:00/e0 tag 0 dma 98304 in
Jul 11 23:52:30 monit kernel: [   25.256416]          res 51/40:9f:41:68:35/00:00:00:00:00/e0 Emask 0x9 (media error)
Jul 11 23:52:30 monit kernel: [   25.256809] ata1.00: status: { DRDY ERR }
Jul 11 23:52:30 monit kernel: [   25.256933] ata1.00: error: { UNC }
Jul 11 23:52:30 monit kernel: [   25.304388] ata1.00: configured for UDMA/66
Jul 11 23:52:30 monit kernel: [   25.304430] ata1: EH complete

. . . 

Jul 11 23:52:30 monit kernel: [   25.552451] sd 0:0:0:0: [sda] Unhandled sense code
Jul 11 23:52:30 monit kernel: [   25.552462] sd 0:0:0:0: [sda]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Jul 11 23:52:30 monit kernel: [   25.552475] sd 0:0:0:0: [sda]  Sense Key : Medium Error [current] [descriptor]
Jul 11 23:52:30 monit kernel: [   25.552490] Descriptor sense data with sense descriptors (in hex):
Jul 11 23:52:30 monit kernel: [   25.552498]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
Jul 11 23:52:30 monit kernel: [   25.552529]         00 35 68 41 
Jul 11 23:52:30 monit kernel: [   25.552543] sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed
Jul 11 23:52:30 monit kernel: [   25.552559] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 35 68 20 00 00 c0 00
Jul 11 23:52:30 monit kernel: [   25.552587] end_request: I/O error, dev sda, sector 3500097
Jul 11 23:52:30 monit kernel: [   25.556607] ata1: EH complete

我已经知道我需要更换硬盘驱动器(数据的成本>硬盘的成本),但我想知道我自己的知识什么是真正错。

是的,我们的监控服务器没有RAID,只有一个HDD ...别看着我...


3
“是的,我们的监控服务器没有RAID,只有一个HDD ...别看着我...”-如果您有良好的备份,则不要看起来太多。
Janne Pikkarainen 2012年

2
希望您备份良好。您可能会需要它们。如果监视服务器非常重要,那么使用至少RAID 1更换硬盘驱动器的成本应该很合理。
迈克尔·汉普顿

1
即使没有RAID,也应该监视所有磁盘的SMART数据。
James Youngman

Answers:


16
sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed

看起来驱动器有坏扇区,无法重新分配这些扇区(可能是因为它的备用扇区用完了)。的输出smartctl -a /dev/sda将为您提供有关驱动器状态的更多信息。


我还看到了在简单读取(例如,尝试读取cp文件)时发生的错误。在那种情况下,损坏的扇区上文件的损坏非常严重,以至于它甚至无法重建数据,因此“重新分配”故障确实发生在甚至试图将数据存储到其他地方之前。
兰德尔

12

Lassie说“ arf!arf arf!arf!”。这是愚蠢的,因为这与蒂米威尔斯无关。这就是为什么您不接受狗的系统管理员建议的原因。

驱动器给您一个“未恢复的读取错误-自动重新分配失败”,这基本上意味着“我尝试读取,失败,尝试恢复(多次读取扇区,应用一些ECC,然后将数据移至一个没有破裂的部门),并且没有任何作用”。这可能意味着(如mgorven所说)该磁盘已经塞满了重新分配的扇区,因为该磁盘已经快死了一段时间,但是我也认为这可能意味着它根本无法恢复该扇区(重复读取) + ECC无法获得美观的数据块)。

不管怎样,驱动器的仙人掌非常非常好。您的数据也不是很健康。


1
正确-SMART数据还可以告诉您已经重新分配了多少个扇区。
James Youngman

3

我知道这很旧,但是以防万一有人还在读这篇文章:“ DD也将尝试读取损坏的扇区”-gddrescue在这里很有用。它没有(好的,但是只有一次)。


1

立即制作该磁盘的dd映像或rsync副本++,除非您具有完整备份以方便还原该磁盘盒。并开始寻找兼容且有效的替换磁盘。

BTW,UDMA / 66,那是十年的PATA磁盘吗?


2
DD还将尝试读取损坏的扇区。
Hennes

3
通常不会达到最佳效果...有一个称为ddrescue的高级版本,可以更好地控制错误行为。
rackandboneman

总是存在conv=noerror,但是我不确定在后来变成损坏的文件系统的情况下该方法的工作情况如何。可能不会比逐个读取数据文件更糟,但是肯定不会更好……
CVn 2012年

0

如前所述,这很可能意味着您的驱动器已经接近使用寿命,但不一定立即使用寿命-您应该fsck在磁盘上运行并尝试修复错误(有关修复坏块的建议,请参阅smartmontools Wiki),并且磁盘可能可以正常工作。而更长的时间。

但是您应该开始运行smartd(作为smartmontools软件包的一部分),并密切注意其报告和/或设置电子邮件通知。您还可以通过创建/etc/smartmontools/run.d/由调用的脚本(在中)来添加自己的自定义通知smartd-runner

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.