Catalogue
如何检测磁盘坏道
- 使用dmesg检查是否有关于磁盘错误的信息,果不其然发现大量磁盘扇区错误的信息,如下: end_request: I/O error, dev 03:06 (sda), sector
dmesg命令 被用于检查和控制内核的环形缓冲区。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息保存在/var/log/dmesg文件里。
- 使用badblocks -s -v -o /root/badblocks.log /dev/sda 检查硬盘是否产生坏道并输出到badblocks.log中。log大约是这样的模式:
1
64039224 64039240 64039241 64039242 64039243 64039256 64039257 64039258 64039259 687056
- 可修复修复坏道修复方法:1 使用 badblocks -s -w /dev/sda END START END代表需要修复的扇区末端,START代表需要修复的扇区起始端。2 使用fsck -a /dev/sda1
磁盘坏道分为三种
- 0磁道坏道
0磁道坏道的修复方法是隔离0磁道,使用fdsk划分区的时候从1磁道开始划分区 - 逻辑坏道
逻辑坏道可以使用上面的方法修复 - 硬盘坏道
如果是硬盘坏道的话,只能隔离不能修复
硬盘坏道的监测方法:使用上述方法检测修复后,再使用badblocks -s -v -o /root/badblocks.log /dev/sda
监测看是否还有坏道存在,如果坏道还是存在的话说明坏道属于硬盘坏道。硬盘坏道隔离方法,首先记录监测出的硬盘坏道,然后分区的时候把硬盘坏道所在的扇区分在一个分区(大小一般大于坏扇区大小),划分出的坏道分区不使用即可达到隔离的目的。隔离只是暂时方案,建议尽快更换硬盘,因为坏道会扩散,以免以后出现严重的数据问题