Утиліта копіювання файлів на зразок rsync з обробкою помилок, як ddrescue, для відновлення даних з жорсткого диска з поганими секторами або збою обладнання [закрито]


12

У мене є жорсткий диск з поганими блоками або секторами, які не вдається прочитати через можливі механічні проблеми, такі як погана головка диска, поганий двигун або якась інша проблема, яка змушує жорсткий диск читати дані неквапливо повільно і з великою кількістю помилок читання. Я бачу в середньому 50 Кб / с, деякі з них опускаються нижче 10 Кб / сек, і часто він застрягає у файлі чи секторі, як правило, досить тривалий час - від 2-10 хвилин або більше (коли використовуючи rsync, перш ніж вимкнути його).

Швидкість, здається, різко змінюється, і він сильно застрягає у файлах, і коли він нарешті "відклеюється", він, здається, триває лише короткий зйомки, перш ніж він знову застрягне. Привід також дуже тихий, лише час від часу звучання копіювання файлів (зазвичай, коли вони стикаються / відклеюються на короткий час, перш ніж знову застрягти). Таким чином, немає жодного з тих злих звуків, які зазвичай асоціюються зі смертю від жорсткого диска. Хтось припустив, що проблеми звучали так, ніби вони можуть бути викликані неправильно вирівняною головкою диска, яка потребує багато перечитування, перш ніж вона нарешті успішно прочитає дані. Звучить правдоподібно, але я відволікаюсь ...

У будь-якому випадку, проблема з rsync полягає в тому, що вона, мабуть, не має гідної підтримки помилок. Очевидно, що це не було призначене для використання у відновленні даних від збою жорстких дисків, але все так зване «відновлення даних» утиліта, які там будуть призначені для такого використання , як правило , зосереджена на відновленні видалених файлів або переплутати розділи, а не копіювання файлів з відмираючих жорстких дисків. Очевидно, що відновлення видалених файлів - це не те, що мені потрібно, так що, можливо, ви можете зрозуміти моє розчарування в тому, що я не в змозі знайти те, що я ще шукаю.

Звичайно, саме тут, напевно, можна сказати "Ви повинні використовувати ddrescue!" Що ж, це все добре і безглуздо, але я вже отримав резервну копію більшості даних, тому просто хочу відновити певні файли. Мене не хвилює намагання відновити повний розділ блок-за-блоком, як це робить ddrescue. Мене цікавить лише рятування лише конкретних файлів та каталогів.

В ідеалі, що мені хотілося б - це певний перехрес між rsync та ddrescue: щось, що дозволяє мені вказати джерело та призначення як каталоги звичайних файлів, таких як rsync (а не два повних розділу, як вимагає ddrescue), із способом пропустити файли з помилки в початковому виконанні, а потім дозволяє мені спробувати відновити ті файли з помилками в подальшому виконанні (звичайно, з трохи зміненою командою), можливо, навіть запропонувавши можливість вказати кількість спроб повторити ... точно так само як ddrescue працює з блоками, тільки я хочу утиліту, яка працює з певними файлами / каталогами, як rsync.

Тож я мрію тут чи щось там, що може це зробити? Або, можливо, навіть спосіб змусити rsync або ddrescue працювати таким чином? Я дійсно відкритий до будь-яких рішень, які можуть працювати, до тих пір, поки вони дозволять мені вибрати файли, які я хочу "врятувати", і можу пропустити файли з помилками в початковому запуску, і спробувати / повторити ці помилки пізніше.

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

rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/

Відповіді:


3

У мене є Hitachi 3TB, який читає болісно повільно, ddrescue буде працювати на рівні файлів. Але не на каталоги. Однак я не зміг отримати можливості ddrescue --timeout або --min-rate-rate для роботи.

Ви хочете зробити це в сценарії, щоб ddrescue один файл за один раз.

cat listoffiles | while read file
pipe while> do
pipe while> ls -l "$file"
pipe while> ddrescue -n -e1  "$file" /cc/RecoveredFiles/"$file" /cc/RecoveredFiles/"$file".llog
pipe while> date
done | tee -a  /cc/RecoveredFiles/ddrescue.log

3

Можливо, rsync змінився за роки, відколи це питання було задано.

Мій досвід полягав у тому, що в rsyncданий час чудово працює, копіюючи речі з вмираючого жорсткого диска

rsync -a <src> <dest>

Він швидко рухатиметься, якби стикався з помилками, а при повторному повторному повторенні спробувати ці файли ще раз.

rsync --version звіти rsync version 2.6.9 protocol version 29

Щодо інших відповідей:

Відповіді 2011 року, здається, є рекламними інструментами, які є лише комерційними еквівалентами ddrescue - ніяких ознак того, що вони знають файли. Рибний. Відповідь 2013 року цікава.


2

Чудове запитання, люблю рівень деталізації. Для утиліти, яка б добре працювала в цьому сценарії, я рекомендував би спробувати Filescavenger від Quetek . Це дозволить надмірно повторно читати в кількості 100+, але що ще важливіше, вона має функцію візуалізації диска, яка дозволить скинути весь вміст на зображення, не витрачаючи часу на спроби оцінювати файли, а потім завантажувати зображення та сканувати його. для файлів. Утиліта отримує 50 доларів для домашніх користувачів, але ви можете завантажити її та протестувати, щоб побачити, що можна отримати з зображення, перш ніж витрачати гроші.

Якщо це для професійного використання, це обійдеться вам у дорогу копійку, але отримає значні функції, включаючи підтримку логічних масивів та апаратних рейдів.

Якщо це також не вдасться, можливо, ви минули точку інструментів відновлення програмного забезпечення. Якщо ви є, і ви можете виправдати витрати на відновлення лабораторії, дайте мені знати, в якій країні, штаті та місті ви перебуваєте.

Кріс


1

Ви хочете прогресивний копір . Він орієнтований на цілі диски, але оскільки він приймає шлях до файлу як параметр, він також повинен працювати для окремих файлів. Я не думаю, що це буде працювати для каталогів - вам доведеться вказати кожен файл.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.