timon_timonich (timon_timonich) wrote,
timon_timonich
timon_timonich

Categories:

ОДНО НЕЛОВКОЕ ДВИЖЕНИЕ И ВЫ — ФАЙЛОВЫЙ ВДОВЕЦ. КАК Я ДАННЫЕ ВОССТАНАВЛИВАЛ



Есть великое правило всех времен и народов «Работает — не трогай». Но нет, это не мой путь, шило же в одном месте жить спокойно не дает, надо залезть, заоптимизировать.

Небольшая преамбула. Есть комп с винтом на много терабайт, есть NAS на прям вообще много терабайт. На второй ежедневно бакапятся компы и ноуты использую штатные утилиты, также туда заливалась копия фотоархива с помощью прекрасной программы GoodSync. Работает максимально топорно -> вот эту папку, копировать вот сюда, каждый день по ночам повторить. Схема работала как часы, но только вот меня дико выбешивала служебная папка _gsdata_, которую программа создавала в корне фотоархива. Казалось бы херня, но каждый раз открывая фотоархив внутренний перфекционист видя эту возмутительную не идеальность сильно страдал. Потому в какой-то момент я решил, что так жить больше нельзя и нужно срочно что-то менять.

Сетевые хранилища от Synology рулят огромным наличием софта, потому быстрый гуглинг подсказал, что на комп есть несколько утилит, которые умеют то же что и моя штатная бакапилка и что КРАЙНЕ важно, не создают никаких временных папок. Победа, ликование, восторг!

Но! Куда уж без но! В общем, эта прога предлагала либо бакапить с NAS на комп или же настроить двухстороннюю синхронизацию. Последняя хрень, штука крайне опасная, потому как струдно предугадать рукожопость программистов, что её писали и как именно они организовали процесс выбора приоритетов. Вариант, что удаление чего-то на компе снесет все с бакапилки, меня устраивал, наоборот — категорически нет, опции односторонняя синхронизация, по какой-то магической причине отсутствовала. Но деваться было некуда, папка то бесит. Поставил прогу, потрениваролся на временных папках, всё работало как часы, программа вроде как усвоила, что данные на компе главнее и синхрила всё в нужную сторону. Всё работало идеально года четыре, пока мне в голову не пришла гениальнейшая мысль «Да здравствует реорганизация фотоархива».

Структура данных у меня была топорная, фотографии с исходники были разделены по годам, то есть папка 2018 в ней лежат готовые снимки и там же папка _source с исходниками. Схема отличная и меня устраивала, проблема была только одна, если я хотел скопировать обычные снимки за несколько лет, то автоматом захватывались и исходники, приходилось добавлять по годам ручками. Неудобно, надо переделать! Остановил программу синхронизации, перенес все исходники в отдельную папку, удалил всё это дело с NAS (чтобы он там с ума не сошёл синхронизируя) и обратно включил синхронизации.

Поначалу вроде как всё шло нормально, пока вдруг на моих глазах не стали удаляться папки на компе, паникуя дернул стоп-кран и начал изучать масштаб трагедии. Естественно программа радостно снесла мне пол-винчестера, подумав что странный хозяин решил устроить чистку, под раздачу попал почти весь фотоархив. Благо я быстро это дело заметил и грохнул возмутителя винчестерного спокойствия. Я особо не паниковал, звание «компутерщик» ношу не зря и гордо. Вытащить всё дело нехитрое — скорее долгое. Оценил масштаб трагедии, натравил на винт прогу Recuva, та часов 8-10 насиловала жесткие диски и наконец-то выплюнула окошко с выбором того, что надо восстановить.

Я был убежден что пострадали исключительно фотографии, а исходники в порядке (фатальная ошибка). Так что натыкав галки напротив папочек с фотографиями, поставил все это дело восстанавливаться на другой винт. Затем радостно накатил это на пострадавший диск (фатальная ошибка номер два).

Но я сильно недооценил коварство программы синхронизации, потому как фотографии она снесла подчистую с папками, а вот с исходниками поступила очень изящно — удалила файлы оставив структуру папок, визуально всё как надо, ровно до момента детального изучения. Я обычно включаю режим паранойи и проверяю все, но тут пробежав по 30 папкам из 60 и убедившись, что все чики-пуки решил, что наверное для верификации хватит. В этой нелегкой битве погибли исходники за 2007 год (не жалко от слова совсем), полностью 2018 и где-то наполовину 2019 год.

С одной стороны с фотографиями всё в порядке, можно и не дергаться. Я практически никогда не лезу в исходники после того как всё обработано. Но только вот внутренний перфекционист противно так и шепчет «рукожоп! рукожоп!». Так что вместо того чтобы как все нормальные люди в выходные отдыхать, устроил крестовый поход с целью выковырять потерянные фотобогатства и хоть как-то достать чувство собственного достоинства из-под плинтуса. На этом плач Ярославны прекращается, перейдем к технической части, непосредственно к восстановлению.

Немного ликбеза, когда вы удаляете файлы с винта, то физически они никуда не деваются, мозги диска просто помечают начало удаленного файла как свободный и в случае, если вы скопируете новенькое, то вполне вероятен шанс, что система выберет недавно удаленный файл и радостно накатит поверх новый. Потому первое правило восстановления данных — ничего не писать на пострадавший винт под страхом смерти, но я убежденный в том, что с исходниками все в порядке умудрился туда накатить полтерабайта восстановленных фотографий, что почти полностью уничтожило шансы что-то вытащить.

Ну что же, попробуем теперь реанимировать последствия собственной криворукости.



Первым дело попробовал утилиту Recuva. Прога неплохо справилась при восстановление удаленных жпегов, но вот когда я решил прогнать её на винте, где половина файлов была перезаписана, она не смогла найти почти ничего. Также при первом восстаноление потерялись имена папок, сопоставить что где, было не сильно проблематично, но пришлось потратить лишние полчаса на эту ненужную процедуру. В не сильно запущенных случаях отличный вариант, но не в нашем, так что самое время перейти к тяжелой артиллерии.

R-Studio и Wondershare Data Recovery


Два брата-акробата — мастодонты восстановления данных, R-Studio существует с незапамятных времен. Умеют почти всё, скан по сети, поиск по сигнатуре, поёт, танцует, разве что кофе не готовит. Обе проги отрабовали практически идентичен — думали почти двое суток, затем выплюнули огромную портянку вариантов для восстановления. Примерно столько же выковыривались данные на винта. Я не поленился прогнал полный цикл двумя прогами, в принципе было зря, потому как результат одинаковый. Разве что могу дать несколько лишних баллов Wondershare. Она данные по сигнатуре ищут чуть лучше.

После почти недельного марафона из винчестера что на компе, удалось вытащить практически всю Южную Корею (чистая удача) и по крупицам восстановить процентов так 15 всего остального. Подумал чем чёрт не шутит и решил проверить макбук с которым езжу в поездку, потому как перидоически на него бакапил фотки в поездках — результата ноль. Пара внешних винтов — мимо. Беда везде почти одна, структура данных восстановлена, файл называется как надо, размер верный, открываешь — привет фоточка из 2011, нефиг было накатывать данные раньше времени. Нужный файл перезаписан, боль, печаль, страдание.

Такс, есть же карты памяти! Тут меня постигла удача, флешка, что жила в дроне раньше стояла в фотоаппарате, прогнав по ней анализ, я обнаружил в недрах фотографии с поездок в Испанию и в Марокко. Вторая удача — я забыл в свое время настроить синхронизацию данных двух карт в фуджике, потому запасная карта практически не использовалась в последних поездках и получилось раздобыть исходники еще с части поездок. Долго, муторно, многое пришлось сопоставлять ручками, но в итоге еще процентов 20-30 исходников раздобыть удалось.

Ну а теперь совсем гиковская часть, а именно реанимация данных на NAS. Тем кто не в теме, будет мало интересно.

Итак у нас есть хранилище с линуксом, в котором нельзя компилировать программы и напрочь отсутствует визуальный интерфейс, всё управляется исключительно через веб-морду. Лезем в настройки, включаем доступ по SSH и вуаля мы в консоли, тут тепло, уютно и есть печеньки. Гуглинг подсказал, что спасут криворучку утилиты TestDisk и PhotoRec, они на мою радость идут уже скомпилированными, так что запустились на ура. TestDisk честно отображал удаленные папки, но заявлял, что у него лапки при попытке что-то восстановить.

PhotoRec — прога для восстановления файлов по сигнатуре. Запустил, выставил поиск нужных форматов ARW (Sony), RAF (Fujifilm) и PSD (исходники фотошопа) и сел ждать. Слабое место подобного вида прог — они прекрасно видят начало файла, но напрочь пропускают конец. Потому довольно быстро начали появляться raw файлы размером под гигабайт и файлы фотошопа на 10-50 гигов. Дело гиблое, так для восстановления никакого винта не хватит. Полез в исходники (да я это умею), нашел что у файлов лимит проставлен чуть ли не пара терабайт, проставил пару гигов для фотошопа и 40 мегабайт для исходников. Только вот как прогу скомпилировать, если нужных тулзов на NAS нет и хрен их поставишь? Исполняем изящный финт ушами — компилируем на собственном сервере, а потом копируем собранный пакет на сервак. Костыль? Да еще какой. Зато работает!

Прога шуршала почти 4 дня — результат практически нулевой, от силы реанимировалась пара исходников и несколько файлов фотошопа. Дальше была прекрасная неделя, когда я перепробовал практически все существующие утилиты для Linux для восстановления. Не помогло ничего.

Окей, ПО с открытым кодом очевидно не работает, надо попробовать запустить что-то коммерческое, там люди всё-таки не зря деньги получают. С удивление узнаю, что существует бесплатная утилита R-Linux, которая умеет делать практически тоже самое что и платная версия для винды. Только вот беда она требует визуальный интерфейс, который очевидно на NAS не работает. Погрузился я в чтение документации, форумы и прочую магию и у меня всё получилось. Дабы получить это заветное окошко у меня ушла примерно неделя.



Задача кстати нифига нетривиальная:

  • Разобраться как ставить неофициальные пакеты под Synology. Инфа тут

  • Установить все зависимости, что нужны для R-Linux. А их вагон и маленькая тележка

  • Понять, как прописывать параметры запуска.

  • Запустить прогу, охренеть от кракозяб, осознать что глючат шрифты. Загуглить как их ставить и ручками поменять конфиг, дабы оно заработало. Тут чисто интуиция

  • Чуть не сломать голову как позволить запускаться X11 из под рута, потому как под админом нет прав сканить винт, а под рутом нет прав запускать X11 (подсказка, копировать файл .Xauthotiry)

И конечно же после двух недель сканирования и восстановления пости шести терабайт в несколько итераций и долгого разбора результата стало понятно — что ничего полезного вытащить не удалось. Уж не знаю как на линуксе файловая система устроена, но если уж там что-то грохается, то похоже что глобально. Потому как реанимировать не удалось вообще ничего.

Резюме
Спрашивается а нахрена я так заморачивался?? Финальные фотографии есть, в исходники за всё время я залазил ровно ноль раз, финансово мне от этого ни тепло ни холодно. Но только вот профессиональная гордость задета, я так старательно выстраивал систему бакапов и так банально оступился. Мораль — бакап это хорошо, но двойной без синхронизации, который делается периодически ручками, да еще и в облако или на отдельный носитель — бесценно.

Результаты примерно следующие:

  • Вьетнам, Кипр, — из комбинации исходников и фотошопных файлов можно собрать где-то 50% исходных данных

  • Румыния, Сицилия — исходникам кирдык почти полностью, фотошопа 20%

  • Испания — 60%

  • Марокко — благодаря флешкам удалось вытащить почти всё

  • Германия/Швейцария — померла вся

  • Южная Корея — восстановлена на 95 процентов.

Достижения сомнительны, опыт — наше всё, теперь я отлично разбираюсь как в случае чего восстанавливать данные и на винде и на линуксе. Я в принципе и раньше разбирался, теперь пришлось не по своей воле немного глубже нырнуть в проблему. На этом у меня всё, всем спасибо за внимание.

з.ы. Ради интереса проверил софт от Synology, они наконец научились делать одностороннюю синхронизацию, только вот пути нормально настраивать нельзя. Так что пришлось придушить перфекциониста и вернуться к старой проверенной проге GoodSync. Односторонняя синхронизация каждый день и никакой экзотики.

Facebook | Instagram | Vimeo | Youtube
Tags: разное
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 45 comments