WebTransfer

вторник, 17 марта 2009 г.

dd. Клонируем, копируем

Сакральный смысл dd, заключается в том что с её помощью можем копировать файл (раздел, или любое блочное устройство) побайтно. Это дает нам потрясающую свободу действий, например для нашей задачи - скопировать данные с одного винчестера на другой:
# dd if=/dev/sda of=/sdb
где sda - источник, а sdb - конечная цель. Для оптимального решения проблемы лучше выполнить:
# dd if=/dev/sda of=/sdb bs=8M
где bs - это размер кэша жестокого диска (почти у всех современных дисков кеш больше 8М), этот параметр здорово ускорит процесс. Разумеется не очень удобно занимать целый винчестер для простого хранения образа. И эту задачу можно решить с помощью dd:
# dd if=/dev/sda of=/mnt/bak/sda.img bs=8M
То есть образ диска можно спокойно сохранить в файл и так же просто восстановить:
# dd if=/mnt/bak/sda.img of=/dev/sda bs=8M
Теперь оптимальное решение: Создаем файл, заполненный нулями, максимально возможного раздела и удаляем его. Это позволяет избавится от мусора в файловой системе.
# dd if=/dev/zero of=/null bs=1024 ; rm -f /null
Архивируем образ налету, а на выходе получаем малюсенький образ (обычно на 50% меньше, чем занимает установленная система).
# dd if=/dev/sda bs=8M | gzip -c > /mnt/bak/sda.img.gz
А так восстанавливаем сжатый образ:
# gunzip -с /mnt/bak/sda.img.gz | dd of=/dev/sda bs=8M

У этого способа "размножения" систем есть как свои плюсы так и свои недостатки:
+ Простота.
+ Быстрое копирование, при одинаковом (или схожем) аппаратном обеспечении.
+ Удобное хранение.
+ Независимость от файловых систем (может быть как ext3 так и ntfs)
- Если готовый образ переносится на другую платформу или другое железо, систему надо переконфигурирывать. Иногда проще поставить с нуля.
- Невозможность просмотреть или сконфигурировать образ системы до ее восстановление на диск.
- Неудобства в хранении. Образ системы достаточно большой.

1 комментарий:

  1. дада. у меня на dd изначально строился бекап Xen образов ) простая как дверь и удобная весч

    ОтветитьУдалить