Без RAID-0 я обычно проверяю битые сектора с помощью этой команды:
fsck -yvckfC -E fragcheck /dev/sdX
Как проверить наличие битых секторов, когда на жестком диске использовался RAID-0? я должен запускать его для каждого диска? /dev/sdb
и /dev/sdc
или используя информацию из /proc/mdstat
?
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1]
md1 : active raid0 sda2[0] sdb2[1]
7808789888 blocks 64k chunks
md0 : active raid1 sdb1[1] sda1[0]
524224 blocks [2/2] [UU]
unused devices: <none>
Проверка плохих блоков должна выполняться на самом дисковом устройстве, поскольку вы используете mdadm RAID, вы должны остановить массив и запустить проверки на / dev / sda2 и / dev / sdb2.
Но перед этим, если вы цените свои данные, я рекомендую сделать резервную копию, существует вероятность потери всего массива RAID-0.
В таком случае я бы просто использовал find, xargs и cat для чтения всего содержимого диска, и если что-то выйдет из строя, вы потеряете данные, и вам нужно будет их восстановить. Но так вы сразу узнаете, в каком файле утеряны данные или какой каталог утерян. Если вы просто используете плохие блоки, он сообщит вам сектор, но не укажет, что делать, чтобы восстановиться после сбоя.
find . -type f | xargs -IX cat X