Content

  1. Що таке dd?
  2. Створення резервної копії образу системи
  3. 1. Створення резервної копії:
  4. 2. Робота з Finnix
    1. 2.1 Встановіть SSHFS
    2. 2.2 Створіть локальний каталог, до якого потрібно змонтувати віддалену папку.
    3. 2.3 Монтуємо віддалений каталог через SSHFS:
    4. 2.4. Перевіряємо нашу мережеву папку
    5. 2.5. Щоб зробити запасну копію вашої системи, використовуйте наступну команду:
    6. 2 спосіб через третій диск або інше зовнішнє сховище
    7. 2.1 Визначаємо жорсткий диск, де у нас встановлена ​​основна система (в даному випадку Ubuntu)
    8. 2.2 Також змонтуйте папку для зовнішнього накопичувача для того, щоб туди помістити образ системи, що резервується.
  5. Відновлення резервної копії системи на іншому сервері чи диску
    1. 1. Підключення rescue образу
    2. 2. Робота з Finnix
    3. 2.1. Створіть локальний каталог, до якого потрібно змонтувати віддалену папку. Наприклад:
    4. 2.2 Примонтуйте віддалений каталог через SSHFS:
    5. 2.3 Знаходимо образ, який підписаний sda.img на нашому підключеному мережевому диску.
    6. 2.4 Після цього перезавантажуємось у BIOS.
    7. Також розглянемо розгортання образу системи з допомогою 3 диска чи іншого сховища:
    8. 2.1 Перезавантажуємось у Finnix.

Бекап та відновлення образу за допомогою dd

Що таке dd?

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

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

dd if=input_file of=output_file [options]

Де:
• if (input file) - вказує вхідний файл або джерело даних.
• of (output file) - вказує вихідний файл або призначення для даних.

Нижче наведено деякі поширені опції та параметри dd:

1. bs (block size): Визначає розмір блоку даних. Наприклад, bs=4K означає розмір блоку в 4 кілобайти.
2. count: Вказує кількість блоків, які потрібно скопіювати. Наприклад, count=100 скопіює 100 блоків даних.
3. iflag і oflag: Опції для керування прапорами введення та виведення. Наприклад, iflag=direct може використовуватися для читання даних безпосередньо, обминаючи кеш операційної системи.
4. seek і skip: Опції для переміщення покажчика вхідного або вихідного файлу, щоб розпочати або завершити копіювання з певної позиції.
5. status: Опція для виведення інформації про прогрес операції копіювання.
6. conv (conversion): Дозволяє виконувати різні перетворення даних, такі як перетворення регістру (conv=ucase або conv=lcase), видалення символів (conv=sync), і інші.
7. iflag і oflag: Ці опції дозволяють налаштовувати прапори для введення (iflag) і виведення (oflag) даних. Наприклад, direct можна використовувати для читання або запису даних безпосередньо без буферізації.
8. status: Ця опція дозволяє виводити інформацію про прогрес операції копіювання.
9. seek і skip: Дозволяють переміщувати покажчик вхідного або вихідного файлу, щоб розпочати копіювання з певної позиції.

Розглянемо приклади використання команди dd для копіювання файлів і каталогів на віддалене сховище Cloud Storage від компанії Introserv за допомогою протоколу SSH і команди rsync. Також у прикладі буде показано резервне копіювання та розгортання образу системи за допомогою третього диска. Важливо! Аналогічні команди, але з вказівкою цільового сервера, дозволять копіювати каталоги та файли на будь-який віддалений сервер за допомогою протоколу SSH. Також у цілях збереження даних вашого образу системи ми будемо використовувати «відновлювальний» образ Finnix.

Створення резервної копії образу системи

1. Створення резервної копії:

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

2. Робота з Finnix

1 способ з допомогою Cloud Storage від компанії Introserv.

Щоб примонтувати віддалене файлове сховище Cloud Storage через 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: Шлях до каталогу на cloudstorage.
• ~/remote_mount: Шлях до локального каталогу, який ми створили вище, куди ми хочемо примонтувати нашу віддалену папку з cloudstorage.

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

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. Підключення rescue образу

  • Підключіть образ ISO через IP-KVM.
  • Перезавантажте сервер у ISO образ Finnix.

2. Робота з Finnix

Так само як і з бекапом, у нас є 2 способи, за допомогою CloudStorage:

2.1. Створіть локальний каталог, до якого потрібно змонтувати віддалену папку. Наприклад:

sudo mkdir -p /root/mnt/backup

2.2 Примонтуйте віддалений каталог через SSHFS:

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

Система запросить пароль, який ви можете знайти в деталях замовлення в розділі 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.

Вказуємо в пріоритет диск, куди ми розгорнули систему, перезавантажуємося і намагаємося запустити систему.

Також розглянемо розгортання образу системи з допомогою 3 диска чи іншого сховища:

2.1 Перезавантажуємось у Finnix.

Підмонтуємо мережеве сховище або диск за допомогою команди sudo mount /dev/зовнішній_мережевий диск_або_накопичувач /mnt/папка_для_монтування.

Знаходимо образ підписаний sda.img

Для відновлення системи з резервної копії використовуйте таку команду:

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

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