There are questions remain, We'll search for the answers together. But one thing we known for sure,the future is not set!

【原创文章】centos7 badblocks检测硬盘出现Value too large for defined data type错误的原因和解决办法

系统防护 百蔬君 10417℃ 已收录 0评论

 

centos 7 经常无故死机,没办法查看了下系统,发现好多I/O错误

类似这样:

blk_update_request: I/o error, dev sda, sector 6352279545
blk_update_request: I/o error, dev sda, sector 25680929828
blk_update_request: I/o error, dev sda, sector 25680929828
Buffer I/O error on dev dm-0, logical block 6676444, lost async page write
Buffer I/O error on dev dm-0, logical block 6676445, lost async page write
Buffer I/O error on dev dm-0, logical block 6676446, lost async page write

看来硬盘出了不少问题,没办法,只能找坏道。

一般命令如下:

badblocks -s -v -o /root/bb-sda.log /dev/sda

结果出现错误“badblocks: Value too large for defined data type invalid end block (5751976960): must be 32-bit value”

意思就是block太大了。

后面找到了解决办法,加一个参数就行了

把命令修改为

badblocks -b 5120 -s -v -o /root/bb-sda.log /dev/sda

因为我的服务器硬盘有30T,所以会出现上面那个错误,上面的命令其实也是有b这个参数的,只是默认为512,意思为512字节一扇区,对于这么大的硬盘超过了阈值,所以把这个参数修改为5120,那么就能顺利执行了。当然最后得到的结果也要除以10,就是真真的坏道位置了。

记录一下

转载请注明:百蔬君 » 【原创文章】centos7 badblocks检测硬盘出现Value too large for defined data type错误的原因和解决办法

喜欢 (34)or分享 (0)
发表我的评论
取消评论

请证明您不是机器人(^v^):

表情