Установка PBR-Agent
Цель выполнения
Установка PBR-Agent является опциональной и необходима, если планируется использование централизованного каталога резервных копий.
При установке PBR-Agent необходимо также обязательно установить:
Предусловия
Перед началом установки убедитесь, что выполнены следующие условия:
- Подготовлено окружение.
- Дистрибутив CopyWala распакован в соответствии с инструкцией, приведенной в разделе Установка, шаг Распаковка дистрибутива CopyWala.
Последовательность действий
Предварительно создайте клиента и базу данных для установки сервиса PBR-Agent (или используйте целевую базу данных). Внесите необходимые изменения в конфигурационный файл pg_hba.conf, добавив туда нужную базу данных и клиента, а затем перечитайте конфигурацию.
-
Установите пакет
pbr-agent-{component_version}-{OS_version}.x86_64.rpmиз директорииpbr/owned/pbra/rpms:- SberLinux, РЕД ОС, CentOS
- Astra Linux
- Альт СП
sudo dnf install {component_name}-{component_version}-{OS_version}.x86_64.rpmsudo apt install {component_name}-{component_version}-{OS_version}.x86_64.debsudo apt-get install {component_name}-{component_version}-{OS_version}.x86_64.rpmПример заполненной команды:
sudo dnf install pbr-agent-1.1.0-sberlinux9.x86_64.rpm -
Откройте файл конфигурации
pbr-agent.yaml:sudo vi /etc/pbr/pbr-agent.yaml -
Заполните конфигурационные параметры.
Пример заполненных параметров
# --------------------------------------# Настройки для взаимодействия с API Gateway# --------------------------------------api_gateway:http_address: https://<agent-manager-host>:<port> # HTTP(S)-адрес API-шлюза (agent-manager) для REST-запросов: получение задач, отправка результатов, heartbeat (обязательно)ws_address: wss://<agent-manager-host>:<port> # WebSocket-адрес API-шлюза (agent-manager) для двустороннего обмена сообщениями (обязательно)tls: # опциональноrootca:local_path: tls/root.crt # путь к локальному файлу# vault_path: <path> # путь к секрету в HashiCorp/SecMan# vault_key: <key> # ключ внутри json-секретаcert:local_path: tls/cert.crt # путь к локальному файлу# vault_path: <path> # путь к секрету в HashiCorp/SecMan# vault_key: <key> # ключ внутри json-секретаkey:local_path: tls/cert.key # путь к локальному файлу# vault_path: <path> # путь к секрету в HashiCorp/SecMan# vault_key: <key> # ключ внутри json-секрета# --------------------------------------# Настройки БД для хранения информации о выполненных задачах резервного копирования и восстановления данных# --------------------------------------pbra_db:host: localhostport: 5433database: pbrauser: {user}password: passwordis_pg_auth_config_enabled: false # параметр позволяет применять аутентификацию пользователей при помощи pg_auth_config # если значение выставлено true, то в данном разделе параметр password указывать не нужноpg_auth_config_plugins_path: /usr/lib/pbr/pbr-agentquery_params: search_path=public # параметр позволяет настроить набор значений, специфичных для Pangolin/PostgreSQL, при подключении к базе данныхtls: # опциональноrootca:local_path: tls/root.crt # путь к локальному файлу# vault_path: <path> # путь к секрету в HashiCorp/SecMan# vault_key: <key> # ключ внутри json-секретаcert:local_path: tls/cert.crt # путь к локальному файлу# vault_path: <path> # путь к секрету в HashiCorp/SecMan# vault_key: <key> # ключ внутри json-секретаkey:local_path: tls/cert.key # путь к локальному файлу# vault_path: <path> # путь к секрету в HashiCorp/SecMan# vault_key: <key> # ключ внутри json-секрета# --------------------------------------# Задержка передачи сигнала состояния агентского приложения# --------------------------------------heartbeat_delay: 10s# --------------------------------------# Задержка в синхронизации запросов и резервных копий# --------------------------------------sync_delay: 5s# --------------------------------------# Параметры подключения к HashiCorp/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> # путь к секрету в HashiCorp/SecMan# vault_key: <key> # ключ внутри json-секретаcert:local_path: tls/cert.crt # путь к локальному файлу# vault_path: <path> # путь к секрету в HashiCorp/SecMan# vault_key: <key> # ключ внутри json-секретаkey:local_path: tls/cert.key # путь к локальному файлу# vault_path: <path> # путь к секрету в HashiCorp/SecMan# vault_key: <key> # ключ внутри json-секрета# --------------------------------------# Опциональные настройки приложения# --------------------------------------copywala:# запуск подпроцесса copywala с указанной конфигурациейconfig_path: /etc/pbr/copywala.yamlapp:# путь к файлу, содержащему идентификатор агентского приложения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 (и по умолчанию) – `UTC`.compress_backups: false # параметр определяет необходимость сжатия резервных копий лог-файлов. Если выбрано true, лог-файлы будут сжаты, если false, лог-файлы будут храниться без сжатияпримечаниеС подробной информацией о настройках конфигурации логов можно ознакомиться в разделе «Системный журнал».
-
Запустите сервис
pbr-agent.service:sudo systemctl start pbr-agent.service
Настройка TLS-сертификатов для PBR-Agent
Ниже приведены шаги настройки TLS-сертификатов для Copywala VDB. Настройка сертификатов для текущего компонента выполняется аналогичным образом.
Для обеспечения взаимодействия с Vector DB по протоколу HTTPS/mTLS выполните описанные ниже шаги:
-
Сгенерируйте корневой сертификат (далее – Root CA).
примечаниеДанный шаг является опциональным, выполните его, если в инфраструктуре отсутствует готовый Root CA. В противном случае следует использовать уже существующий Root CA.
Важно помнить, что при самостоятельной генерации Root CA, его необходимо использовать для подписи сертификата сервера (Vector DB).
Пример команды:
openssl req -subj "/CN=RootCA" -newkey rsa:2048 -nodes \-keyout rootCA.key \-new -x509 \-days 365 \-out rootCA.crtВ результате будут получены:
rootCA.key— приватный ключ Root CA;rootCA.crt— самоподписанный корневой сертификат.
-
Создайте файл
openssl.cnf, указав актуальные значения, включая SAN-параметры:[ req ]default_bits = 2048default_md = sha256prompt = nodistinguished_name = req_distinguished_namereq_extensions = req_ext[ req_distinguished_name ]C = RUST = MoscowL = MoscowO = myCompanyOU = IT DepartmentCN = example.com[ req_ext ]subjectAltName = DNS:<dns_name>, DNS:localhost, IP:<ip>, IP:127.0.0.1Замените
<dns_name>и<ip>на фактические значения, используемые в инфраструктуре. -
Сгенерируйте приватный ключ и CSR (пример команды):
openssl genpkey -algorithm RSA -out copywala-vdb.keyopenssl req -new \-key copywala-vdb.key \-out copywala-vdb.csr \-config openssl.cnf -
Подпишите CSR с использованием Root CA (существующего или сгенерированного):
openssl x509 -req \-in copywala-vdb.csr \-CA rootCA.crt \-CAkey rootCA.key \-CAcreateserial \-out copywala-vdb.crt \-days 365 \-extfile openssl.cnf \-extensions req_extВ результате будет создан сертификат для Copywala VDB –
copywala-vdb.crt. -
Для проверки корректности сертификата используйте команду:
openssl x509 -in copywala-vdb.crt -text -nooutВ результате выполнения команды отображается:
- Subject и Issuer;
- срок действия;
- расширения сертификата (включая SAN);
- другие параметры X.509.
-
После генерации и/или получения сертификатов настройте подключение к Vector DB. Для этого в конфигурационном файле
copywala-vdb.yamlзаполните секциюtls, указав пути к созданным TLS-артефактам.
Проверка результата
Для проверки установки и работоспособности компонентов CopyWala обратитесь к разделу Чек-лист проверки корректности работы.
После завершения установки данного модуля:
- При необходимости выполните установку других модулей Platform V CopyWala.
- Перейдите к следующему шагу — Настройка интеграции Platform V CopyWala с внешними сервисами.