Платформа виртуализации предприятия с открытым исходным кодом, Proxmox берет свое начало в начале 21-го века и за эти годы претерпела обширное развитие. Proxmox предлагает выбор вариантов, используемых для резервного копирования виртуальных машин с помощью модуля Proxmox и, в частности, Bacula Enterprise Edition.
Если модуль Proxmox размещен на гипервизоре Proxmox, его можно использовать для обеспечения полного резервного копирования и восстановления виртуальных машин, включая гостевые системы QEMU и LXC. Далее мы рассмотрим различные функции, процедуры и факторы, которые необходимо учитывать при использовании модуля Proxmox и Bacula Enterprise Edition для процедур резервного копирования и восстановления.
Прежде чем мы продолжим, вот список основных функций модуля Proxmox:
- Можно создать резервную копию любой гостевой виртуальной машины, включая гостевые системы QEMU и LXC.
- Резервное копирование на уровне образа может быть выполнено полностью с помощью модуля Proxmox.
- Модуль Proxmox можно использовать для восстановления всего образа виртуальной машины.
- Может использоваться для восстановления архива QEMU VM (.vma) в альтернативное место
- Архив LXC (.tar) и всю конфигурацию можно восстановить в альтернативный каталог.
- Кластер Proxmox для каждой виртуальной машины можно сканировать модулем, создавая версию Bacula Enterprise для каждой виртуальной машины.
На этом этапе может быть полезно краткое изложение некоторых из использованных выше терминов:
- QEMU - это гипервизор, который используется для виртуализации оборудования и имеет открытый исходный код.
- LXC позволяет запускать несколько систем Linux с использованием одного ядра Linux. Он обеспечивает виртуализацию на уровне ОС для использования модуля Proxmox.
- Proxmox - это корпоративная платформа визуализации виртуальных машин с открытым исходным кодом.
- VMID идентифицирует гостевую виртуальную машину с помощью модуля Proxmox.
- VMA - это архив виртуальных машин. VMA может использоваться для хранения гостевых виртуальных машин QEMU через модуль Bacula Proxmox через гипервизор Proxmox.
Почему для Proxmox требуется резервное копирование
Резервное копирование виртуальных машин имеет важное значение. Подобно тому, как ИТ-отделы выполняют регулярное резервное копирование физических машин, то же самое необходимо делать и для виртуальных машин. Было время, когда этого нельзя было сделать с Linux. Модуль Proxmox решил эту проблему и теперь является основным модулем для резервного копирования виртуальных машин.
Предпочтительным методом является использование Bacula Enterprise File Daemon. Это предназначено для работы с каждой отдельной виртуальной машиной, а не со всеми сразу, и позволяет использовать следующие функции в модуле Bacula Enterprise Proxmox:
- Быстрое восстановление отдельных файлов.
- Контрольная сумма отдельных файлов для обнаружения вирусов и шпионского ПО.
- Проверить вакансии.
- Исключение файлов или каталогов (например, файлов подкачки или временных файлов).
- Сжатие на уровне файлов.
- Точное резервное копирование.
Все вышеперечисленное доступно при использовании метода резервного копирования Bacula Enterprise File Daemon.
Альтернативный метод резервного копирования - использовать резервную копию на уровне образа. Это не требует, чтобы File Daemon был вставлен в каждую виртуальную машину, и это предпочитается некоторыми пользователями. Вот краткий обзор того, как выполнить резервное копирование одной гостевой виртуальной машины.
Как сделать резервную копию Proxmox
Для выполнения Proxmox Резервное копирование для одной гостевой ВМ необходимо выполнить следующие шаги:
- Для гостевых виртуальных машин LXC необходимо сохранить конфигурацию.
- Затем пользователь должен остановить виртуальную машину и создать новый моментальный снимок резервной копии по запросу.
- Выполните vzdump, чтобы сохранить данные.
Хотя мы упоминали об остановке виртуальной машины, резервное копирование может выполняться во время ее работы. Обратите внимание, что модуль Proxmox работает автоматически при создании моментального снимка резервной копии, который будет удален после завершения резервного копирования, и не повлияет на другие виртуальные машины, а только на ту, для которой выполняется резервное копирование. Пользователь будет получать информацию о ходе работы с помощью таких сообщений, как:
JobId 68: Start Backup JobId 68, Job = proxmox.2018-01-25_11.25.05_21
JobId 68: Использование устройства «FileChgr1-Dev2» для записи.
JobId 68: Ранее записанный том «Vol-0002» перемещается в конец данных.
JobId 68: proxmox: Начать резервное копирование vm: ubuntu-контейнер (101)
JobId 68: proxmox: Резервное копирование vm: ubuntu-container (101) ОК
Любая гостевая виртуальная машина QEMU будет скопирована в файл .vma, а гостевая виртуальная машина LXC создаст файлы .conf и .tar. Если резервное копирование нескольких гостевых виртуальных машин выполняется одновременно, файлы будут созданы для каждой. Пользователи могут найти соответствующие файлы, указанные ниже:
/@proxmox/qm//VM.vma - для гостевых ВМ QEMU
/@proxmox/lxc//VM.conf и /@proxmox/lxc//VM.tar - для гостевых виртуальных машин LXC
Как восстановить Proxmox
Модуль Proxmox предлагает два различных варианта восстановления: восстановление в гипервизор Proxmox и восстановление в локальный каталог.
Восстановить в Proxmox
С помощью этого метода гостевой vmid может быть восстановлен до исходного, если он еще не выделен с помощью параметра restore where =, в противном случае он будет сохранен как новая гостевая виртуальная машина через гипервизор Proxmox. Модуль Bacula Proxmox присвоит каждой новой гостевой виртуальной машине значение +1 и +11, чтобы уменьшить вероятность конфликта, когда две гостевые виртуальные машины создаются одновременно. Сам Proxmox не может справиться с этой ситуацией, поэтому модуль Bacula Proxmox управляет этим процессом смягчения. Обычно новой виртуальной машине назначается следующий доступный виртуальный идентификатор, что сводит выделение к минимуму.
Оператор должен видеть следующий прогресс:
JobId 76: Начать восстановление задания RestoreFiles.2018-01-25_13.50.31_29
JobId 76: Использование устройства «FileChgr1-Dev1» для чтения.
JobId 76: готов к чтению из тома «Vol-0004» на файловом устройстве «FileChgr1-Dev1» (/ opt / bacula / archive).
JobId 76: proxmox: восстановление виртуальной машины: lxc / ubuntu-container / VM101 как VM222
JobId 76: конец тома «Vol-0004» по адресу addr = 47137166325 на устройстве «FileChgr1-Dev1» (/ opt / bacula / archive).
Восстановить в локальный каталог
Для восстановления в локальный каталог пользователю необходимо указать данные, чтобы задать местоположение. Таким образом, параметр должен читать, например, restore where = / tmp / bacula / restores. Журнал прогресса будет выглядеть так:
JobId 90: Начать восстановление задания RestoreFiles.2018-01-30_15.04.12_05
JobId 90: Использование устройства «FileChgr1-Dev1» для чтения.
JobId 90: Прямой интервал Тома «Vol-0001» до адреса = 45406565308
JobId 90: proxmox: локальное восстановление виртуальной машины: qm / ubuntu-server / VM108
Вышеупомянутое указывает на то, что гостевая виртуальная машина была восстановлена в локальный каталог, и указывает, где ее можно найти.
Полную информацию о процедурах резервного копирования и восстановления, а также дополнительную информацию о модуле Bacula Proxmox можно найти на сайте www.baculasystems.com.