Перейти к основному содержимому

Установка PBR-Agent

Цель выполнения

Установка PBR-Agent является опциональной и необходима, если планируется использование централизованного каталога резервных копий.

Внимание!

При установке PBR-Agent необходимо также обязательно установить:

Предусловия

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

  1. Подготовлено окружение.
  2. Дистрибутив CopyWala распакован в соответствии с инструкцией, приведенной в разделе Установка, шаг Распаковка дистрибутива CopyWala.

Последовательность действий

Выполните установку PBR-Agent одним из способов:

Установка из RPM-пакета

Внимание!

Предварительно создайте клиента и базу данных для установки сервиса PBR-Agent (или используйте целевую базу данных). Внесите необходимые изменения в конфигурационный файл pg_hba.conf, добавив туда нужную базу данных и клиента, а затем перечитайте конфигурацию.

  1. Установите пакет pbr-agent-{component_version}-{OS_version}.x86_64.rpm из директории pbr/owned/pbra/rpms:

    sudo dnf install {component_name}-{component_version}-{OS_version}.x86_64.rpm

    Пример заполненной команды:

    sudo dnf install pbr-agent-1.1.0-sberlinux9.x86_64.rpm
  2. Откройте файл конфигурации pbr-agent.yaml:

    sudo vi /etc/pbr/pbr-agent.yaml
  3. Заполните конфигурационные параметры.

    Пример заполненных параметров

    # --------------------------------------
    # Настройки для взаимодействия с API Gateway
    # --------------------------------------
    api_gateway:
    http_address: https://localhost:29010 # адрес, на котором запускается сервер pbr-agent # обязательно к заполнению
    ws_address: wss://localhost:29015 # адрес для установления TCP-соединения с agent-manager
    tls: # опционально
    rootca:
    local_path: tls/root.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

    # --------------------------------------
    # Настройки БД для хранения информации о выполненных задачах резервного копирования и восстановления данных
    # --------------------------------------
    pbra_db:
    host: localhost
    port: 5433
    database: pbra
    user: {user}
    password: password
    is_pg_auth_config_enabled: false # параметр позволяет применять аутентификацию пользователей при помощи pg_auth_config # если значение выставлено true, то в данном разделе параметр password указывать не нужно
    pg_auth_config_plugins_path: /usr/lib/pbr/pbr-agent
    query_params: search_path=public # параметр позволяет настроить набор значений, специфичных для Pangolin/PostgreSQL, при подключении к базе данных
    tls: # опционально
    rootca:
    local_path: tls/root.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

    # --------------------------------------
    # Задержка передачи сигнала состояния агентского приложения
    # --------------------------------------
    heartbeat_delay: 10s

    # --------------------------------------
    # Задержка в синхронизации запросов и резервных копий
    # --------------------------------------
    sync_delay: 5s

    # --------------------------------------
    # Параметры подключения к HarhiCorp/SecMan
    # --------------------------------------
    vault: # настройки подключения
    server: <vault-url>
    namespace: <namespace>
    path: <mount-path> # путь к точке монтирования хранилища секретов
    kv_version: v2 # версия формата хранилища ключей-значений
    approle:
    role_id: <role-id> # уникальный идентификатор роли
    secret_id: <secret-id> # секретный ключ роли. Либо указывается явно, либо прописывается wrapping_secret_id_file_path
    # auth_method: approle # метод аутентификации
    # wrapping_secret_id_file_path: /var/pbr/cw.wrapped.secret.vlt # путь к файлу для хранения wrapping token
    # wrapping_secret_id_ttl: 8h # время жизни wrapping token (например, 10m - 10 минут, 6h - 6 часов)

    # --------------------------------------
    # Конфигурация TLS
    # --------------------------------------
    tls:
    rootca:
    local_path: tls/root.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    cert:
    local_path: tls/cert.crt # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета
    key:
    local_path: tls/cert.key # путь к локальному файлу
    # vault_path: <path> # путь к секрету в HarhiCorp/SecMan
    # vault_key: <key> # ключ внутри json-секрета

    # --------------------------------------
    # Опциональные настройки приложения
    # --------------------------------------
    copywala:
    # запуск подпроцесса copywala с указанной конфигурацией
    config_path: /etc/pbr/copywala.yaml
    app:
    # путь к файлу, содержащему идентификатор агентcкого приложения
    agent_id_file_path: /etc/pbr/pbr.agent.id

    # --------------------------------------
    # Настройка ведения журналов приложения
    # --------------------------------------
    log:
    path: /var/log/pbr/pbr-agent.log # путь к лог-файлу
    dir_mode: 0700 # настройка прав доступа на создаваемые каталоги. Значения необходимо задавать в восьмеричной системе счисления с ведущим нулем.
    file_mode: 0600 # настройка прав доступа на создаваемые файлы. Значения необходимо задавать в восьмеричной системе счисления с ведущим нулем.
    max_size: 100 # максимальный размер лог-файла в мегабайтах. По умолчанию `100 МБ`
    max_age: 90 # максимальный возраст лог-файла в днях
    max_backups: 10 # максимальное количество резервных копий лог-файлов, которые будут храниться. Если выбрано 0, то количество файлов не ограничено
    use_local_time: true # параметр определяет, в каком формате будут записываться метки времени в имена файлов при ротации. Если выбрано true, используется локальное системное время, при false (и по умолчанию) – `UTС`.
    compress_backups: false # параметр определяет необходимость сжатия файлов. Если выбрано true, лог-файлы будут сжаты, если false, лог-файлы будут храниться без сжатия
    примечание

    С подробной информацией о настройках конфигурации логов можно ознакомиться в разделе «Системный журнал».

  4. Запустите сервис pbr-agent.service:

    sudo systemctl start pbr-agent.service

Автоматизированная установка с помощью Ansible

Сценарий описан в разделе Автоматизированная установка (с помощью Ansible).

Проверка результата

Для проверки установки и работоспособности PBR-Agent обратитесь к разделу Чек-лист проверки корректности работы.