georgas
@georgas
Кратко о себе

Лечение битого сектора на диске в рейде. Можно ли?

Есть несколько сбойных секторов на одном из двух дисков, объединенных в raid 1 (зеркало). Рейд софтовый.
Поменять диск прямо сейчас возможности нет.

Хочу попробовать "вылечить" переписав сектор командой:
hdparm --write-sector 33333333 /dev/sdb

Был бы просто диск - попробовал бы, а вот что получится при наличии рейда? Ничего плохого не случится? А то еще и сервер совсем не рядом.
  • Вопрос задан
  • 1350 просмотров
Решения вопроса 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Хочу попробовать "вылечить" переписав сектор командой:
hdparm --write-sector 33333333 /dev/sdb

Вы точно прочли man hdparm? Эта команда перепишет сектор нулями.
Можно вынести битый диск из рейда и внести его обратно, что приведёт к перезаписи всех секторов на этом диске.
Ответ написан
не нужно оперировать с секторами диска

алгоритм примерно такой для ext2/ext3/ext4
смотрите размер блока файловой системы
# dumpe2fs /dev/md1 | grep 'Block size'

сканируете badblocks, указав размер блока вместо block_size с выхлопом в файл списка битых блоков
# badblocks -b block_size -o /tmp/bad.log /dev/md1

смотрите в /tmp/bad.log
если немного нашлось и хочется посмотреть какие файлы побиты
# debugfs
debugfs 1.42.12 (29-Aug-2014)
debugfs: open /dev/md1
debugfs: testb 24864
Block 24864 not in use -- этот блок не используется никаким файлом
debugfs: testb 24865
Block 24865 marked in use -- а этот юзается. смотрим какой inode он принадлежит
debugfs: icheck 24865
Block Inode number
24865 32901
debugfs: ncheck 32901
Inode Pathname
32901 /grub/i386-pc/gcry_des.mod

пометить битые блоки в файловой системе
# e2fsck -l /tmp/bad.log /dev/md1
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы