Як зробити резервну копію та відновити сервер за допомогою образів диска dd | INTROSERV
EUR
european

EUR

usa

USD

Ukraine Ua
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