Инструмент стиля 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.)