Pull to refresh

Backup and Restore — виртуальные машины в облаках/хостингах

Level of difficultyMedium
Reading time6 min
Views7.3K

Написать это руководство к действию меня сподвигла недавняя заметка на Хабре. Виртуализацию изучаю и активно использую с 2010 года, в этом же году я познакомился с ранней версией (помоему 3.x — FastSCP) решения от компании Veeam Software. Примерно с 2019–2020 года появились полноценные бесплатные Community Edition версии решений (Veeam Agent и Veeam Backup and Replication), которые способны работать неограниченное количество времени.

Постановка задачи — есть виртуальная машина(ы) в облаке — мы хотим решить две задачи:

  • резервировать ее по расписанию на наш сервер(а), находящиеся под нашим полным контролем

  • иметь возможность в любой момент сконвертировать нужную версию из резервной копии в виртуальную машину (в любом формате) и запустить ее на нашем оборудовании (т. е. приземлить виртуальную машину из облака на грешную...).

И так, поехали!

Что нам понадобится для решения поставленных задач

Список использованных программ, решений и сайтов:

  • Виртуальная машина в облаке. Для примера я использовал VDSina.ru[ссылка удалена модератором] и ВМ с Debian 12 x64

  • Veeam Agent для Linux: https://www.veeam.com/linux-backup-download.html

  • Veeam Backup and Replication: https://download2.veeam.com/VBR/v12/VeeamBackup&Replication_12.1.0.2131_20231205.iso. Для его установки нам, в нашей локальной инфраструктуре, понадобится Windows Server, начиная с версии 2012R2 и выше (4 ядра, 4 Гб ОЗУ, диск от 60 Гб).

  • OpenVPN как туннель между Linux и Windows (с установленным VBR 12.1). Можете использовать что‑то другое (аля WireGuard/PPTP/L2TP/etc — на вкус и цвет как говориться)

  • Сетевую папку для сброса резервной копии ВМ‑ки

  • Гипервизор для проверки (я использовал Hyper‑V). Также подойдет VMware Workstation/vSphere (ESXi). Если у Вас что‑то на базе KVM — можно скачать бесплатный конвертер дисков: https://www.starwindsoftware.com/starwind-v2v-converter. Также есть qemu-img convert и гугл - ищущий да найдет )

Дальше будет много...много...очень много скриншотов!

Подготовка виртуальной машины на VDSina.ru

Регистрируем аккаунт, кидаем 100 рублей. Создаем ВМ‑ку с Debian 12:

Самая дешевая ВМ, за создание которой с нас сразу спишут 15 рублей (за первые 24 часа использования), находится в разделе «Стандартные серверы».

Создаем, ждем секунд 30.

В раздел поддержка сразу падает письмо с реквизитами доступа:

Подключаемся к ВМ по SSH, осматриваемся.

Все, ВМ‑ка в облаке готова.

Установка Veeam Agent на Debian Linux в облаке

Закидываем и устанавливаем через dpkg ‑i пакет с описанием репозитория для Debian (мы его уже к этому моменту должны были скачать с первой ссылки в начале статьи. Если не скачали — вот прямая ссылка на загрузку DEB‑пакета).

Далее классика: apt update и смотрим, что появилось: apt search veeam

Начинаем устанавливать: apt install veeam

Пакетов много, так как собирается модуль ядра, который будет делать снимки файловой системы. У Veeam собственная разработка, которая очень хорошо работает и поддерживает просто кучу различных файловых систем и вариантов. Все подробности есть в Release Notes.

В конце установки происходит сборка данного модуля ядра (veeamsnap).

Все, можно проверять через диспетчер процессов, что изменилось в системе:

Теперь нам доступна команда veeam в консоли Linux.

Первый запуск Veeam Agent для Linux

При выполнении команды veeam нам зададут ряд простых вопросов (EULA, есть ли лицензия и нужен ли нам Recovery ISO (в этом кейсе не нужен)).

Только на первом окне нужно проставить галки (лицензии), далее ничего выбирать не нужно - ничего не ставим, доходим до Finish. После нам будет доступно псевдо-графическое меню программы.

На данном этапе ничего не делаем, жмем Esc и выходим в консоль Linux. Агент готов к работе, осталось обеспечить транспорт и шару, куда мы будем складывать бекап(ы).

Установка и настройка OpenVPN-сервера на Debian Linux

Так как у нас на созданной ВМ-ке есть белый публичный IP - грех этим не воспользоваться!

Устанавливаем openvpn (apt install openvpn). Переходим в каталог /etc/openvpn/ и командой openvpn --genkey secret veeam.key генерируем секретный ключ для связи.

Далее создаем файл debian-cloud.conf следующего содержания:

Сохраняем. Теперь создаем Unit файл и запускаем службу:

systemctl enable openvpn@debian-cloud
systemctl start openvpn@debian-cloud
systemctl status openvpn@debian-cloud

Осталось проверить, все ли ОК?

Установка и настройка OpenVPN клиента на Windows Server

Клиентом OpenVPN у меня будет сервер с операционной системой Windows Server (от 2012R2 и выше). Это может быть физический сервер, виртуальный — разницы особо нет. Скачиваем и устанавливаем OpenVPN под Windows (по ряду причин предпочитаю старую версию из ветки 2.4.x, но статья не об этом.

Копируем veeam.key и настраиваем конфиг (vpn-client.ovpn) - в каталоге C:\Program Files\OpenVPN\config\

Запускаем OpenVPN GUI с правами Администратора и подключаемся:

Теперь осталось с помощью ping проверить, все ли видят всех.

Все, туннель для бекапа построен. Осталось подготовить шару и юзера для бекапа.

Настройка Backup Job в Veeam Agent для Linux

Возвращаемся в Linux, снова запускаем команду veeam и с помощью кнопки c запускаем мастер создания задания резервного копирования.

Бекапить мы будем ВСЮ виртуальную машину целиком

Сохранять бекап мы будем по сети (через OpenVPN туннель) в созданной сетевой папке у нас

Естественно нужно указать правильно реквизиты

Далее будет ошибка — мы забыли (да и не предполагали) поставить утилиты cifs‑utils

Ничего отменять не нужно - просто откройте вторую SSH-сессию и сразу поставьте

Далее все пойдет как нужно

Нужно ли запускать по расписанию или нет, решать Вам. Я этот пункт отключил (так как ВМ‑ке оставалось жить еще минут 20).

А вот на последнем этапе (summary) я, наоборот, поставил галку — запустить задание сразу после его создания:

Вуаля — Job создан и запускается.

Смотреть прогресс можно выбрав раздел Show

В целом довольно быстро.

Все, 90 секунд и готово - бекап создан и улетел к нам в сетевую папку.

Установка Veeam Backup and Replication Community Edition

Это тоже весьма простой процесс, да и описан в сети уже много раз (плюс есть много роликов в Youtube). Ставится в несколько кликов (далее, далее) — т. е. очень просто. Поэтому скринов не делал, просто воспользуюсь уже установленным продуктом. Прямая ссылка на загрузку бесплатной версии тут.

Запускаем консоль VBR. В разделе Home -> Backups импортируем бекап, только что созданный независимым Veeam Agent-ом с Debian

Указать нужно путь до файла с расширением .VBM (Veeam Backup MetaDATA).

ОК, ждем. Все должно быть быстро.

6 секунд (обычный отдельный SATA-диск на 4 Тб). Неплохо.

Экспорт бекапа

Теперь находим только что импортированный бекап и экспортируем его. В моем случае я решил экспортировать его в самостоятельный виртуальный диск.

Запускаемся мастер, который спросит нас о ряде моментов:

Первой — выбор точки восстановления. У нас она одна, НО, если Вы делаете бекапы регулярно и по расписанию — в.VBM файле будут описаны цепочки бекапов (Full/Increment) и можно будет выбрать нужную точку восстановления.

Следующий пункт - какие жесткие диски экспортируем в файл виртуальной машины (у нас всего один - vda)

Следующий пункт — в каком формате. Поддерживаются Thin/Thick, VMware/Hyper‑V. Если у нас другая среда виртуализации — то без разницы, что выбирать, все равно потом придется еще раз сконвертировать жесткий диск в другой формат (в общем случае).

Я выбрал VHDX от Hyper‑V в режиме Dymanic (тонкий жесткий диск) по понятным причинам — у меня в эксперименте уже есть Hyper‑V и VBR установлен именно на нем (немного облегчил себе задачу).

Далее ничего существенного, далее, далее, поехали.

Все готово. Идем в каталог, смотрим, что получили на выходе.

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

Осталось создать новую виртуальную машину (конфиг) и подсунуть полученный виртуальный жесткий диск.

Все, запускаем.

Итоги

Вот и все. Первый раз выполнение такого эксперимента займет пару часов наверное. При сноровке можно уложиться за полчаса (конечно зависит от скорости канала, объема конвертируемых данных внутри ВМ и т. д.).

Всем спасибо за внимание и огромное спасибо компании Veeam Software — выпуск Community Edition в 2019-м году — это большой и важный шаг! Я не знаю других коммерческих продуктов, которые бы позволяли маленьким компаниям и частным лицам бесплатно использовать свои продукты (причем такого высокого качества!). Респект Вам!!!

Tags:
Hubs:
Total votes 7: ↑6 and ↓1+5
Comments27

Articles