Найдите файлы, затронутые плохими блоками, с помощью md-raid5 и LVM

8

В течение последних нескольких недель я проводил много исследований по этой теме - и я думаю, что близок к завершению своего выздоровления, насколько это возможно, по крайней мере. Короче говоря, я просто опишу проблему, не заполняя каждую крошечную техническую деталь.

Предположим, у вас есть несколько массивов RAID-5, каждый с 8 дисками, а затем объединены в один логический том LVM. Один из дисков затем умирает в одном из массивов, и во время перестройки вы сталкиваетесь с неисправимой ошибкой чтения на втором диске в этом массиве. И конечно, нет никаких резервных копий.

Я уже выгрузил данные с диска с URE на новый диск, только 5 КБ данных повреждены, все сгруппированы в очень маленькую область диска. Я также предполагаю, что, как только я соберу это MD-устройство, используя копию ddrescue, я умножу размер моей потери данных на количество дисков без контроля четности в моем массиве (таким образом, потеря данных 35 КБ), как на четность расчеты для полос с использованием этих блоков будут некорректными.

Я прочитал и понимаю процедуру на http://smartmontools.sourceforge.net/badblockhowto.html, чтобы определить, какие файлы будут повреждены в такой ситуации, но моя проблема состоит в том, чтобы точно определить, какие блоки будут повреждены после MD перестроить для использования в качестве входных данных для отладки. Выяснить все смещения, в которых метаданные md и lvm хранятся, тоже не будет весело, но я думаю, что справлюсь с этой частью.

Могу ли я просто умножить все свои номера плохих блоков на 7, а затем предположить, что следующие 6 блоков после каждого из них также будут плохими, и затем следовать инструкциям LVM в руководстве, приведенном выше?

И чтобы быть ясным - я не занимаюсь ремонтом или переназначением плохих блоков, как описано в руководстве, я заменил диск и позволю md обрабатывать подобные вещи. Я просто хочу знать, какие файлы в файловой системе ext4 были затронуты.

обкрадывать
источник

Ответы:

2

Вы все еще ищете помощь в этом? Один из способов, с помощью которого вы можете найти уязвимые файлы, - это отредактировать файловую систему в / dev / null. Tar будет жаловаться на любой файл, содержащий ошибку. Что-то вроде:

tar cf / dev / null / file / system / to / check

может сделать это для вас.

marc41
источник