您能否验证磁盘上受影响的块和底层坏扇区是否重新分配到“备用扇区”区域?写操作失败时,应重新分配坏扇区.使用smartctl验证它:
smartctl -a /dev/sdb | grep -i reallocated
最后一列应包含若干总重新分配的扇区.如果没有尝试读取坏扇区:
hdparm –-read-sector XXXXXXXX /dev/sdb
它应该返回一个I / O错误,否则我建议跳过下一节.
该错误意味着该部门尚未重新分配.因此,您可以尝试通过编写来强制重新分配它.请记住,在此步骤之后存储在此扇区中的任何数据都将丢失!!!
hdparm –-write-sector XXXXXXXX --yes-i-know-what-i-am-doing /dev/sdb
顺便说一下,扇区号XXXXXXXX应该可以从内核消息(dmesg命令或/ var / log / messages)获得.由于在重新同步期间存在坏块,因此应该有一些类似于以下内容的相关消息:
... end_request: I/O error, dev sdb, sector 1261071601
然后,尝试再次使用smartctl验证它.柜台增加了吗?如果是这样,尝试用hdparm读取它.现在,它应该没有任何错误地读取它,因为它应该被重新分配.完成.
最后,您可以继续使用mdadm并将磁盘添加到降级镜像中.