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. 2.1. Перезеграужаемся в Finniх. 

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

Что такое dd

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

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

dd if=входной_файл of=выходной_файл [опции]

Где:
• 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. Так же в примере будет показано бекап и разворачивание образа системы с помощью 3-го диска. Важно! Аналогичные команды, только с указанием целевого сервера позволят копировать каталоги и файлы на любой удаленный сервер по протоколу SSH. Так же в целях сохранности данных вашего образа системы мы будем использовать «восстановительный» образ Finnix.

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

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

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

2. Работа с Finnix

1 способ с помощью Cloud Storage от компании Introserv.

Для монтирования удаленного файлового хранилища cloudstorage через 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.

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

Cистема запросит пароль, который вы можете найти в деталях заказа в разделе 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. Перезеграужаемся в Finniх. 

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

Находим образ который подписан sda.img

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

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

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