EUR
european

EUR

usa

USD

Russian Ru
Ex. VAT Ex. VAT 0%

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

dd создаёт посекторный образ всего диска. Этот образ можно использовать, чтобы восстановить диск в состояние на момент создания бэкапа. В этом руководстве описано, как создать образ диска с помощью dd и как восстановиться из него. Поскольку dd работает на уровне диска, запускайте его из live-окружения (Finnix), а не из работающей системы, которую копируете.

Используйте dd, когда нужна поблочная копия всего диска. Для файлового бэкапа (отдельные файлы и папки) обычно лучше подходят rsync или tar.

Перед началом

  • ISO-образ Finnix
  • доступ к IP-KVM сервера (IP-based KVM)
  • хранилище с достаточным свободным местом для образа (см. примечание в сценариях бэкапа)
  • данные SSH, если бэкап делается на удалённое хранилище
  • доступ root

1. Коротко о dd

dd копирует данные блок за блоком. Значимые части команды:

  • if= источник (откуда читаем)
  • of= цель (куда пишем)
  • bs=8M задаёт размер блока и может ускорить копирование
  • status=progress показывает, сколько уже скопировано, удобно на больших дисках

По умолчанию команды ниже копируют исправный диск. Если на исходном диске есть ошибки чтения, добавьте conv=noerror,sync: dd тогда продолжит работу при ошибке чтения, а не остановится, и заполнит нечитаемые блоки нулями. Это сохраняет выравнивание последующих блоков, но в заполненных областях данные теряются, поэтому файловая система в образе может оказаться повреждённой. Для сбойного диска рассмотрите ddrescue, который предназначен для восстановления данных с проблемных дисков и ведёт карту ошибок чтения.

Warning

dd перезаписывает цель полностью и без запроса подтверждения. Неверный of= уничтожит данные. Всегда проверяйте имена устройств перед запуском.

2. Подготовка

Загрузитесь с Finnix. Смонтируйте ISO-образ Finnix через IP-KVM и загрузите сервер с него. Это позволяет работать с дисками сервера, не запуская установленную ОС с того диска, который копируете. Не снимайте образ с работающей системы: если на исходном диске есть смонтированные файловые системы, которые изменяются, образ может быть несогласованным. Убедитесь, что исходный диск не используется работающим окружением.

Определите диски. Выведите список дисков с размерами и точками монтирования:

lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS

Как альтернатива:

fdisk -l

Найдите системный диск (например /dev/sda) и запомните имя устройства. Это самый важный шаг: dd не запрашивает подтверждение, поэтому ошибка здесь сотрёт не тот диск. В командах ниже /dev/sda это только пример. Замените его на реальный диск, который вы определили через lsblk. Перед снятием образа убедитесь, что у исходного диска в выводе lsblk нет точек монтирования.

3. Сценарий А: Резервное копирование в облако через SSHFS (CloudBox)

Используйте этот способ, чтобы сохранить образ на INTROSERV CloudBox или любом SSH-хранилище. Данные SSH (user, host, путь) возьмите из деталей заказа.

Создайте точку монтирования:

mkdir -p /mnt/backup

Смонтируйте облачное хранилище:

sshfs user@host:/path /mnt/backup

Создайте образ диска:

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress

По завершении dd покажет, сколько данных скопировано. Образ sda.img теперь находится в вашем облачном хранилище.

Info

Большое копирование через SSHFS может идти медленно. Если SSH-соединение оборвётся, копирование может прерваться, а образ окажется неполным.

Info

Размер образа примерно равен объёму всего исходного диска, а не объёму занятых данных. Диск на 2 ТБ со 100 ГБ данных всё равно даст образ около 2 ТБ. Убедитесь, что в хранилище достаточно свободного места.

Необязательно: чтобы сэкономить место и уменьшить объём передачи по сети, сжимайте образ прямо при создании:

dd if=/dev/sda bs=8M status=progress | gzip -c > /mnt/backup/sda.img.gz

Восстановление из сжатого образа выполняется так:

gunzip -c /mnt/backup/sda.img.gz | dd of=/dev/sda bs=8M status=progress

Размер сжатого файла зависит от того, насколько хорошо сжимаются данные диска. Проверка контрольной суммы ниже применима к несжатому .img.

4. Сценарий Б: Резервное копирование на другой физический диск в том же сервере

Используйте этот вариант, если в сервере есть второй диск (например /dev/sdb) достаточного объёма для образа. На целевом диске должно быть достаточно места для образа всего исходного диска, и это не должен быть сам исходный диск.

Создайте точку монтирования и смонтируйте второй диск:

mkdir -p /mnt/backup mount /dev/sdb1 /mnt/backup

Создайте образ диска:

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress

5. Проверка образа (необязательно)

Чтобы проверить образ, вычислите контрольную сумму SHA-256 исходного диска и образа и сравните их. Исходный диск не должен меняться между созданием образа и подсчётом суммы. Это снова читает весь диск целиком, поэтому на больших дисках занимает время:

sha256sum /dev/sda sha256sum /mnt/backup/sda.img

Оба значения должны совпасть.

6. Восстановление

Восстановление — это бэкап в обратном порядке: образ становится источником (if=), а диск — целью (of=). Снова загрузитесь с Finnix и смонтируйте хранилище с образом так же, как при создании бэкапа.

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

Из облачного хранилища:

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M status=progress

С второго диска: сначала смонтируйте его, затем выполните ту же команду. Здесь /dev/sda тоже только пример. Замените его на реальный целевой диск.

Warning

Восстановление перезаписывает весь целевой диск. Убедитесь, что of= указывает на тот диск, на который восстанавливаете. По завершении dd перезагрузите сервер и загрузитесь с восстановленного диска.

Если целевой диск больше исходного, лишнее место останется незанятым. При необходимости раздел и файловую систему можно расширить позже; конкретные команды зависят от разметки диска и файловой системы. При восстановлении на другое оборудование может потребоваться дополнительная настройка загрузки. Если исходный диск использует LVM, LUKS, RAID или другой слой хранения, после восстановления может потребоваться дополнительная настройка, особенно на другом оборудовании.

VAT

  • Other

    Ex. VAT

    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

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA