系統報錯某塊盤的扇區損壞,雖然當時沒有影響到讀寫,可是之後可能會出問題,因此準備作修復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--
歡迎交流,有疑問請留言,雖然我不必定看獲得~~