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

Создание резервной копии вручную

примечание

Исполнять сценарий необходимо от имени пользователя qdrant.

Описание сценария

Инициирование процесса создания резервной копии Vector DB вручную. Резервная копия векторной БД представляет собой снепшот (снимок состояния базы данных).

Предусловия

Убедитесь, что Vector DB установлен и доступен.

Последовательность выполнения

  1. Заполните параметры подключения к Vector DB в конфигурационном файле copywala-vdb.yaml в секции vdb.

  2. При необходимости переопределите режим создания резервной копии, для этого в конфигурационном файле copywala-vdb.yaml в секции vdb задайте необходимое значение для параметра full_snapshot:

    • false (задано по умолчанию) – стандартный режим при котором система последовательно запрашивает список коллекций и формирует отдельный снепшот и контрольную сумму для каждой из них. Все полученные снепшот-файлы сохраняются раздельно в составе CWL-архива. Режим удобен, если планируется делать выборочное восстановление.
    • true – режим полного снимка, при котором формируется единый снепшот-файл, содержащий все коллекции базы данных. Полученный снепшот вместе с контрольной суммой сохраняется в CWL-архив.
  3. Запустите создание РК командой copywala-vdb create-backup.

    Справка по команде copywala-vdb create-backup

    Описание:

    Запуск создания резервной копии в ручном режиме.

    Синтаксис:

    copywala-vdb create-backup [flags]

    Обязательные параметры:

    Нет.

    Опциональные параметры:

    [flags] – доступны следующие флаги:

    ФлагОписание
    -h|--helpПоказать справку по команде
    -c|--config <path to copywala-vdb config>Использовать конфигурационный файл, отличный от файла по умолчанию: /etc/pbr/copywala-vdb.yaml

Результат

В результате выполнения сценария создан архив РК коллекций Vector DB.

В лог будет выведена информация с описанием событий:

  • При успешном снятии РК в стандартном режиме:

    $ copywala-vdb create-backup
    2025-12-16 11:36:14 [3642774] INF backup destination: local-fs:///home/user/backups/backup_id/backups
    2025-12-16 11:36:14 [3642774] INF start create vdb collections snapshots
    2025-12-16 11:36:14 [3642774] INF starting to write data to storage
    2025-12-16 11:36:14 [3642774] INF create snapshot for collection="fcol2"
    2025-12-16 11:36:14 [3642774] INF create snapshot for collection="fcol2" completed
    2025-12-16 11:36:14 [3642774] INF create snapshot for collection="fcol"
    2025-12-16 11:36:14 [3642774] INF create snapshot for collection="fcol" completed
    2025-12-16 11:36:14 [3642774] INF successfully completed receiving footer
    2025-12-16 11:36:14 [3642774] INF loading backup footer terminated
    2025-12-16 11:36:14 [3642774] INF successfully completed reading parts
    2025-12-16 11:36:14 [3642774] INF loading backup parts terminated
    2025-12-16 11:36:14 [3642774] INF completing backup
    2025-12-16 11:36:16 [3642774] INF vdb: backup: 2025-12-16-11-36_id_full_generic_folder.cwl
    2025-12-16 11:36:16 [3642774] INF vdb: create backup completed
  • При успешном снятии РК в режиме полного снимка:

    $ copywala-vdb create-backup
    2025-12-16 12:17:12 [3654564] INF backup destination: local-fs:///home/user/backups/db1_019ad96f-18b5-7d48-81e8-f6d2ca41f8b1/backups
    2025-12-16 12:17:12 [3654564] INF start create vdb full snapshot
    2025-12-16 12:17:12 [3654564] INF starting to write data to storage
    2025-12-16 12:17:12 [3654564] INF create vdb full snapshot completed
    2025-12-16 12:17:12 [3654564] INF successfully completed receiving footer
    2025-12-16 12:17:12 [3654564] INF loading backup footer terminated
    2025-12-16 12:17:12 [3654564] INF successfully completed reading parts
    2025-12-16 12:17:12 [3654564] INF loading backup parts terminated
    2025-12-16 12:17:12 [3654564] INF completing backup
    2025-12-16 12:17:14 [3654564] INF vdb: backup: 2025-12-16-12-17_019b2673-0bef-7454-af2b-b459e866824b_full_generic_folder.cwl
    2025-12-16 12:17:14 [3654564] INF vdb: create backup completed

Исключительные сценарии

В случае ошибки подключения к Vector DB в лог будет выведена информация с описанием события:

$ copywala-vdb create-backup
...
[...] ERR error during loading backup parts err="context canceled"
[...] ERR error during receiving footer err="context canceled"
[...] ERR vdb: create backup failed err="Get \"http://.../collections\": dial tcp ... connect: connection refused"
exit status 1

Также будет выведено соответствующее сообщение для случаев:

  • Закончилось место на диске.
  • Закончилось место на диске.
  • Недостаточно прав для записи в директорию РК.
  • Ошибка при создании снепшота.

Дополнительные настройки сценария

Выбор способа получения снепшотов при создании резервной копии

Copywala VDB поддерживает разные способы получения снепшотов при создании резервных копий:

  • загрузка с сервера Vector DB;
  • загрузка снепшотов из локальной файловой системы.

Выбор способа получения снепшотов настраивается параметром copy_local_snapshots, расположенном в конфигурационном файле copywala-vdb.yaml. Возможные значения:

Значение

Описание алгоритма работы

copy_local_snapshots=false (задано по умолчанию)

  1. При запуске команды copywala-vdb create-backup на сервере Vector DB создается новый снепшот.
  2. Copywala VDB загружает снепшот по сети через HTTP-API.
  3. Снепшот сохраняется в архив резервной копии.
  4. Создается файл контрольной суммы (.checksum).
  5. Снепшот удаляется с сервера Vector DB.

copy_local_snapshots=true

  1. При запуске команды copywala-vdb create-backup на сервере Vector DB создается новый снепшот.
  2. Vector DB сохраняет снепшот в локальную директорию снепшотов, путь к которой должен быть указан в параметре local_snapshots_path.
  3. Copywala VDB читает снепшот напрямую из директории local_snapshots_path.
  4. Снепшот сохраняется в архив резервной копии.
  5. Создается файл контрольной суммы (.checksum).
  6. Снепшот удаляется с сервера Vector DB.

Для настройки способа получения снепшотов в конфигурационном файле copywala-vdb.yaml задайте значения для параметров:

  • copy_local_snapshots – флаг загрузки снепшотов из локальной файловой системы.
  • local_snapshots_path – путь к директории для сохранения снепшотов в локальной файловой системе.

Пример конфигурации:

vdb:
copy_local_snapshots: true
local_snapshots_path: /vdb/snapshots
Важно

При copy_local_snapshots: true:

  • Параметр local_snapshots_path обязателен.
  • Запускать создание резервной копии (copywala-vdb create-backup) необходимо от имени пользователя qdrant.
  • Директория (local_snapshots_path) должна быть доступна для чтения и записи пользователю qdrant.

При copy_local_snapshots: false параметр local_snapshots_path игнорируется.

Описание механизмов безопасности

Для подключения к Vector DB поддерживаются:

  • аутентификация по логину и паролю (username, password);
  • TLS-настройки для защищенного соединения (rootca, cert, key).

Рекомендуется использовать TLS для защиты передаваемых данных. Для хранения учетных данных, необходимых для подключения к Vector DB, рекомендуется использовать локальное хранилище секретов.

Пример секций vdb и tls в файле copywala-vdb.yaml, отвечающих за настройки подключения к Vector DB:

vdb:
http_address: <https://host:port>
auth_enabled: <true/false>

username: "<username>"
password: "<password>"

use_enc_creds: <true/false>
enc_creds_path: "</var/pbr/copywala/vdb.creds>"

tls:
rootca: "<path>"
cert: "<path>"
key: "<path>"