Инкрементальный бэкап в Proxmox VE с помощью VBR

Kate

Administrator
Команда форума
«Бэкапы имеют явную квантовую сущность. До тех пор, пока ты не попытался восстановиться из бэкапа, он находится в суперпозиции. Он одновременно успешный и нет». (найдено на просторах интернета)

Дисклеймер:
Эта статья — вольный и расширенный перевод на тему гайда, опубликованного на форуме Veeam. Если действовать строго по оригинальному гайду, то даже на первом этапе установки pve-заголовков вы получите ошибку, т.к. система просто не будет знать где их брать. Неочевидных моментов там предостаточно.

Нет, я не говорю, что это идеальный способ бэкапа. Нет, он не может рекомендоваться для продакшна. Нет, я не гарантирую идеальную целостность сделанных резервных копий.

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

Часто бывает, что о необходимости бэкапа и выборе инструмента задумываются только после уже случившегося ЧП, связанного с потерей критичных данных. По мере развития технологий виртуализации приложения для резервного копирования стали ориентироваться на тесное взаимодействие с гипервизорами. Не стал исключением и продукт Veeam® Backup&Replication™, имеющий широкие возможности по резервному копированию в виртуализованных средах. Сегодня мы расскажем, как настроить его для работы с Proxmox VE.

Настройка гипервизора​


Мы будем использовать актуальную версию Proxmox на момент написания статьи — 6.2-1. Эта версия вышла 12 мая 2020 года и содержит в себе массу полезных изменений, о которых расскажем в одной из следующих статей. Пока что начнем готовить гипервизор. Основная задача — установить Veeam® Agent for Linux на резервируемый хост с Proxmox. Но перед этим совершим несколько действий.

Подготовка системы​


Поставим утилиту sudo, которая отсутствует в системе, если Proxmox устанавливался не в существующую Linux-систему, а как самостоятельная ОС из официального образа. Также нам понадобятся pve-заголовки ядра. Заходим на сервер через SSH и добавляем репозиторий, работающий без подписки на поддержку (официально он не рекомендуется для production, однако содержит необходимые нам пакеты):

echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" >> /etc/apt/sources.list

apt update

apt install sudo pve-headers

После этой процедуры обязательно перезагружаем сервер.

Установка Veeam® Agent​


Скачиваем deb-пакет Veeam® Agent for Linux с официального сайта (требуется наличие учетной записи), вооружаемся SFTP-клиентом и заливаем полученный deb-пакет на сервер. Устанавливаем пакет и обновляем список программ в репозиториях, которые этот пакет добавляет:

dpkg -i veeam-release-deb_1.x.x_amd64.deb

Обновляем репозитории еще раз:

apt update

Устанавливаем сам агент:

apt install veeam

Проверяем, что все установилось корректно:

dkms status

Ответ будет приблизительно таким:

veeamsnap, 4.0.0.1961, 5.4.41-1-pve, x86_64: installed

Настройка Veeam® Backup&Replication™​


Добавление репозитория​


Разумеется, хранить резервные копии можно и непосредственно на сервере с развернутым Veeam® Backup&Replication™, однако удобнее все-таки пользоваться внешним хранилищем.

Переходим в раздел BACKUP INFRASTRUCTURE:

n0doz9jyudpcf-hayqu6njcstng.png


Выбираем пункт Backup Repositories, нажимаем кнопку Add Repository и в появившемся окне выбираем Network attached storage:

dsleewxwyfrbxi64ibhnkgbl3hm.png


Для примера возьмем тестовое SMB-хранилище, у меня это обычный QNAP:

wn2v75pnyilvwfm2wdnez0gff3e.png


Заполняем имя и описание, затем нажимаем кнопку Next:

aeluc1vlc3rjv8yfjkkegksfqak.png


Вводим адрес SMB-хранилища и, если оно требует авторизации, нажимаем Add для добавления реквизитов доступа:

ku5g5nrjheqx_loj6dicmfylzmm.png


Заполняем имя пользователя и пароль для доступа к SMB-хранилищу, а затем нажимаем кнопку ОК и, вернувшись в предыдущее окно, — Next:

dqz5tyipy4tpabxyce7azqvwbos.png


Если все сделано без ошибок, то программа подключится к хранилищу, запросит информацию о доступном дисковом пространстве и отобразит следующее диалоговое окно. В нем задайте дополнительные параметры (при необходимости) и нажмите кнопку Next:

edgdmktah8gzp2ficmybhka_qio.png


В следующем окне можно оставить все параметры по умолчанию и также нажать Next:

ob-5xhmenemijzrsdka1lonr4a4.png


Проверяем, что необходимые компоненты установлены и находятся в статусе already exists, и нажимаем кнопку Apply:

0agvixnl2-ev6qlpi1dssnj3esy.png


На этом этапе Veeam® Backup&Replication™ еще раз подключится к хранилищу, определит нужные параметры и создаст репозиторий. Нажимаем Next:

9xsv79akohraqucyp83uh6syqo8.png


Проверяем суммарную информацию о добавляемом репозитории и нажимаем кнопку Finish:

zoe62g6kxg07rl5_qo95l7y1m9y.png


Программа автоматически предложит сохранять свои конфигурационные файлы в новом репозитории. Нам это не требуется, поэтому отвечаем No:

tpvs9-do-0wpdyqhf_fzr0sg7nk.png


Репозиторий успешно добавлен:

fpcyqy80-k4ktz59aqchgkg2-9y.png


Создание задания бэкапа​


В главном окне Veeam® Backup&Replication™ нажимаем Backup JobLinux computer. Выбираем тип Server и режим Managed by backup server:

1soiwz1snio9rt2aa8lsuz7xnou.png


Даем имя заданию и по желанию добавляем описание. Затем нажимаем Next:

hijifygvb4srir_ecso7zii2tvk.png


Далее нам нужно внести все серверы с Proxmox, которые будем бэкапить. Для этого нажимаем AddIndividual computer. Вводим хостнейм или IP-адрес сервера и реквизиты доступа. Таким образом формируем список Protected computers и нажимаем Next:

d_wpkp2p_szef1vyd5bwde6blg0.png


Теперь очень важный момент, а именно выбор данных, которые будут добавлены в резервную копию. Тут все будет зависеть от того, где именно у вас располагаются виртуальные машины. Если хотите добавить только какой-либо логический том, то нужен режим Volume level backup и выбираете путь к логическому тому или устройству, например /dev/pve. Все остальные действия идентичны.

Для этой статьи мы покажем как работает режим File level backup:

wq6b5psnc7jay48_xbrj2_ureee.png


В следующем окне формируем список директорий для бэкапа. Нажимаем Add и прописываем директории, где хранятся конфигурационные файлы виртуальных машин. По умолчанию это каталог /etc/pve/nodes/pve/qemu-server/. Если вы используете не только виртуальные машины, но и LXC-контейнеры, то добавьте директорию /etc/pve/nodes/pve/lxc/. В моем случае это еще и каталог /data.

Сформировав таким образом список директорий, нажимаем Next:

_k_dydc6dnhx4mngj4cuuisokqu.png


Из выпадающего списка репозиториев выбираем Storage, созданный ранее. Определяем длину цепочки для инкрементального бэкапа. Чем больше точек будет в Retention policy, тем больше места вы сэкономите. Но вместе с этим снизится надежность резервной копии. Мне важнее надежность, чем объем места в хранилище, поэтому я поставил 4 точки. Вы можете взять стандартное значение 7. Продолжаем настройку задания, нажав Next:

wkaev5az-3ruj4n-gjuv43oz9vo.png


Тут параметры оставляем без изменений, просто идем в следующее окно:

tt4pb-cw4quxwulze1xcjjohx_4.png


Настраиваем планировщик. Это одна из самых крутых фишек, позволяющих облегчить жизнь системного администратора. В примере я выбрал автоматический запуск бэкапа каждый день в 2 часа ночи. Еще прекрасной функцией является возможность прервать задание бэкапа, если мы выходим за временную границу отведенного «окна бэкапа». Его точное расписание формируется через кнопку Window:

e-7j7hfdz5fdru4lft7cul74fr0.png


Опять же для примера предположим, что бэкап мы выполняем только в нерабочее время по будням, а по выходным мы вообще не ограничены во времени. Формируем вот такую красивую таблицу, возвращаемся в предыдущее окно и нажимаем Apply:

7gobiidnihb8a9jsrbsdt8yp9c8.png


Остается только проверить суммарную информацию о задании и нажать кнопку Finish:

2smk6mspmnfayuhhxxi1yjezj3k.png


На этом создание задания резервного копирования закончено.

Выполнение бэкапа​


Тут все элементарно. В главном окне программы выбираем созданное задание и нажимаем Start. Система автоматически подключится к нашему серверу (или нескольким серверам), проверит доступность хранилища и зарезервирует необходимое количество дискового пространства. Затем, собственно, начнется процесс резервного копирования, и по завершении мы получим исчерпывающую информацию о процессе.
Если в процессе запуска бэкапа возникла проблема вида Failed to load module [veeamsnap] with parameters [zerosnapdata=1 debuglogging=0], то нужно пересобрать модуль veeamsnap в соответствии с инструкцией.
tsdocmchujzdj5nxvujwmrroffs.png


Что особенно интересно — на самом сервере мы можем посмотреть не только список всех выполненных заданий резервного копирования, но и в реальном времени наблюдать за процессом командой veeam:

lilptkhpxrygvey6krcgbltfvvm.png


Предрекая вопрос, почему консоль так странно выглядит, скажу сразу: мне очень нравится, как выглядит консоль на экране теплого лампового СRT-монитора. Делается это при помощи эмулятора терминала cool-retro-term.

Восстановление данных​


Теперь самый важный вопрос. А как же восстановить данные, если случилось непоправимое? К примеру, случайно удалили не ту виртуальную машину. В GUI Proxmox она вообще пропала, в хранилище на месте машины ничего не осталось.

Процесс восстановления несложный. Заходим на консоль Proxmox и вводим команду:

veeam

Мы увидим список выполненных бэкапов. Выбираем стрелками нужный и нажимаем клавишу R. Далее выберем точку восстановления и нажмем Enter:

ltduj8hywtb1zwrmauzoeplnw4c.png


Спустя пару секунд точка восстановления будет смонтирована в директорию /mnt/backup.

Останется только скопировать по своим местам виртуальные накопители и конфигурационные файлы виртуальных машин, после чего «убитая» машина появится в GUI Proxmox VE автоматически. Вы сможете запустить ее обычным образом.

Для размонтирования точки восстановления не следует это делать вручную, а нужно нажать клавишу U в утилите veeam.

На этом все.

May the Force be with you!

 
Сверху