При высыхании диска (на котором все больше и больше поврежденных секторов) на разделе с журналом ext4 cp
операция иногда завершается без ошибок, но записанные данные либо будут неправильными, либо просто не будут читаться (ошибки недопустимого аргумента после чтения части) сразу после создания файла.
Есть ли файловая система, которая предотвращает такие события (возможно, ZFS)?
Или есть какие-нибудь приложения командной строки, которые я мог бы использовать вместо cp
, чтобы проверить, что скопированные данные в порядке, прежде чем я удалю источник?
Я мог бы просто md5 как исходный файл, так и только что созданный файл, но для меня это звучит как взлом.
Спасибо.
Обновить: Думаю, я недостаточно объяснил, почему я спрашиваю об этом, и поэтому все предположили, что это не так.
я делаю не хочу продолжать использовать этот диск. Этот диск был отключен с того момента, как я заметил проблему. Я хочу, чтобы то, что здесь произошло, не повторилось с другими приводами.
У меня есть сценарий, который использует cp для регулярного копирования некоторых файлов с диска 1 на диск 2, а вскоре после этого с диска 2 на диск 3. Проблема, с которой я столкнулся, заключалась в том, что cp не жаловался при копировании с drive1 на drive2, хотя данные на drive2 были нечитаемыми, когда пришло время скопировать их на drive3. В этот момент моя копия с диска drive1 уже была удалена (потому что мне нужно было свободное место, а мой скрипт не сообщал об ошибках, поэтому я предположил, что данные на drive2 в порядке). Итак, я потерял файлы.
Итак, мой вопрос: как лучше всего предотвратить подобное повторение в будущем? Должен ли я просто использовать файловую систему с контрольными суммами или использовать инструмент копирования, который сам вычисляет контрольные суммы?
Переустановите его как ТОЛЬКО ДЛЯ ЧТЕНИЯ и скопируйте свои данные СЕЙЧАС.
Это единственное, что можно сделать с плохим диском.
Любая попытка продолжать его использовать - безумие.
Во-первых: прекратите монтировать свой диск с возможностью записи - это очень опасно, потому что запутанный драйвер может нанести большой ущерб вашим данным.
Во-вторых: попробуйте один из этих двух инструментов: мое спасение и ddrescue. Для этого вам понадобится другое исправное устройство в качестве цели. Инструменты пытаются скопировать как можно больше, пропуская плохие блоки и пробуя их позже. Это может занять много времени в зависимости от повреждения вашего устройства. Но если вы будете счастливы, вы получите большую часть своих данных обратно.
Нет файловой системы, которая предотвратила бы сбой неисправного жесткого диска, в лучшем случае они сообщали бы вам, что данные неверны, с помощью контрольных сумм, ZFS и Btrfs имеют поддержку контрольных сумм, я считаю, что EXT4 работает над добавлением контрольных сумм.
Единственное, что можно сделать, - это получить новый диск и скопировать данные со старого диска, прежде чем он полностью выйдет из строя, и вы потеряете все свои данные.
Что касается cp
вы могли бы использовать rsync
скопируйте файлы и после копирования запустите его снова, и если данные не изменились, то ничего не будет скопировано, и вы будете знать, что копия в порядке, если бы это было не так, скопировались бы только части файла, которые были разными .
Понятия не имею, зачем вам продолжать использовать накопитель, вы сэкономите много времени и времени, просто заменив его.