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

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

примечание

Исполнять сценарий необходимо от имени пользователя 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>"