Делаем образы дисков с помощью dd и gzip
Многие знают про утилиту dd - очень удобный инструмент. В частности очень хорошо подходит для клонирования дисковых разделов (или целых дисков).
Недавно в ходе нескольких экспериментов выяснил, что такой образ диска можно сильно сжать с помощью GZip.
Например, заполненный на около 5Гб NTFS-раздел объемом 31Гб в сжатом состоянии занимает всего 1.7Гб. Единственное неудобство в том что на моем AMD Athlon 1700+ создание этого образа заняло 50 минут, а подсчет md5-суммы раздела-оригинала и упакованного образа по 12 минут. На системах с более производительным центральным процессором данный процес займет гораздо меньше времени.
Так как основной объем информации на системных жестких дисках (конечно за исключением медиа-данных) очень хорошо поддается сжатию, и часто многие выделяют несколько разделов под ОС, таким образом можно быть уверенным что образ раздела удастся сжать.
В ходе тестов на различных разделах степень компрессии несколько шокировала. Например, FAT-16 раздел размером 40Гб был сжат до 30МБ (контрольные суммы проверил - они совпали)!!!
Создаем образ:
#dd if=/dev/sdf1 bs=8096 | gzip -9cf > sdf1.dd-image.gz
Это занимает время. За процессом можно наблюдать на той же консоли с помощью периодической посылки USR1 сигнала процессу dd. Для этого на другой консоли выполняем:
#ps | grep dd
определяем pid процесса dd и подставляем его в следующую команду
#watch -n 15 "kill -USR1 $pid_of_dd"
Распаковка образа:
#gunzip -c sdf1.dd-image.gz | dd of=/dev/sdf1 bs=8096
также можно подсчитать md5-сумму для раздела, чтобы после восстановления проверить правильность распаковки образа:
#dd if=/dev/sdf1 bs=8096 | md5sum - > sdf1.dd-image.md5
Параноики (бывают ситуации когда лучше потратить время на еще одну перепроверку) могут еще и проверить правильность создания образа:
#gunzip -c sdf1.dd-image.gz | md5sum
Приятной всем работы ;)
ИСТОЧНИК: