Резервное копирование и восстановление в одном экземпляре
В этой теме описывается процесс резервного копирования коллекции и ее восстановления из резервной копии в одном экземпляре Milvus.
Обзор
На диаграмме ниже показан процесс резервного копирования и восстановления в рамках одного экземпляра Milvus.
single-instance-backup-and-restore.png
Предположим, у нас есть экземпляр Milvus, milvus_A
, использующий для хранения данных ведро с именемbucket_A
. В этом примере мы должны выполнить следующие задачи:
Создать резервную копию (
my_backup
) для коллекции coll вbucket_A
.Восстановить из резервной копии и назвать восстановленную коллекцию
coll_bak
.
Предварительные условия
Убедитесь, что инструмент milvus-backup установлен.
Ознакомьтесь с настройкой параметров объектного хранилища Milvus. Подробнее см. в разделе "Объектное хранилище".
Резервное копирование коллекции
Шаг 1: Подготовьте конфигурацию
Перейдите в каталог проекта milvus-backup и создайте каталог с именем configs
:
mkdir configs
cd configs
Загрузите файл конфигурации резервного копирования backup.yaml:
wget https://raw.githubusercontent.com/zilliztech/milvus-backup/main/configs/backup.yaml
Структура файла выглядит следующим образом:
├── configs
│ └── backup.yaml
├── milvus-backup
└── README.md
Шаг 2: Редактирование файла конфигурации
Измените файл backup.yaml, чтобы установить соответствующие конфигурации дляmilvus_A
. Ниже приведен пример конфигурации хранилища:
# Related configuration of minio, which is responsible for data persistence for Milvus.
minio:
# cloudProvider: "minio" # deprecated use storageType instead
storageType: "minio" # support storage type: local, minio, s3, aws, gcp, ali(aliyun), azure, tc(tencent)
address: localhost # Address of MinIO/S3
port: 9000 # Port of MinIO/S3
accessKeyID: minioadmin # accessKeyID of MinIO/S3
secretAccessKey: minioadmin # MinIO/S3 encryption string
useSSL: false # Access to MinIO/S3 with SSL
useIAM: false
iamEndpoint: ""
bucketName: "bucket_A" # Milvus Bucket name in MinIO/S3, make it the same as your milvus instance
rootPath: "files" # Milvus storage root path in MinIO/S3, make it the same as your milvus instance
# only for azure
backupAccessKeyID: minioadmin # accessKeyID of MinIO/S3
backupSecretAccessKey: minioadmin # MinIO/S3 encryption string
backupBucketName: "bucket_A" # Bucket name to store backup data. Backup data will store to backupBucketName/backupRootPath
backupRootPath: "backup" # Rootpath to store backup data. Backup data will store to backupBucketName/backupRootPath
Шаг 3: Создание резервной копии
После сохранения файла backup.yaml создайте резервную копию с именем my_backup
:
./milvus-backup create -c coll -n my_backup
Эта команда создает резервную копию bucket_A/backup/my_backup
в объектном хранилище milvus_A
.
Восстановление из резервной копии в milvus_A
После создания резервной копии можно восстановить из нее с помощью следующей команды:
./milvus-backup restore -c coll -n my_backup -s _bak
Эта команда восстанавливает из резервной копии и создает новую коллекцию с именем coll_bak в milvus_A
, с данными, хранящимися в bucket_A/files/insert_log/[ID of new collection]
.