четверг, 7 июля 2011 г.

Резервное копирование командой dd

Так же этот метод можно еще назвать и «зеркалированием»,так как программа dd копирует данные по секторам не зависимости от того есть ли на этом участке диска данные или нет, будет создана точная копия и размер будет точно такой же.
То есть если раздел /dev/sda1 имеет объем в 25 Gb, а занято всего 5 Gb то все равно копия образа будет 25 Gb.Простыми словами данные откуда (параметр if ), куда (параметр of )
Примеры использывания:
$ dd if=/dev/hda of=/dev/hdb conv=noerror,sync

Команда выше сделает точную копию раздела /dev/hda в разделе /dev/hdb,т.е есть мы «отзеркалировали» /dev/hda
Часто используемые параметры после conv:
- noerror — продолжать копирование не обращая внимание на bad-блоки и прочие ошибки.
- sync — поврежденные или отсутствующие данные во входном буфере на выходе будут заменены на нули.

Опция замедляет работу команды dd, но для более корректного образа стоит воспользоваться ею:
$ dd if=/dev/sda5 of=/home/backup/sda5.img

Делаем полный образ раздела /dev/sda5 в бинарный файл sda5.img.
И еще для полного спокойствия сделаем копию нашей MBR (Master Boot Record).
MBR – это первый сектор на жестком диске содержащий таблицу разделов и запись, с какого раздела загружаться.
$ dd if=/dev/sda1 of=/home/backup/mbr.dump bs=512 count=1

bs — block size, размера блока который мы хотим скопировать
count — количество bs
Восстановления MBR из резервной копии:
$ dd if=/home/backup/mbr.dump of=/dev/sda1 bs=512 count=1

Восстановления раздела из образа:
$ dd if=/home/backup/sda5.img of=/dev/sda5

Но dd имеет массу недостатков, а именно:

  • не видно сколько скопировано
  • не видно сколько осталось
  • не видно, чем вообще сейчас dd занимается
Нашлась достаточно альтернатив dd - pv:

pv /dev/sda > /dev/sdb

Комментариев нет:

Отправить комментарий