«Бэкапы имеют явную квантовую сущность. До тех пор, пока ты не попытался восстановиться из бэкапа, он находится в суперпозиции. Он одновременно успешный и нет». (найдено на просторах интернета)
Дисклеймер:
Часто бывает, что о необходимости бэкапа и выборе инструмента задумываются только после уже случившегося ЧП, связанного с потерей критичных данных. По мере развития технологий виртуализации приложения для резервного копирования стали ориентироваться на тесное взаимодействие с гипервизорами. Не стал исключением и продукт 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
После этой процедуры обязательно перезагружаем сервер.
Скачиваем 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™, однако удобнее все-таки пользоваться внешним хранилищем.
Переходим в раздел BACKUP INFRASTRUCTURE:
Выбираем пункт Backup Repositories, нажимаем кнопку Add Repository и в появившемся окне выбираем Network attached storage:
Для примера возьмем тестовое SMB-хранилище, у меня это обычный QNAP:
Заполняем имя и описание, затем нажимаем кнопку Next:
Вводим адрес SMB-хранилища и, если оно требует авторизации, нажимаем Add для добавления реквизитов доступа:
Заполняем имя пользователя и пароль для доступа к SMB-хранилищу, а затем нажимаем кнопку ОК и, вернувшись в предыдущее окно, — Next:
Если все сделано без ошибок, то программа подключится к хранилищу, запросит информацию о доступном дисковом пространстве и отобразит следующее диалоговое окно. В нем задайте дополнительные параметры (при необходимости) и нажмите кнопку Next:
В следующем окне можно оставить все параметры по умолчанию и также нажать Next:
Проверяем, что необходимые компоненты установлены и находятся в статусе already exists, и нажимаем кнопку Apply:
На этом этапе Veeam® Backup&Replication™ еще раз подключится к хранилищу, определит нужные параметры и создаст репозиторий. Нажимаем Next:
Проверяем суммарную информацию о добавляемом репозитории и нажимаем кнопку Finish:
Программа автоматически предложит сохранять свои конфигурационные файлы в новом репозитории. Нам это не требуется, поэтому отвечаем No:
Репозиторий успешно добавлен:
В главном окне Veeam® Backup&Replication™ нажимаем Backup Job — Linux computer. Выбираем тип Server и режим Managed by backup server:
Даем имя заданию и по желанию добавляем описание. Затем нажимаем Next:
Далее нам нужно внести все серверы с Proxmox, которые будем бэкапить. Для этого нажимаем Add — Individual computer. Вводим хостнейм или IP-адрес сервера и реквизиты доступа. Таким образом формируем список Protected computers и нажимаем Next:
Теперь очень важный момент, а именно выбор данных, которые будут добавлены в резервную копию. Тут все будет зависеть от того, где именно у вас располагаются виртуальные машины. Если хотите добавить только какой-либо логический том, то нужен режим Volume level backup и выбираете путь к логическому тому или устройству, например /dev/pve. Все остальные действия идентичны.
Для этой статьи мы покажем как работает режим File level backup:
В следующем окне формируем список директорий для бэкапа. Нажимаем Add и прописываем директории, где хранятся конфигурационные файлы виртуальных машин. По умолчанию это каталог /etc/pve/nodes/pve/qemu-server/. Если вы используете не только виртуальные машины, но и LXC-контейнеры, то добавьте директорию /etc/pve/nodes/pve/lxc/. В моем случае это еще и каталог /data.
Сформировав таким образом список директорий, нажимаем Next:
Из выпадающего списка репозиториев выбираем Storage, созданный ранее. Определяем длину цепочки для инкрементального бэкапа. Чем больше точек будет в Retention policy, тем больше места вы сэкономите. Но вместе с этим снизится надежность резервной копии. Мне важнее надежность, чем объем места в хранилище, поэтому я поставил 4 точки. Вы можете взять стандартное значение 7. Продолжаем настройку задания, нажав Next:
Тут параметры оставляем без изменений, просто идем в следующее окно:
Настраиваем планировщик. Это одна из самых крутых фишек, позволяющих облегчить жизнь системного администратора. В примере я выбрал автоматический запуск бэкапа каждый день в 2 часа ночи. Еще прекрасной функцией является возможность прервать задание бэкапа, если мы выходим за временную границу отведенного «окна бэкапа». Его точное расписание формируется через кнопку Window:
Опять же для примера предположим, что бэкап мы выполняем только в нерабочее время по будням, а по выходным мы вообще не ограничены во времени. Формируем вот такую красивую таблицу, возвращаемся в предыдущее окно и нажимаем Apply:
Остается только проверить суммарную информацию о задании и нажать кнопку Finish:
На этом создание задания резервного копирования закончено.
Тут все элементарно. В главном окне программы выбираем созданное задание и нажимаем Start. Система автоматически подключится к нашему серверу (или нескольким серверам), проверит доступность хранилища и зарезервирует необходимое количество дискового пространства. Затем, собственно, начнется процесс резервного копирования, и по завершении мы получим исчерпывающую информацию о процессе.
Что особенно интересно — на самом сервере мы можем посмотреть не только список всех выполненных заданий резервного копирования, но и в реальном времени наблюдать за процессом командой veeam:
Предрекая вопрос, почему консоль так странно выглядит, скажу сразу: мне очень нравится, как выглядит консоль на экране теплого лампового СRT-монитора. Делается это при помощи эмулятора терминала cool-retro-term.
Теперь самый важный вопрос. А как же восстановить данные, если случилось непоправимое? К примеру, случайно удалили не ту виртуальную машину. В GUI Proxmox она вообще пропала, в хранилище на месте машины ничего не осталось.
Процесс восстановления несложный. Заходим на консоль Proxmox и вводим команду:
veeam
Мы увидим список выполненных бэкапов. Выбираем стрелками нужный и нажимаем клавишу R. Далее выберем точку восстановления и нажмем Enter:
Спустя пару секунд точка восстановления будет смонтирована в директорию /mnt/backup.
Останется только скопировать по своим местам виртуальные накопители и конфигурационные файлы виртуальных машин, после чего «убитая» машина появится в GUI Proxmox VE автоматически. Вы сможете запустить ее обычным образом.
Для размонтирования точки восстановления не следует это делать вручную, а нужно нажать клавишу U в утилите veeam.
На этом все.
May the Force be with you!
habr.com
Дисклеймер:
Резервное копирование, пожалуй, один из самых важных процессов, от которого зависит работа любой компании. Нет ничего дороже данных, хранящихся в корпоративных информационных системах, и нет ничего хуже отсутствия возможности их восстановить в случае сбоя.Эта статья — вольный и расширенный перевод на тему гайда, опубликованного на форуме 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](https://habrastorage.org/r/w1560/webt/n0/do/z9/n0doz9jyudpcf-hayqu6njcstng.png)
Выбираем пункт Backup Repositories, нажимаем кнопку Add Repository и в появившемся окне выбираем Network attached storage:
![dsleewxwyfrbxi64ibhnkgbl3hm.png](https://habrastorage.org/r/w1560/webt/ds/le/ew/dsleewxwyfrbxi64ibhnkgbl3hm.png)
Для примера возьмем тестовое SMB-хранилище, у меня это обычный QNAP:
![wn2v75pnyilvwfm2wdnez0gff3e.png](https://habrastorage.org/r/w1560/webt/wn/2v/75/wn2v75pnyilvwfm2wdnez0gff3e.png)
Заполняем имя и описание, затем нажимаем кнопку Next:
![aeluc1vlc3rjv8yfjkkegksfqak.png](https://habrastorage.org/r/w1560/webt/ae/lu/c1/aeluc1vlc3rjv8yfjkkegksfqak.png)
Вводим адрес SMB-хранилища и, если оно требует авторизации, нажимаем Add для добавления реквизитов доступа:
![ku5g5nrjheqx_loj6dicmfylzmm.png](https://habrastorage.org/r/w1560/webt/ku/5g/5n/ku5g5nrjheqx_loj6dicmfylzmm.png)
Заполняем имя пользователя и пароль для доступа к SMB-хранилищу, а затем нажимаем кнопку ОК и, вернувшись в предыдущее окно, — Next:
![dqz5tyipy4tpabxyce7azqvwbos.png](https://habrastorage.org/r/w1560/webt/dq/z5/ty/dqz5tyipy4tpabxyce7azqvwbos.png)
Если все сделано без ошибок, то программа подключится к хранилищу, запросит информацию о доступном дисковом пространстве и отобразит следующее диалоговое окно. В нем задайте дополнительные параметры (при необходимости) и нажмите кнопку Next:
![edgdmktah8gzp2ficmybhka_qio.png](https://habrastorage.org/r/w1560/webt/ed/gd/mk/edgdmktah8gzp2ficmybhka_qio.png)
В следующем окне можно оставить все параметры по умолчанию и также нажать Next:
![ob-5xhmenemijzrsdka1lonr4a4.png](https://habrastorage.org/r/w1560/webt/ob/-5/xh/ob-5xhmenemijzrsdka1lonr4a4.png)
Проверяем, что необходимые компоненты установлены и находятся в статусе already exists, и нажимаем кнопку Apply:
![0agvixnl2-ev6qlpi1dssnj3esy.png](https://habrastorage.org/r/w1560/webt/0a/gv/ix/0agvixnl2-ev6qlpi1dssnj3esy.png)
На этом этапе Veeam® Backup&Replication™ еще раз подключится к хранилищу, определит нужные параметры и создаст репозиторий. Нажимаем Next:
![9xsv79akohraqucyp83uh6syqo8.png](https://habrastorage.org/r/w1560/webt/9x/sv/79/9xsv79akohraqucyp83uh6syqo8.png)
Проверяем суммарную информацию о добавляемом репозитории и нажимаем кнопку Finish:
![zoe62g6kxg07rl5_qo95l7y1m9y.png](https://habrastorage.org/r/w1560/webt/zo/e6/2g/zoe62g6kxg07rl5_qo95l7y1m9y.png)
Программа автоматически предложит сохранять свои конфигурационные файлы в новом репозитории. Нам это не требуется, поэтому отвечаем No:
![tpvs9-do-0wpdyqhf_fzr0sg7nk.png](https://habrastorage.org/r/w1560/webt/tp/vs/9-/tpvs9-do-0wpdyqhf_fzr0sg7nk.png)
Репозиторий успешно добавлен:
![fpcyqy80-k4ktz59aqchgkg2-9y.png](https://habrastorage.org/r/w1560/webt/fp/cy/qy/fpcyqy80-k4ktz59aqchgkg2-9y.png)
Создание задания бэкапа
В главном окне Veeam® Backup&Replication™ нажимаем Backup Job — Linux computer. Выбираем тип Server и режим Managed by backup server:
![1soiwz1snio9rt2aa8lsuz7xnou.png](https://habrastorage.org/r/w1560/webt/1s/oi/wz/1soiwz1snio9rt2aa8lsuz7xnou.png)
Даем имя заданию и по желанию добавляем описание. Затем нажимаем Next:
![hijifygvb4srir_ecso7zii2tvk.png](https://habrastorage.org/r/w1560/webt/hi/ji/fy/hijifygvb4srir_ecso7zii2tvk.png)
Далее нам нужно внести все серверы с Proxmox, которые будем бэкапить. Для этого нажимаем Add — Individual computer. Вводим хостнейм или IP-адрес сервера и реквизиты доступа. Таким образом формируем список Protected computers и нажимаем Next:
![d_wpkp2p_szef1vyd5bwde6blg0.png](https://habrastorage.org/r/w1560/webt/d_/wp/kp/d_wpkp2p_szef1vyd5bwde6blg0.png)
Теперь очень важный момент, а именно выбор данных, которые будут добавлены в резервную копию. Тут все будет зависеть от того, где именно у вас располагаются виртуальные машины. Если хотите добавить только какой-либо логический том, то нужен режим Volume level backup и выбираете путь к логическому тому или устройству, например /dev/pve. Все остальные действия идентичны.
Для этой статьи мы покажем как работает режим File level backup:
![wq6b5psnc7jay48_xbrj2_ureee.png](https://habrastorage.org/r/w1560/webt/wq/6b/5p/wq6b5psnc7jay48_xbrj2_ureee.png)
В следующем окне формируем список директорий для бэкапа. Нажимаем Add и прописываем директории, где хранятся конфигурационные файлы виртуальных машин. По умолчанию это каталог /etc/pve/nodes/pve/qemu-server/. Если вы используете не только виртуальные машины, но и LXC-контейнеры, то добавьте директорию /etc/pve/nodes/pve/lxc/. В моем случае это еще и каталог /data.
Сформировав таким образом список директорий, нажимаем Next:
![_k_dydc6dnhx4mngj4cuuisokqu.png](https://habrastorage.org/r/w1560/webt/_k/_d/yd/_k_dydc6dnhx4mngj4cuuisokqu.png)
Из выпадающего списка репозиториев выбираем Storage, созданный ранее. Определяем длину цепочки для инкрементального бэкапа. Чем больше точек будет в Retention policy, тем больше места вы сэкономите. Но вместе с этим снизится надежность резервной копии. Мне важнее надежность, чем объем места в хранилище, поэтому я поставил 4 точки. Вы можете взять стандартное значение 7. Продолжаем настройку задания, нажав Next:
![wkaev5az-3ruj4n-gjuv43oz9vo.png](https://habrastorage.org/r/w1560/webt/wk/ae/v5/wkaev5az-3ruj4n-gjuv43oz9vo.png)
Тут параметры оставляем без изменений, просто идем в следующее окно:
![tt4pb-cw4quxwulze1xcjjohx_4.png](https://habrastorage.org/r/w1560/webt/tt/4p/b-/tt4pb-cw4quxwulze1xcjjohx_4.png)
Настраиваем планировщик. Это одна из самых крутых фишек, позволяющих облегчить жизнь системного администратора. В примере я выбрал автоматический запуск бэкапа каждый день в 2 часа ночи. Еще прекрасной функцией является возможность прервать задание бэкапа, если мы выходим за временную границу отведенного «окна бэкапа». Его точное расписание формируется через кнопку Window:
![e-7j7hfdz5fdru4lft7cul74fr0.png](https://habrastorage.org/r/w1560/webt/e-/7j/7h/e-7j7hfdz5fdru4lft7cul74fr0.png)
Опять же для примера предположим, что бэкап мы выполняем только в нерабочее время по будням, а по выходным мы вообще не ограничены во времени. Формируем вот такую красивую таблицу, возвращаемся в предыдущее окно и нажимаем Apply:
![7gobiidnihb8a9jsrbsdt8yp9c8.png](https://habrastorage.org/r/w1560/webt/7g/ob/ii/7gobiidnihb8a9jsrbsdt8yp9c8.png)
Остается только проверить суммарную информацию о задании и нажать кнопку Finish:
![2smk6mspmnfayuhhxxi1yjezj3k.png](https://habrastorage.org/r/w1560/webt/2s/mk/6m/2smk6mspmnfayuhhxxi1yjezj3k.png)
На этом создание задания резервного копирования закончено.
Выполнение бэкапа
Тут все элементарно. В главном окне программы выбираем созданное задание и нажимаем Start. Система автоматически подключится к нашему серверу (или нескольким серверам), проверит доступность хранилища и зарезервирует необходимое количество дискового пространства. Затем, собственно, начнется процесс резервного копирования, и по завершении мы получим исчерпывающую информацию о процессе.
Если в процессе запуска бэкапа возникла проблема вида Failed to load module [veeamsnap] with parameters [zerosnapdata=1 debuglogging=0], то нужно пересобрать модуль veeamsnap в соответствии с инструкцией.
![tsdocmchujzdj5nxvujwmrroffs.png](https://habrastorage.org/r/w1560/webt/ts/do/cm/tsdocmchujzdj5nxvujwmrroffs.png)
Что особенно интересно — на самом сервере мы можем посмотреть не только список всех выполненных заданий резервного копирования, но и в реальном времени наблюдать за процессом командой veeam:
![lilptkhpxrygvey6krcgbltfvvm.png](https://habrastorage.org/r/w1560/webt/li/lp/tk/lilptkhpxrygvey6krcgbltfvvm.png)
Предрекая вопрос, почему консоль так странно выглядит, скажу сразу: мне очень нравится, как выглядит консоль на экране теплого лампового СRT-монитора. Делается это при помощи эмулятора терминала cool-retro-term.
Восстановление данных
Теперь самый важный вопрос. А как же восстановить данные, если случилось непоправимое? К примеру, случайно удалили не ту виртуальную машину. В GUI Proxmox она вообще пропала, в хранилище на месте машины ничего не осталось.
Процесс восстановления несложный. Заходим на консоль Proxmox и вводим команду:
veeam
Мы увидим список выполненных бэкапов. Выбираем стрелками нужный и нажимаем клавишу R. Далее выберем точку восстановления и нажмем Enter:
![ltduj8hywtb1zwrmauzoeplnw4c.png](https://habrastorage.org/r/w1560/webt/lt/du/j8/ltduj8hywtb1zwrmauzoeplnw4c.png)
Спустя пару секунд точка восстановления будет смонтирована в директорию /mnt/backup.
Останется только скопировать по своим местам виртуальные накопители и конфигурационные файлы виртуальных машин, после чего «убитая» машина появится в GUI Proxmox VE автоматически. Вы сможете запустить ее обычным образом.
Для размонтирования точки восстановления не следует это делать вручную, а нужно нажать клавишу U в утилите veeam.
На этом все.
May the Force be with you!
![habr.com](https://habrastorage.org/webt/vt/ie/do/vtiedog1gpeio35vznojw5horso.png)
Инкрементальный бэкап в Proxmox VE с помощью VBR
В одной из предыдущих статей цикла про гипервизор Proxmox VE мы уже рассказывали, как выполнять бэкап штатными средствами. Сегодня покажем, как для этих же целей использовать отличный инструмент...
![habr.com](https://assets.habr.com/habr-web/img/favicons/favicon-16.png)