Резервное копирование и восстановление образов с помощью dd

Что такое dd?

Команда dd - это утилита для копирования и преобразования файлов, широко используемая в большинстве Unix-подобных операционных систем. Ее можно использовать для таких задач, как создание резервных копий данных, клонирование дисков, создание образов разделов и т. д. Однако при использовании dd следует соблюдать осторожность, так как неправильное применение может привести к потере данных.

Вот основной синтаксис команды dd:

dd if=input_file of=output_file [options]

Где:
- if (входной файл) указывает входной файл или источник данных.
- of (выходной файл) указывает выходной файл или место назначения данных.

Ниже приведены некоторые общие опции и параметры dd:

1. bs (размер блока): Определяет размер блока данных. Например, bs=4K устанавливает размер блока в 4 килобайта.
2. count (количество): Указывает количество блоков для копирования. Например, count=100 копирует 100 блоков данных.
3. iflag и oflag: Опции для управления флагами ввода и вывода. Например, iflag=direct можно использовать для прямого чтения данных, минуя кэш операционной системы.
4. seek и skip: Опции для перемещения указателя входного или выходного файла, чтобы начать или закончить копирование с определенной позиции.
5. статус: Опция для отображения информации о ходе выполнения операции копирования.
6. conv (преобразование): Позволяет выполнять различные преобразования данных, такие как изменение регистра (conv=ucase или conv=lcase), удаление символов (conv=sync) и другие.
7. iflag и oflag: Эти опции позволяют настроить флаги для входных (iflag) и выходных (oflag) данных. Например, direct можно использовать для прямого чтения или записи данных без буферизации.
8. статус: Эта опция позволяет отображать информацию о ходе выполнения операции копирования.
9. искать и пропускать: Позволяют перемещать указатель входного или выходного файла, чтобы начать копирование с определенной позиции.

Рассмотрим примеры использования dd для копирования файлов и каталогов на удаленное облачное хранилище, предоставляемое компанией "Интросерв", с помощью протокола SSH и команды rsync. Кроме того, в примере будет продемонстрировано резервное копирование и восстановление образа системы с помощью третьего диска. Важное замечание: аналогичные команды, с указанием целевого сервера, позволят вам скопировать каталоги и файлы на любой удаленный сервер через SSH. Кроме того, для обеспечения целостности данных мы будем использовать образ "восстановления" под названием Finnix.

Создание резервной копии образа системы

1.Создание резервной копии:

Подготовка:
1. Загрузите Finnix на свой компьютер с сайта https://www.finnix.org.
2. Подключите ISO-образ через IP-KVM.
3. Загрузите сервер с ISO-образа Finnix.

2.Работа с Finnix

Мы рассмотрим два метода, один из которых возможен при использовании облачного хранилища Introserv.

Для монтирования удаленного файлового хранилища (облачного хранилища) через SSH мы рекомендуем использовать такой инструмент, как SSHFS (SSH File System), который позволяет подключать удаленные каталоги на локальном компьютере с помощью протокола SSH. Вот как это сделать:

2.1. Установите SSHFS.

Поскольку она уже установлена в Finnix, мы не будем выполнять этот шаг.

sudo apt-get install sshfs

2.2. Создайте локальную директорию, в которую вы хотите смонтировать удаленную папку.

Например:

sudo mkdir -p /root/mnt/backup

Эта команда создаст необходимую структуру каталогов, включая отсутствующие родительские каталоги (флаг -p).

2.3. Смонтируйте удаленный каталог с помощью SSHFS:

sudo sshfs box17469@box17469.introserv.cloud:/backups ~/mnt/backup/

- box*****: Имя пользователя SSH на удаленном сервере.
- Box*****.introserv.cloud: IP-адрес или имя хоста удаленного сервера.
- /backups: Путь к директории на облачном хранилище.
- ~/remote_mount: Путь к локальной директории, которую мы создали выше, куда мы хотим смонтировать нашу удаленную папку из облачного хранилища.

Система запросит пароль, который вы можете найти в деталях заказа в разделе "Резервное копирование".

2.4. Проверьте нашу сетевую папку.

2.5. Чтобы создать резервную копию системы, выполните следующую команду:

dd if=/dev/sda of=/root/mnt/backup/sda.ing bs=8M conv=sync,noerror

2 способ возможен через третий диск или другое внешнее хранилище

2.1 Определите жесткий диск, на котором установлена основная система (в данном случае Ubuntu).

В данном случае это sda.

2.2 Также смонтируйте папку для внешнего диска, чтобы можно было поместить туда резервный образ.

Чтобы смонтировать созданную файловую систему в каталоге /mnt/, выполните следующие команды:

sudo mount /dev/sdX /mnt/папка # замените sdX на конкретное устройство или раздел (в данном случае у нас sdb).

Чтобы создать резервную копию жесткого диска, выполните следующую команду:

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, где каталог /mnt/backup - это точка монтирования диска, на котором будет храниться образ;
- bs=8M - установить размер кэша жесткого диска для ускорения процесса копирования (иначе данные будут выгружаться небольшими партиями по 512 байт);
- conv=sync,noerror - указать dd копировать бит за битом с игнорированием ошибок.

Восстановление резервной копии системы на другой сервер или диск

1. Подключение загрузочного образа

  • Подключите ISO-образ через IP-KVM.
  • Перезагрузите сервер в ISO-образ Finnix.

2. Работа с Finnix

Как и в случае с резервным копированием, у нас есть два пути, используя CloudStorage:

2.1. Создайте локальную директорию, в которую вы хотите смонтировать удаленную папку. Например:

sudo mkdir -p /root/mnt/backup

2.2. Смонтируйте удаленный каталог с помощью SSHFS:

sudo sshfs box17469@box17469.introserv.cloud:/backups ~/mnt/backup

Система запросит пароль, который вы можете найти в деталях заказа в разделе "Резервное копирование".

Также проверьте, смонтирована ли папка.

ls -l /root/mnt/backup/

2.3. Найдите образ с подписью sda.img на нашем подключенном сетевом диске.

Чтобы восстановить систему из резервной копии, выполните следующую команду:

dd if=/root/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

2.4. После этого перезагружаемся в BIOS.

Устанавливаем диск, на котором мы развернули систему, в качестве приоритета загрузки, перезагружаемся и пытаемся запустить систему.

Также рассмотрим развертывание образа системы с помощью третьего диска или другого хранилища:

2.1. Перезеграужаемся в Finniх.

Смонтируйте сетевое хранилище или диск с образом с помощью команды sudo mount /dev/external_network_disk_or_storage /mnt/folder_for_mounting.

Найдите образ с подписью sda.img

Чтобы восстановить систему из резервной копии, выполните следующую команду:

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,noerror

После этого перезагружаемся в BIOS и устанавливаем диск, на котором мы установили систему, в качестве приоритетного для загрузки, перезагружаемся и пытаемся запустить систему.

    How useful was this article?

    VAT

    • Other

      Other

      0%
    • austria

      Austria

      20%
    • Belgium

      Belgium

      21%
    • Bulgaria

      Bulgaria

      20%
    • Croatia

      Croatia

      25%
    • Cyprus

      Cyprus

      19%
    • Czech Republic

      Czech Republic

      21%
    • Denmark

      Denmark

      25%
    • Estonia

      Estonia

      22%
    • France

      France

      20%
    • Finland

      Finland

      24%
    • Germany

      Germany

      19%
    • Greece

      Greece

      24%
    • Hungary

      Hungary

      27%
    • Ireland

      Ireland

      23%
    • Italy

      Italy

      22%
    • Latvia

      Latvia

      21%
    • Lithuania

      Lithuania

      21%
    • Luxembourg

      Luxembourg

      17%
    • Malta

      Malta

      18%
    • Netherlands

      Netherlands

      21%
    • Poland

      Poland

      23%
    • Portugal

      Portugal

      23%
    • Romania

      Romania

      19%
    • Slovakia

      Slovakia

      20%
    • Slovenia

      Slovenia

      %
    • Spain

      Spain

      21%
    • Sweden

      Sweden

      25%
    • USA

      USA

      0%
    european
    states
    • Other
    • canada
    • poland
    • european-union
    • france
    • germany
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria
    • austria