Content
- Що таке dd?
- Створення резервної копії образу системи
- 1. створення резервної копії:
- 2 Робота з Finnix
- 2.1. Встановіть SSHFS.
- 2.2. Створіть локальний каталог, куди ви хочете змонтувати віддалену теку.
- 2.3. Змонтуйте віддалений каталог за допомогою SSHFS:
- 2.4. Перевірте нашу мережеву папку.
- 2.5. Щоб створити резервну копію системи, скористайтеся наступною командою:
- 2 спосіб можливий через третій диск або інше зовнішнє сховище
- 2.1 Визначте жорсткий диск, на якому встановлена основна система (в даному випадку Ubuntu)
- 2.2 Також змонтуйте папку для зовнішнього накопичувача, щоб ви могли помістити туди образ резервної копії.
- Відновлення резервної копії системи на інший сервер або диск
- 1. Підключення образу відновлення
- 2. Робота з Finnix
- 2.1. Створіть локальний каталог, куди ви хочете змонтувати віддалену папку. Наприклад
- 2.2. Змонтуйте віддалений каталог за допомогою SSHFS:
- 2.3. Знайдіть на підключеному мережевому диску образ з назвою sda.img.
- 2.4. Після цього перезавантажуємося в BIOS
- Також розглянемо розгортання образу системи з використанням третього диска або іншого сховища:
- 2.1. Переходимо на фінську мову.
Резервне копіювання та відновлення образів за допомогою dd
Що таке dd?
Команда dd - це утиліта для копіювання та перетворення файлів, яка зазвичай використовується у більшості Unix-подібних операційних систем. Її можна використовувати для таких завдань, як створення резервних копій даних, клонування дисків, створення образів розділів тощо. Однак, слід бути обережним при використанні dd, оскільки неправильне використання може призвести до втрати даних.
Нижче наведено базовий синтаксис команди dd:
dd if=вхідний_файл of=вихідний_файл [параметри]
Де
- if (вхідний файл) вказує вхідний файл або джерело даних.
- of (вихідний файл) вказує вихідний файл або місце призначення даних.
Нижче наведено деякі загальні опції та параметри dd:
1. bs (розмір блоку): Визначає розмір блоку даних. Наприклад, bs=4K встановлює розмір блоку в 4 кілобайта.
2. count: Визначає кількість блоків для копіювання. Наприклад, count=100 копіює 100 блоків даних.
3. iflag та oflag: Опції для керування прапорами вводу та виводу. Наприклад, iflag=direct можна використовувати для прямого читання даних, оминаючи кеш операційної системи.
4. шукати і пропускати: Опції для переміщення вказівника вхідного або вихідного файлу, щоб почати або завершити копіювання з певної позиції.
5. статус: Параметр для відображення інформації про хід виконання операції копіювання.
6. conv (перетворення): Дозволяє виконувати різні перетворення даних, наприклад, змінювати регістр (conv=ucase або conv=lcase), видаляти символи (conv=sync) тощо.
7. iflag та oflag: Ці опції дозволяють налаштувати прапори для вхідних (iflag) і вихідних (oflag) даних. Наприклад, прапорець direct можна використовувати для прямого читання або запису даних без буферизації.
8. статус: Цей параметр дозволяє відображати інформацію про хід виконання операції копіювання.
9. шукати і пропустити: Дозволяють перемістити вказівник вхідного або вихідного файлу, щоб почати копіювання з певної позиції.
Розглянемо приклади використання dd для копіювання файлів і каталогів у віддалене хмарне сховище, що надається Introserv за допомогою протоколу 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. Переходимо на фінську мову.
Змонтуємо мережеве сховище або диск з образом за допомогою команди 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 і ставимо пріоритетом завантаження диск, на який ми розгорнули систему, перезавантажуємося і намагаємося запустити систему.