RAID5 成员上出现 IO 错误。遇到坏块怎么办?

RAID5 成员上出现 IO 错误。遇到坏块怎么办?

我最近在我的一个 RAID5 成员上遇到了 IO 错误;在 3 磁盘 fakeRAID 阵列上。我当时没有注意到 - 只有一条消息/var/log/kern.log- 所以我继续从该分区运行机器一段时间。

BIOS / Intel RAID Manager 没有发现任何问题,但当我选择从该分区启动时,/它被挂载为只读。

现在我从恢复分区启动,并刚刚e2fsck -c -y在该分区上运行,该分区出现了很多错误,包括:“多重声明的块”、“未附加的索引节点”、“组 #xxx 的可用索引节点计数错误” ”等。它还重现了 中的 IO 错误kern.log,因此 dmraid 已降低了阵列的性能,我现在可以轻松判断哪个驱动器发生了故障。

现在,对于危险的驱动器该怎么办?我会提前获得 RMA,但这需要大约 5 天的时间,所以与此同时,我需要一台正在运行的机器,而降级的 RAID5 卷可不是好报!

我看到的消息dmesg是:-

ata3.00: exception Emask 0x10 SAct 0x1 SErr 0x280100 action 0x6 frozen
ata3.00: irq_stat 0x08000000, interface fatal error
ata3: SError: { UnrecovData 10B8B BadCRC }
ata3.00: failed command: READ FPDMA QUEUED
ata3.00: cmd 60/00:00:00:0b:0c/01:00:14:00:00/40 tag 0 ncq 131072 in
         res 40/00:04:00:0b:0c/00:00:14:00:00/40 Emask 0x10 (ATA bus error)
ata3.00: status: { DRDY }
ata3: hard resetting link
ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata3.00: configured for UDMA/133
sd 2:0:0:0: [sdb]
Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 2:0:0:0: [sdb]
Sense Key : Aborted Command [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00
        14 0c 0b 00
sd 2:0:0:0: [sdb]
Add. Sense: No additional sense information
sd 2:0:0:0: [sdb] CDB:
Read(10): 28 00 14 0c 0b 00 00 01 00 00
end_request: I/O error, dev sdb, sector 336333568
ata3: EH complete
device-mapper: dm-raid45: CRITICAL: io error on device /dev/sdb in region=336329728; DEGRADING RAID set
device-mapper: dm-raid45: further device error messages suppressed

我是否正确地认为(根据上述dmesg错误)只有驱动器的某些区域是坏的?如果是这样,我可以继续使用该驱动器,同时避免这些坏块吗?我倾向于格式化驱动器并在其上重建阵列,直到更换到达为止。这是一个坏主意吗?

此外,SMART 测试似乎在所有 RAID 磁盘上都很好......

答案1

我只能等待 RMA。如果您尝试重新格式化并重建阵列,您将在两个良好的磁盘上施加额外的压力(可能)没有充分的理由,这是有风险的。如果是服务器,请将磁盘留在那里以便空气流通,直到新磁盘到达为止。

相关内容