centos7--軟raid中硬盤故障修復


系統報錯某塊盤的扇區損壞,雖然當時沒有影響到讀寫,但是以后可能會出問題,所以准備做修復

dmesg報錯:

 

  message報錯:

 

開始修復

 --------------------------------------------------------

1、首先查看硬盤是否確實有損壞

Smartctl 可以檢測下硬盤是否有壞道,PASSED為正常,FAILED表明有壞道

如果沒有smartctl,可以yum安裝yum install -y smartmontools-6.5-1.el7.x86_64 #如果沒有,yum whatprovides */smartctl 找找

 

2、使用badblock掃描報錯磁盤扇區

badblock是全磁盤掃描,將輸入的損壞的硬盤扇區號打到badblock.log里,時間會有些長,nohup掛后台 運行

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 &

3、掃描完畢后,cat查看生成的錯誤扇區號,badblock.log,如下:

 

 4,、停止raid,需要先停止軟raid,才能對磁盤做修復

  mdadm -S /dev/md0  #停止軟raid
 umount /Data2 #卸載掛載的raid盤
5、開始修復扇區

 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--

歡迎交流,有疑問請留言,雖然我不一定看得到~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM