Перейти к содержанию

Запуск Proxmox Backup Server (PBS) на Windows или NAS. Организация синхронизации бэкапов между PBS


Deniom

Рекомендуемые сообщения

  • Эксперты

Вступление, или очередная проблема из неоткуда

Система бэкапов Proxmox (PBS) является достаточно мощным и удобным инструментом для создания резервных копий виртуальных машин Proxmox, но она имеет одну проблему, которая мешала мне для организации задуманной мной системы домашнего сервера. PBS не может делать синхронизацию с удаленным каталогом по протоколу SAMBA.

Синхронизация бэкапов в PBS доступна только между несколькими экземплярами самого сервера бэкапов, то есть для переноса бэкапов на другое устройство там должен быть установлен Debian с пакетом PBS. Альтернативой может являться создание хранилища данных в удаленной папке, созданной по протоколу NFS. В моем случае стояла задача восстановить исходную схему резервирования бэкапов, которая была реализована до перехода на создание бэкапы с помощью PBS, когда резервные копии также переносились на мой основной компьютер, откуда отправлялись на внешний диск.

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

1. Запустить виртуальную машину с PBS

2. Запустить PBS в Docker-контейнере

В дальнейшем я выбрал вариант запуска через Docker-контейнер, так как он для меня оказался более удобным и менее прожорливым по ресурсам (вся система Docker с запущенным PBS потребляет до 700 Мб ОЗУ). Также мне было откровенно лень разбираться с пробросом портов из виртуальной машины и еще пачкой ненужных задач. Для виртуальных машин Proxmox - ван лав. Так же данный способ подойдет для запуска на NAS.

Установка и запуск PBS в докере

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

Для установки PBS на Debian в виртуалке приведен на оффициально сайте: https://pbs.proxmox.com/docs/installation.html#install-proxmox-backup-server-on-debian

Для запуска докер в Windows необходимо установить docker desktop с официального сайта https://www.docker.com/products/docker-desktop/ для полноценной работы потребуется регистрация на докер хаб.

После установки и первого запуска попадаем в стартовое окно docker desktop которое на самом деле очень бесполезное, в дальнейшем он нам понадобиться только для администрирования контейнера.

1180883330_.png.a180ea26acf1d5b2f7efbb3d5b9a9ce0.png

В принципе этой установки должно быть достаточно, но лучше так же установить WSL если не был установлен ранее. Идем в Microsoft Store (да на удивление он все еще живой, сам в шоке) и находим там Windows Subsystem for Linux.

109690397_.png.b8f0706a6ba918cfc925a3e0aa235df7.png

Данная подсистема предназначена для запуска Linux системы прямо в Windows без использования стороннего софта для виртуализации, а так же его использует докер.

Переходим в настройки докера и включаем запуск при старте Windows и включаем WSL2/

862523056_.png.78344cffb6efbe2c4348ba7ad361773f.png

В принципе данных настроек должно быть достаточно для запуска необходимого нам контейнера.

Но дополнительно настроим что бы докер не съедал наши ресурсы до бесконечности, по умолчанию потребление.

Идем в основную папку пользователя: C:\Users\UserName

И создаем там файлик со следующим именем: .wslconfig

Открываем файл через любой текстовый редактор (рекомендую Notepad ++) И вставляем следующий конфиг:
 

[wsl2]
memory=1GB
processors=1

Данная настройка вступит в силу после перезагрузки компьютера. Таким образом мы ограничиваем работу докера что бы он мог использовать не более 1Гб озу и не более одного виртуального ядра, чего для наших задач достаточно. Отдельно отмечу что минимальный объем может быть 1Гб так как происходит округление до целых значений. Данное ограничение действует на весь WSl в целом.

Подробней о данном конфиг файле можно почитать тут: https://learn.microsoft.com/ru-ru/windows/wsl/wsl-config

На этом предварительный этап закончен, приступаем непосредственно к запуску PBS.

Сам проект задумывался для того что бы запускать PBS на NAS с поддержкой докера что в принципе является не плохим решением. Подробней с ним можете ознакомиться по ссылке: https://github.com/ayufan/pve-backup-server-dockerfiles

Приступаем к запуску, для этого создадим папку в которой будет храниться конфиги и все данные нашего PBS (при желании можно развести их по разным папкам путем модификации docker compose).

Нам потребуется вот такая структура папок:

213618948_.png.be8a7ff97ddca54d8e972fc8d4893281.png

Создаем в корнейвой папке новый файл с именем docker-compose.yml и вставляем следующий конфиг:

version: '2.1'

services:
  pbs:
    image: ayufan/proxmox-backup-server:latest
    container_name: pbs
    hostname: hostName
    mem_limit: 128Mb
    environment:
      - TZ=Europe/Moscow
    volumes:
      - D:\Proxmox Backup Server\etc:/etc/proxmox-backup
      - D:\Proxmox Backup Server\logs:/var/log/proxmox-backup
      - D:\Proxmox Backup Server\lib:/var/lib/proxmox-backup
      - D:\Proxmox Backup Server\backups:/backups
    ports:
      - 8007:8007
    tmpfs:
      - /run
    restart: unless-stopped
    stop_signal: SIGHUP

Изменяем параметры volumes на свои а так же устанавливаем hostname для адекватного отображения имени хоста в интерфейсе PBS.

Сохраняем файл и открываем консоль windows.

1716595859_.png.0e8251eba382e363f814316d171ddf82.png

Вводим стандартную команду запуска docker compose

docker compose up -d

1582861732_.png.3bfe602ffb192dca625bcb89a5aa8d23.png

В моем случае произошёл перезапуск контейнера, при первом запуске будет вывод о загрузке и сборке image.

Возвращаемся в окно docker desktop и видим появившийся новый контейнер и потребление выделенных ресурсов.

1059459557_.png.7bee709accdd506026499780c14d9dff.png

Фактическое потребление (зарезервировано) для системы в моем случае:

783226188_.png.c9a05069e5e5288509cb2b69190c9486.png

На это этап запуска PBS в докере закончен, приступаем к непосредственной настройке синхронизации.

Настройка нового экземпляра PBS

Заходим в веб морду нашего нового экземпляра PBS по адресу: https://<Ip-pc>:8007/

По умолчанию доступен один пользователь: admin с паролем pbspbs

Заходим в систему и приступаем к настройке.

Нам необходимо создать хранилище данных, для этого нажимаем «Добавить хранилище данных».

1412450692_.png.dc412248950a46744213d9777bedde36.png

Путь к хранилищу указываем на папку, которую прокинули из компьютера для хранения бэкапов.

Тут же настроим задание проверки резервных копий на целостность.

1526387704_.png.92c3dbd7b3c1cb57d9ed33e21fc87b74.png

487837186_.png.94210f1dcd0fe9514316cbbcf938c98c.png

Следующим шагом необходимо настроить права для работы с полученным хранилищем. Идем в радел управление доступом и создаем нового пользователя:

220290977_.png.f016e61013342ae5e14952d6aad3e4db.png

Нам необходимо создать нового пользователя и сменить пароль для существующего.

Так же выдаем права пользователю:

1300374618_.png.a3ee2f3f8734571c82b3c26c5414d024.png

В моем примере хранилище данных называется deniom-pc.

В хранилище данных должно быть так:

1232426983_.png.4ef9f50a90c48e13394cd2c917507518.png

Настройка синхронизации между экземплярами PBS

Основные настройки будут происходить на вторичном PBS который будет вытягивать бэкапы из PBS на хосте proxmox.

Данные настройки выполняем под пользователем admin так как могут быть проблемы с правами. Подключаться мы так же будет через root пользователя к основному серверу. В идеале необходимо разграничивать права и использовать ограниченного пользователя.

Переходим в удаленные хранилища, и добавляем новое подключение

1232254835_.png.18dce72731155fd60c31ab91ff9eb7a2.png

Заполняем данные для авторизации на основном сервере PBS.

1647014973_.png.64f307a96297f212449fe1a817fba68e.png

Отдельно надо отметить поле отпечаток, он нужен для установки ssl соединения между нашими системами. Что бы его получить возвращаемся в интерфейс PBS основного сервера PBSи на вкладке панелью мониторинга нажимаем показать отпечаток.

1207597799_.png.e741ac996f7f740038660b641cade92e.png

Переходим в хранилище данных и настроим синхронизацию

1060795000_.png.3754b45056344f010359177b749d0fcc.png

В данной настройке будет выполняться попытка синхронизации каждых два часа.

Заключение

На этом настройка фактически завершена, на самом деле мы имеем практически полноценный экземпляр PBS.

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

Спасибо за внимание.

Изменено пользователем Deniom
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

Важная информация

Вы принимаете наши Условия использования, Политика конфиденциальности, Правила. А также использование Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.

Яндекс.Метрика