Инструмент стиля dd/ddrescue для твердотельных накопителей, который пропускает записи для идентичных блоков

У меня есть dd-копия файловой системы с SSD, которую я хочу восстановить на той же файловой системе SSD из-за сбоя ОС, возвращая ее в известное исправное состояние. 95% блоков будут одинаковыми, поэтому во избежание износа SSD я не хочу иметь блоки записи ddrescue на SSD, которые идентичны блокам в копии dd.

Существует ли инструмент, эквивалентный dd или ddrescue, или флаги командной строки для инструментов, которые не будут записывать идентичные блоки в месте назначения? Это будет медленнее, так как он будет читать и записывать, но я в порядке с замедлением.

1 ответ

Это должно быть возможно сделать с помощью rsync, дифференциальный инструмент передачи данных.

Посмотрите справочную страницу и используйте --inplace вариант, потому что вы хотите записать прямо в файл устройства.

Тем не менее, один проход записи на диск является тривиальным количеством износа, поэтому рассмотрим просто dd обдумывая это.

e2image из e2fstools может сделать это с -c вариант, но он не может прочитать входное изображение из стандартного ввода, так как, кажется, нужно искать вокруг.

Старый" dd_rescue инструмент (который не совпадает с GNU ddrescue) имеет -W возможность избежать записи и может читать со стандартного ввода: https://sourceforge.net/projects/ddrescue/ Вы можете захотеть -a а также пропустить запись блоков нулей, в зависимости от ситуации (в настоящее время я смотрю на восстановление изображений в тонкие пулы LVM при сохранении характеристик CoW.)

Другие вопросы по тегам