Мой массив RAID1 / dev / md1 перестраивается после замены одного из дисков. Проблема: на исходном диске есть неисправимые ошибки, и мой единственный выбор, если я не хочу терять весь набор данных (без резервного копирования, без оправдания), - это терпеливо записывать в неисправные сектора с помощью hdparm --write-sector 0123456789 --yes-i-know-what-i-am-doing /dev/sde
(мой исходный диск), чтобы процесс продолжался. Я знаю, что некоторые из моих файлов будут повреждены, потому что я пишу нули в некоторых секторах, в которых они хранятся. Теперь мне нужно идентифицировать эти файлы с помощью debugfs
и относитесь к ним соответственно.
Макет моего тома выглядит следующим образом:
Relevant possibly corrupted file is "here" --+ ... but what is its inode ? | v +-----------------------------------------------+ | Ext4 filesystem | +-----------------------------------------------+ | LVM LV | +------------------------+----------------------+ | LVM PV | LVM PV | +------------------------+----------------------+ | /dev/md127 | /dev/md1 | | | | |<- 1953524992 sectors ->|<-1953522848 sectors->| +-----------+------------+-----------+----------+ | /dev/sdd | /dev/sdc | /dev/sdb | /dev/sde | +-----------+------------+-----------+----------+ ^ | Problematic sector 1697876848 on /dev/sde ---+
Пока что "погасил" сектора 1697876848
, 1524606517
, 1524609475
и т. д. на / dev / sde и каждый раз перезапускал восстановление, чтобы оно закончилось.
Учитывая различные смещения (RAID + LVM), как я могу рассчитать индексные дескрипторы и идентифицировать затронутые файлы?