> Нашлись с помощью чего? Мата и хексэдитора.Из какой-то старинной резервной копии, всего лишь. Достать из древнего бэкапа пару файлов которые не меняли со времен царя Гороха - нормально вполне. Так удалось получить и текущее состояние и ничего не продолбать. С минимумом усилий человеков в плане войны с проблемой.
> пулу и определить поимённо с точным путём, какие файлы повреждены.
В моем случае речь шла о максимальном вытаскивании с ФС данных. Дабы это обеспечить - сперва я прочел все что в принципе могло прочесться с этого носителя в образ, при том утилитка читает умно - сперва грубый проход по поверхности, с пропуском явно проблемных мест, а потом - добивание того что осталось до победного (или истечения лимита попыток, или окончательной смерти накопителя). Так даже если проблемный носитель умрет при долбежке - уже не очень обидно. Потому что делать что либо с нестабильным диском, который явно собирается помереть - себе дороже: пациент может умереть в руках доктора. Самое умное что можно сделать - максимально вычитать в образ и работать уже с образом.
В конечном итоге удалось додолбить все кроме 10 секторов. Часть попала в данные, часть в метаданные. Этих 10 секторов у меня никогда не будет. Это - данность. Накопитель не может их прочитать. Даже за 20 попыток. ZFS никогда не рассчитывался на такие "данности". Это вообще его дизайном не предусмотрено. Запроектная авария. Нет, у данного диска нет никаких райдов и зеркал - ФС обречена столкнуться с разрушением и заметить этот факт. Суровые реалии этого мира - крайне нестабильный накопитель, у которого 10 секторов умерло совсем, а регионы вокруг - читаются медленно и не всегда с 1 раза.
Поэтому продвинутая утилита чтения чтобы аккуратно выцепить все что можно унести - мастхэв. А вот далее fsck сделает нам проход с валидацией структур ФС и поможет починить то что факапнулось. А факапнулось. Потому что 10 секторов просто нет.
> к сбойному носителю просто приаттачить зеркалом второй исправный носитель.
1) Лишнего винча под рукой быть совершенно не обязано. Для снятия образа я поюзал имеющиеся дисковые емкости иных компьютеров. Ессно не вытаскивая накопители - они там понимаешь ли отформачены и с данными. Просто по сусекам на таких дисках нашлось места на пару копий образов со скрипом.
2) Очень врядли что ZFS реализует продвинутую стратегию чтения с полуубитого накопителя и не доканает его совсем и/или не посчитает невосстановимо убитым. Некоторые сектора читаются с 3 попытки. Некоторые - не читаются вообще. Малопонятно как драйвер ZFS с настолько поганым по свойствам диском работать вообще будет.
Я не думаю что ZFS сможет нормально перестроить данные с проблемного накопителя в таком случае.
> классическая файлуха такой конфигурации не выдержит в принципе даже на LVM
В данном случае не было никаких райдов и LVM. Была просто ФС, без избыточности и потому частично порушенная. ZFS вообще не очень то и рассчитывает на такой оборот. Там предполагается крЮтой ынтырпрайз. С сотнями денег на райды и прочая. А такое как единственный накопитель, да еще вдруг с бэдами - это уже запроектная авария. Я так понимаю что у саней нет рецептов на этот счет.
> — с ума сойдёт от бэдов. ;)
Да я думаю что и ZFS не особо хорошо себя будет чувствовать. И тем более сомнительно что он реализует оптимизированную стратегию вычитывания, допускающую мысль о потере данных, с настраиваемыми параметрами долбежки. А вот после отдалбывания образа спецутилитой все что надо - утилитка которая сделает проверку структур, починит или хотя-бы нейтрализует проблемные метаданные и позволит поработать с томом через стандартный драйвер уже наконец. Вот это как раз fsck.
> Вот ещё фейл с внешним винтом под Ext4 с шифрованием: http://www.linux.org.ru/forum/admin/9765462
А вот шифрование дисков очень плохо относится к малейшим неидеальностям в работе накопителей и сбоям и вообще деликатная штука. Судя по всему у гражданина расшифровка перестала корректно работать. С шифрованными дисками таких приколов можно хлебнуть, при том не только в линухе. Делайте бэкапы, чо.