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

Обзор развертывания Proxmox Backup Server на сервере

Предварительные требования и базовые условия

Для развертывания Proxmox Backup Server требуется операционная система Debian 12 (Bookworm). Процесс установки включает управление пакетами на уровне системы и требует прав root. Необходимы следующие компоненты и конфигурации:

  • Операционная система: Debian 12 (Bookworm)

  • Права доступа: Для установки пакетов и управления службами требуется доступ root.

  • Требуемые пакеты: curl, wget, ca-certificates, gnupg, zfs-dkms и linux-headers-amd64.

  • Конфигурация репозитория: Система должна быть настроена на использование репозитория Proxmox PBS без подписки (no-subscription).

  • Сетевые порты:

  • Порт внутренней службы: 8007

  • Внешний порт HTTPS: 443

FQDN финальной панели

Веб-интерфейс Proxmox Backup Server доступен по следующему формату Полного Квалифицированного Доменного Имени (FQDN) в домене hostkey.in:

proxmox-backup-server<Server ID>.hostkey.in:443

Замените <Server ID> на конкретный идентификатор, назначенный экземпляру сервера. Служба слушает порт 443 для защищенных соединений HTTPS.

Структура файлов и каталогов

Развертывание использует специфические каталоги для файлов конфигурации, хранения данных и управления контейнерами:

  • Конфигурация репозитория: /etc/apt/sources.list.d/pbs.list

  • GPG-ключ: /etc/apt/trusted.gpg.d/proxmox-release.gpg

  • Каталог конфигурации Nginx: /data/nginx/user_conf.d/

  • Каталог Docker Compose: /root/nginx/

  • Файл Docker Compose: /root/nginx/compose.yml

  • Файл окружения Nginx: /data/nginx/nginx-certbot.env

  • Том SSL-сертификатов: Монтируется в /etc/letsencrypt внутри контейнера, сопоставлен с внешним томом nginx_secrets.

Процесс установки приложения

Proxmox Backup Server устанавливается как нативный пакет на хосте Debian, после чего разворачивается контейнер обратного прокси-сервера.

  1. Обновление системы: Пакеты системы обновляются и обновляются до последних версий дистрибутива.

  2. Установка зависимостей: Устанавливаются основные инструменты, включая curl, wget, ca-certificates и gnupg.

  3. Настройка репозитория:

    • Если присутствует, отключается корпоративный репозиторий Proxmox PBS.

    • В основном списке источников включаются компоненты contrib и non-free-firmware.

    • Загружается и добавляется в каталог доверенных ключей GPG-ключ Proxmox PBS.

    • Репозиторий Proxmox PBS без подписки добавляется в /etc/apt/sources.list.d/pbs.list.

  4. Установка пакетов: Устанавливается мета-пакет proxmox-backup-server.

  5. Поддержка ZFS: Устанавливаются пакеты zfs-dkms и linux-headers-amd64 для поддержки файловых систем ZFS.

  6. Активация службы: Служба proxmox-backup запускается и включается для запуска при загрузке.

  7. Развертывание прокси: Разворачивается контейнер Docker, работающий под образом jonasal/nginx-certbot:latest, для обработки терминации SSL и обратного проксирования.

Права доступа и безопасность

Безопасность управляется через конфигурацию обратного прокси-сервера и изоляцию служб:

  • SSL/TLS: Контейнер nginx-certbot автоматически управляет SSL-сертификатами через Let's Encrypt.

  • Межсетевой экран (Firewall): Внешний порт 443 открыт для трафика HTTPS. Порт внутренней службы 8007 связан с 127.0.0.1 и не доступен напрямую из внешней сети.

  • Конфигурация пользователя: Файлы конфигурации Nginx принадлежат пользователю root с правами доступа 0644 для файлов и 0755 для каталогов.

  • Изоляция контейнера: Прокси-контейнер работает с параметром network_mode: host для обеспечения прямого связывания портов и управления сертификатами.

Базы данных

Proxmox Backup Server управляет собственной внутренней базой данных и метаданными хранилища. Для стандартного развертывания, описанного в исходных файлах, не требуется конфигурация подключения к внешней базе данных. Данные хранятся локально в файловой системе хоста, обычно используя наборы данных ZFS, управляемые службой proxmox-backup.

Контейнеры Docker и их развертывание

Развертывается один контейнер Docker, выполняющий функции обратного прокси-сервера и терминации SSL.

  • Образ: jonasal/nginx-certbot:latest

  • Политика перезапуска: unless-stopped

  • Режим сети: host

  • Переменные окружения:

  • CERTBOT_EMAIL: Установлено значение hkadm@hostkey.com

  • Томы:

  • nginx_secrets: Внешний том, смонтированный в /etc/letsencrypt для хранения сертификатов.

  • /data/nginx/user_conf.d: Каталог хоста, смонтированный в /etc/nginx/user_conf.d для пользовательских конфигураций Nginx.

Контейнер управляется через файл docker compose, расположенный по пути /root/nginx/compose.yml.

Прокси-серверы

В развертывании используется Nginx внутри контейнера Docker для обработки входящего трафика.

  • ПО прокси-сервера: Nginx (через образ jonasal/nginx-certbot).

  • Управление SSL: Certbot интегрирован в контейнер для автоматической выдачи и продления сертификатов.

  • Конфигурация:

  • Создается пользовательский файл конфигурации по пути /data/nginx/user_conf.d/proxmox-backup-server<Server ID>.hostkey.in.conf.

  • Конфигурация включает блок location /, который проксирует запросы к внутреннему экземпляру Proxmox Backup Server.

  • Директива proxy_pass установлена в http://127.0.0.1:8007.

  • Маршрутизация:

  • Внешние запросы к порту 443 направляются в контейнер Nginx.

  • Nginx пересылает трафик на внутренний Proxmox Backup Server на порт 8007.

Настройки прав доступа

Права доступа к файлам и каталогам строго определены для обеспечения безопасности и корректной работы:

  • Каталог Nginx: /root/nginx создается с владельцем root:root и режимом 0755.

  • Файл Compose: /root/nginx/compose.yml устанавливается с владельцем root:root и режимом 0644.

  • Каталог конфигурации Nginx: /data/nginx/user_conf.d монтируется в контейнер; файлы внутри управляются процессом развертывания.

  • GPG-ключ: /etc/apt/trusted.gpg.d/proxmox-release.gpg устанавливается с режимом 0644.

Расположение файлов конфигурации и данных

Следующая таблица суммирует критические расположения файлов:

Тип файла Путь Описание
Список репозиториев APT /etc/apt/sources.list.d/pbs.list Определение репозитория Proxmox PBS без подписки
GPG-ключ /etc/apt/trusted.gpg.d/proxmox-release.gpg Ключ подписи репозитория
Docker Compose /root/nginx/compose.yml Определение оркестрации контейнера
Файл окружения Nginx /data/nginx/nginx-certbot.env Переменные окружения для прокси-контейнера
Конфигурация Nginx /data/nginx/user_conf.d/proxmox-backup-server<Server ID>.hostkey.in.conf Пользовательская конфигурация обратного прокси-сервера
SSL-сертификаты /etc/letsencrypt (через том) Хранилище сертификатов Let's Encrypt

Доступные порты для подключения

Система открывает следующие порты для доступа клиентов:

  • Порт 443 (HTTPS): Основная точка входа для веб-интерфейса Proxmox Backup Server, обрабатываемая обратным прокси-сервером Nginx.

  • Порт 8007 (HTTP): Внутренний порт, используемый приложением Proxmox Backup Server. Этот порт связан с 127.0.0.1 и доступен локально только контейнеру Nginx.

Запуск, остановка и обновление

Команды управления службами используются для контроля Proxmox Backup Server и Docker-прокси.

  • Служба Proxmox Backup Server:

  • Запуск: systemctl start proxmox-backup

  • Остановка: systemctl stop proxmox-backup

  • Включение при загрузке: systemctl enable proxmox-backup

  • Статус: systemctl status proxmox-backup

  • Контейнер Docker-прокси:

  • Запуск/Перезапуск: docker compose up -d (выполняется из каталога /root/nginx)

  • Остановка: docker compose down (выполняется из каталога /root/nginx)

  • Обновление образа: Загрузите последний образ и перезапустите контейнер, используя docker compose pull, за которым следует docker compose up -d.

  • Обновление пакетов:

  • Для обновления программного обеспечения Proxmox Backup Server выполните apt update, за которым следует apt upgrade proxmox-backup-server.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×