系统报错某块盘的扇区损坏,虽然当时没有影响到读写,可是之后可能会出问题,因此准备作修复ide
dmesg报错:3d
message报错:blog
开始修复进程
--------------------------------------------------------后台
一、首先查看硬盘是否确实有损坏sdk
Smartctl 能够检测下硬盘是否有坏道,PASSED为正常,FAILED代表有坏道grep
若是没有smartctl,能够yum安装yum install -y smartmontools-6.5-1.el7.x86_64 #若是没有,yum whatprovides */smartctl 找找
im
二、使用badblock扫描报错磁盘扇区yum
badblock是全磁盘扫描,将输入的损坏的硬盘扇区号打到badblock.log里,时间会有些长,nohup挂后台 运行nw
nohup badblocks -s -v -o ~/badblock.log /dev/sdk &
ps -elf | grep badblock ##查看后台进程,若是没有了,就说明扇区已经扫描完毕
注:若是上面输出没有扫描到坏扇区,有多是badblock和默认扇区字节不一致致使,如图
系统默认是512字节一扇区,而badblock去扫描时候字节是以1024一扇区,因此直接去扫描会
图中 默认以512字节 为一扇区,扇区总数5860533168,badblock扫描时以1024一扇区,扇区总数2930266583
所以,咱们用message报错里面的扇区除以2 ,获得的就是 badblock扫描时的错误扇区,
nohup badblocks -sv -o /home/ganwenhao/badblock.log /dev/sdh 2930266583 2867755208 &
三、扫描完毕后,cat查看生成的错误扇区号,badblock.log,以下:
4,、中止raid,须要先中止软raid,才能对磁盘作修复
mdadm -S /dev/md0 #中止软raid
umount /Data2 #卸载挂载的raid盘
五、开始修复扇区
badblocks -s -w /dev/sdk END START 扇区号
修复很快,修复完成后能够检查一下,没有坏道
badblocks -v /dev/sdk 23169707 23169704
修复后加载raid,
mdadm -A /dev/md0 /dev/sd[b-m]
mdadm -D /dev/md0检查raid加载正常
--end--
欢迎交流,有疑问请留言,虽然我不必定看获得~~