Был RAID0 объемом 5 TB созданный с помощью mdadm на GPT-разделах. На конечном устройстве md0 была создана файловая система ext4.Случайно командой dd затер первые 30 GB на втором диске. Понимаю, что все восстановить нельзя, но ведь 30 ГБ от 5 TB не так уж много и очень надеюсь, что можно вытащить большую часть инфы.
В каком направлении действовать? GPT-раздел восстановить не проблема с помощью gdisk, так как затерлись только первые 30 GB и в конце диска есть копия GPT-раздела.
А вот как восстановить информацию, что второй диск был членом RAID0? Mdadm где-нибудь на диске хранит копию данных о массиве? Или может возможно как-то эту инфу перетащить с первого диска?
Думаю если удастся восстановить устройство md0, то можно попробовать на него натравить testdisk.
Подскажите, как зацепить обратно второй диск в RAID0 и не потереть оставшуюся инфу на нем.
Просто напиши заявление по собвтвенному, грузчики тоже нужны стране
> Был RAID0зачем ты использовал страйп?
> Случайно командой dd затер первые 30 GB на втором диске.ты убил как минимум 30Гх2
> зачем ты использовал страйп?Ну бывает такое в жизни, когда скорость и объем важнее самих данных. Например на RAID0 хорошо компилировать что-нибудь. Или видео резать. Это рабочая станция, а не суперважный сервер. Меня больше интересовала структура директорий и имена файлов. Чтобы видеть что перезалить.
Почти все данные продублированы на других машинах. Либо есть в интернете и их достаточно перезалить.
Оставлю это здесь. Может кто влетит на подобные грабли.
В общем восстановил с помощью gdisk GPT и пересоздал RAID0 с ключиком assume-clean. Размер чанка и uuid массива подсмотрел на первом диске, который остался нетронутым.
# mdadm --detail /dev/md0
# mdadm -S /dev/md0
# mdadm --create --verbose /dev/md0 --uuid=xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx --assume-clean --level=stripe --chunk=512K --raid-devices=2 /dev/sd[bc]1Скормил md0 утилите testdisk. Она мне подсказала как восстановить суперблок ext4. Я взял копию суперблока с самого конца массива.
# fsck.ext4 -p -b <SUPERBLOCK> -B <BLOCKSIZE> /dev/md0
После восстановления суперблока смонтировал md0 в режиме чтения. Однако на очень много директорий в корне файловой системы команда ls ругалась примерно таким образом: «ls: cannot access 'public': Structure needs cleaning». Я скопировал на другой винт все директории, на которые ls не ругалась. Потом размонтировал md0 и натравил на md0 утилиту e2fsck, которая эти самые директории успешно добила, сволочь такая. :)
Ну собственно дальше вход пошел R-Studio for Linux. Крупные файлы меня не интересовали, т. к. это как правило были всякие дистрибутивы и архивы с сорцами. Интересовали именно всякие мелкие текстовые файлы с моими заметками и скрипты для облегчения жизни в командной строке. Ну и всякие *.diff и *.patch, которые на других машинах могли быть не первой свежести.
В общем R-Studio в демо-редиме мне наковырял еще файлов с именем $InodeJrnlXXXXXXXX и в них я откопал почти все, что мне нужно.
Сейчас запустил еще photorec. Может еще, что найдется в хламе, про что я не помню. На первый взгляд, photorec лучше ищет, чем R-Studio.