- Создание резервных копий данных с помощью утилиты dd
- Выполняйте описанные действия с максимальной осторожностью
- Первые шаги
- Клонирование диска
- Восстановление данных из файла резервной копии
- Поздравляю!
- Создание образа жесткого диска при помощи утилиты dd в Unix
- Подготовка к созданию образа жесткого диска
- Создание образа жесткого диска
- Восстановление образа жесткого диска
- Миграция системы на другой жесткий диск
- Статистика копирования в dd
- blog.smart-admin.ru
- Блог системного администратора
- Снимаем образ утилитой DD в Linux
Создание резервных копий данных с помощью утилиты dd
Оригинал: Full Metal Backup Using the dd Command
Автор: Jack Wallen
Дата публикации: 19 августа 2016 г.
Перевод: А.Панин
Дата перевода: 15 декабря 2016 г.
Если вы ищите инструмент для создания резервной копии данных, вам, возможно, не стоит рассматривать вариантов помимо утилиты dd.
Как и в случае любых аспектов Linux, существуют миллиарды способов решения каждой отдельной проблемы. Это утверждение относится к любой проблеме, начиная с настройки окружения рабочего стола и веб-сервера и заканчивая чтением файлов системных журналов и созданием резервных копий данных. При этом поиск самого оптимального решения проблемы может затянуться на долгое время. Но в процессе поиска инструмента для создания резервных копий данных ваш поиск может начаться и закончиться на этапе рассмотрения утилиты dd. Название утилиты dd является отсылкой к аббревиатуре DD языка управления задачами компании IBM (Job Control Language) и расшифровывается как «Описание данных» («Data Description»). Основной задачей dd является преобразование и копирование содержимого файлов. При этом с помощью dd вы также можете без каких-либо сложностей скопировать содержимое раздела жесткого диска или же всего жесткого диска целиком.
Список функций утилиты:
- Создание и восстановление резервных копий как отдельных разделов, так и всего содержимого жестких дисков.
- Копирование необработанных данных из файлов устройств.
- Преобразование форматов данных.
- Создание файлов фиксированных размеров.
Однако, что более важно, утилита dd является одной из старейших утилит для работы с образами дисковых накопителей, которая используется по сей день. Почему же она до сих пор актуальная? Скорее всего, потому, что она является мощной, надежной и (что наиболее важно) простой в использовании.
Я опишу процесс использования утилиты dd для сохранения содержимого жесткого диска в файле образа и последующего восстановления содержимого жесткого диска на основе этого файла образа.
Выполняйте описанные действия с максимальной осторожностью
Первый аспект использования данной утилиты, о котором вам стоит знать, заключается в том, что в случае передачи некорректных аргументов вы можете потерять все ваши важные данные. По этой причине вы должны проявлять максимальную осторожность при работе с ней. Вам определенно следует убедиться в том, что вы точно знаете пути и имена исходных и целевых файлов.
Вам также придется использовать утилиту dd при работе с Live-ситемой Linux. Она копирует каждый байт (и даже данные из неиспользуемого пространства накопителей), поэтому процесс создания резервных копий данных может надолго затянуться. Работа с утилитой dd на машине, находящейся в промышленной эксплуатации, может повлечь за собой потерю данных (именно по этой причине и рекомендуется использовать Live-систему). Поэтому вам следует прямо сейчас загрузить Live-образ формата ISO вашего любимого дистрибутива Linux и записать его либо на диск DVD, либо на флеш-накопитель с интерфейсом USB.
Имея в виду приведенные выше предупреждения, давайте приступим к работе с утилитой dd.
Еще один очень важный нюанс заключается в том, что целевой жесткий диск должен быть либо такого же, либо большего размера, чем клонируемый жесткий диск. Утилита dd будет копировать данные как из используемых, так и из неиспользуемых областей жесткого диска. Предположим, к примеру, что вы установили систему Linux на жесткий диск объемом в 250 ГБ, причем на данный момент на этом диске хранится лишь 100 ГБ полезных данных. dd не будет различать используемое и неиспользуемое дисковое пространство, создавая образ всего жесткого диска: разумеется, его объем будет равен 250 ГБ. Вы можете немного сократить размер файла образа жесткого диска, задействовав один из механизмов сжатия данных (об этом будет сказано чуть позже).
Первые шаги
Первым делом вы должны загрузить вашу Live-систему. Название используемого дистрибутива не имеет решающего значения, так как утилита dd имеется в комплекте поставки практически каждого из дистрибутивов Linux. Я буду использовать бета-версию дистрибутива Elementary OS Loki . После загрузки системы следует подключить внешний дисковый накопитель. Этот накопитель не должен содержать каких-либо важных данных (так как утилита dd перезапишет его содержимое). Лучшим вариантом является использование для этой цели пустого, только что отформатированного дискового накопителя.
Теперь следует открыть окно терминала (в Live-системе) и удостовериться в том, что файл устройства клонируемого жесткого диска на самом деле носит имя sda . Для этой цели я использую команду grep sda /var/log/syslog . Вывод этой команды (Рисунок 1) должен содержать информацию о том, что файл устройства /dev/sda соответствует клонируемому диску.
Рисунок 1: Велика вероятность того, что файл устройства, соответствующий клонируемом жесткому диску, носит имя sda.
Далее вам придется выяснить путь к корневой директории подключенного внешнего накопителя. Для этого нужно воспользоваться командой mount . В результате будет выведен значительный объем данных, при рассмотрении которых несложно определить путь к директории, ассоциированной с вашим целевым устройством (внешним накопителем). Наиболее вероятно, что данному устройству будет соответствовать файл устройства /dev/sdb .
Клонирование диска
Для простоты предположим, что исходному жесткому диску соответствует файл устройства /dev/sda , а разделу целевого накопителя — файл устройства /dev/sdb1 . Вы можете скопировать с исходного устройства как содержимое его отдельного раздела (к примеру, /dev/sda1 ), так и все его содержимое. Для клонирования данных с устройства sda на устройство sdb1 мы можем выполнить следующую команду:
В данном случае были использованы следующие аргументы:
- bs : устанавливает размер копируемого блока данных (по умолчанию используется значение 512 байт, которое не подходит для жестких дисков большого объема)
- noerror : сообщает утилите dd о необходимости продолжать работу, игнорируя все ошибки чтения
- sync : сообщает утилите dd о необходимости заполнения блоков нулями в случае возникновения ошибок чтения
После исполнения команды вы можете отойти от компьютера, так как для завершения процесса клонирования жесткого диска потребуется достаточно много времени. В процессе работы утилиты не будет выводиться никакой информации; при этом вы также не увидите нового приветствия командной оболочки. Если вы предпочитаете видеть информацию о ходе процесса копирования данных, вы можете передать утилите аргумент status=progress аналогичным образом:
В результате вы будете получать информацию об объеме скопированных данных в реальном времени.
Кроме того, вы можете скопировать содержимое жесткого диска в обычный файл образа диска. Этот подход немного упростит процесс восстановления содержимого жесткого диска и позволит значительно сэкономить место на целевом накопителе. Для создания файла образа диска утилита dd может использоваться следующим образом:
Здесь /ПУТЬ/К/КОРНЕВОЙ/ДИРЕКТОРИИ/НАКОПИТЕЛЯ/ является реальным путем к корневой директории целевого накопителя (в моем случае это /media/elementary/TOSHIBA/ ), а не к соответствующему ему файлу устройства.
Я предпочитаю клонировать жесткие диски в файлы образов, а не просто создавать их побайтовые копии на на других дисках. Одним из преимуществ такого подхода является возможность перемещения файла образа практически на любой из доступных накопителей. Если же вы планируете лишь клонировать жесткий диск с целью его последующей замены, вам, разумеется, не придется заниматься созданием файла образа этого диска. Однако, в том случае, если вы хотите создать резервную копию диска в формате файла образа, которая может использоваться впоследствии, в том числе, для создания множества копий диска или вы хотите впоследствии перемешать файл образа диска (по какой-либо причине), последняя команда будет более предпочтительным решением. Еще одним ее достоинством является возможность сжатия файла образа, ведь из-за того, что неиспользуемое пространство диска отлично сжимается, вы получите результирующий файл гораздо меньшего размера.
Восстановление данных из файла резервной копии
А теперь я продемонстрирую методику использования утилиты dd для работы с файлом образов дисков. Как и в случае процесса копирования данных в файл образа диска, данная операция должна выполняться в рамках загруженной Live-системы. Я буду предполагать, что вы установили целевой жесткий диск в ваш компьютер, подключили нему внешний накопитель (с файлом образа диска) и загрузили Live-систему.
После завершения работы утилиты dd вы должны были получить файл образа диска с именем backup_image.img.gz на внешнем накопителе. Для восстановления данных из этого файла на новом жестком диске (мы будем восстанавливать данные на новом диске, представленном файлом устройства с именем sda , объем которого совпадает с объемом оригинального жесткого диска), нам для начала понадобятся привилегии суперпользователя. Если вы используете дистрибутив, основанный на Ubuntu, вам придется сначала выполнить команду sudo su , ввести свой пароль, нажать клавишу Enter , после чего выполнить аналогичную команду для восстановления содержимого жесткого диска из файла образа:
Здесь /ПУТЬ/К/КОРНЕВОЙ/ДИРЕКТОРИИ/НАКОПИТЕЛЯ/ является путем к директории внешнего накопителя с файлом backup_image.img.gz .
Примечание: если вы используете дистрибутив, в котором утилита sudo не используется по умолчанию (такой, как Fedora или openSUSE), вы сможете получить привилегии суперпользователя с помощью команды su . После исполнения этой команды следует ввести пароль администратора и нажать клавишу Enter . После этого вы сможете выполнить приведенную выше команду для восстановления содержимого жесткого диска.
И снова вы можете отойти от компьютера, так как процесс восстановления содержимого жесткого диска займет достаточно много времени. После его окончания вы должны получить точную копию оригинального жесткого диска, пригодную для загрузки системы. Теперь вы можете перезагрузить систему, удалить накопитель или диск с Live-системой и загрузить систему с клонированного диска.
Поздравляю!
Теперь вы имеете представление о том, как использовать утилиту dd для клонирования жестких дисков. При этом dd может использоваться и для других целей. Для раскрытия потенциала данной утилиты вам придется ознакомиться с ее страницей руководства, которая открывается с помощью команды man dd .
Источник
Создание образа жесткого диска при помощи утилиты dd в Unix
Для создания образа жесткого диск не обязательно использовать утилиты на подобии Acronis True Image или Norton Ghost, достаточно простой утилиты dd, которая входит в состав большинства Unix-подобных операционных систем (Linux, FreeBSD, Solaris и т.д.) В статье рассмотрен простой способ создания резервной копии образа жесткого диска при помощи dd. Первым делом необходимо подготовиться к резервному копированию. В данной статье введем следующие обозначения:
- /dev/sda — диск, образ которого необходимо создать;
- /dev/sdb — диск на который будет записан образ.
При необходимости нужно подставить собственные значения.
Подготовка к созданию образа жесткого диска
Первым делом необходимо загрузиться с любого доступного Live-CD диска, имеющего утилиту dd, и войти в командную строку в качестве суперпользователя. Создаем точку монтирования для проведения резервного копирования.
Монтируем жесткий диск на который необходимо сохранить образ.
Создание образа жесткого диска
Для сокращения размера образа жесткого диска его можно сжать любым архиватором.
Восстановление образа жесткого диска
Для восстановления образа жесткого диска необходимо проделать процедуру обратную процедуре создания этого образа.
При использовании сжатия параллельно необходимо разархивировать образ.
Миграция системы на другой жесткий диск
Для миграции всей системы на другой жесткий диск необходимо, в качестве цели назначения задать расположение нового диска.
После чего при необходимости устанавливаем загрузку с данного жесткого диска. При условии, что новый жесткий диск больше старого, на нем останется неразмеченная область. Ее следует разметить и отформатировать согласно имеющимся требованиям.
Статистика копирования в dd
Главный минус в dd — это отсутствие наглядного представления статистики выполнения процедуры копирования. Однако этот минус можно легко обойти. Достаточно подключиться к другому терминалу.
Определить номер процесса, под которым запущена dd.
Периодически посылать данному процессу команду kill -USR1 номер_процесса_dd .
Источник
blog.smart-admin.ru
Блог системного администратора
Снимаем образ утилитой DD в Linux
Снимаем образ всего диска утилитой dd.
1) узнаем как называется диск командой: df -h
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/sda1 27G 2,8G 23G 11% /
tmpfs 1005M 0 1005M 0% /dev/shm
2) снимаем образ загрузочного раздела:
# dd if=/dev/sda of=/home/user/moy-mbr.bak count=1 bs=512
3) снимаем образ самого диска:
# dd if=/dev/sda of=/home/user/moy-razdel.bak
# dd if=/home/user/moy-mdr.bak of=/dev/sda
# dd if=/home/user/moy-razdel.bak of=/dev/sda
Можно сразу добавить в архив:
# dd if=/dev/sda | gzip -c > /home/user/moy-razdel.img.gz
И потом достать из архива:
# gzip -x /home/user/moy-razdel.img.gz | dd of=/dev/sda
Вариант 2 от Юрия Акимова
Создание образа жесткого диска при помощи утилиты dd в Unix
Для создания образа жесткого диск не обязательно использовать утилиты на подобии Acronis True Image или Norton Ghost, достаточно простой утилиты dd, которая входит в состав большинства Unix-подобных операционных систем (Linux, FreeBSD, Solaris и т.д.) В статье рассмотрен простой способ создания резервной копии образа жесткого диска при помощи dd. Первым делом необходимо подготовиться к резервному копированию. В данной статье введем следующие обозначения:
При необходимости нужно подставить собственные значения.
Подготовка к созданию образа жесткого диска
Первым делом необходимо загрузиться с любого доступного Live-CD диска, имеющего утилиту dd, и войти в командную строку в качестве суперпользователя. Создаем точку монтирования для проведения резервного копирования.
Монтируем жесткий диск на который необходимо сохранить образ.
Создание образа жесткого диска
dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror
- if=/dev/sda — копируем весь жесткий диск sda;
- of=/mnt/backup/sda.img — копируем в /mnt/backup/sda.img;
- bs=8M — задаем размер кэша жесткого диска для ускорения процедуры копирования (иначе данные будут сбрасываться малыми порциями по 512 байт);
- conv=sync,noerror — указываем dd на необходимость копирования по типу бит-в-бит с игнорированием ошибок чтения.
Для сокращения размера образа жесткого диска его можно сжать любым архиватором.
Восстановление образа жесткого диска
Для восстановления образа жесткого диска необходимо проделать процедуру обратную процедуре создания этого образа.
При использовании сжатия параллельно необходимо разархивировать образ.
Миграция системы на другой жесткий диск
Для миграции всей системы на другой жесткий диск необходимо, в качестве цели назначения задать расположение нового диска.
После чего при необходимости устанавливаем загрузку с данного жесткого диска. При условии, что новый жесткий диск больше старого, на нем останется неразмеченная область. Ее следует разметить и отформатировать согласно имеющимся требованиям.
Статистика копирования в dd
Главный минус в dd — это отсутствие наглядного представления статистики выполнения процедуры копирования. Однако этот минус можно легко обойти. Достаточно подключиться к другому терминалу.
Определить номер процесса, под которым запущена dd.
Периодически посылать данному процессу команду kill -USR1 номер_процесса_dd .
watch -n 5 kill -USR1 номер_процесса_dd
- watch -n 5 — выполнять команду каждые 5 секунд;
- kill -USR1 номер_процесса_dd — показать статистику копирования.
Источник