🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
  • Home
  • Blog
  • Как использовать инструмент резервного копирования Milvus: Пошаговое руководство

Как использовать инструмент резервного копирования Milvus: Пошаговое руководство

  • Engineering
September 27, 2024
Michael Mo

Milvus - это высокопроизводительная и масштабируемая векторная база данных с открытым исходным кодом, которая может хранить, индексировать и искать неструктурированные данные миллиардного масштаба с помощью высокоразмерных векторных вкраплений. Она идеально подходит для создания современных приложений искусственного интеллекта, таких как поиск с расширенными возможностями(RAG), семантический поиск, мультимодальный поиск и рекомендательные системы. Milvus эффективно работает в различных средах, от ноутбуков до крупных распределенных систем. Он доступен в виде программного обеспечения с открытым исходным кодом и облачного сервиса.

Milvus Backup - это инструмент для резервного копирования и восстановления данных Milvus. Он предоставляет как CLI, так и API для различных сценариев применения. В этом руководстве вы узнаете, как пользоваться Milvus Backup, и сможете уверенно справляться с задачами резервного копирования.

Подготовка

Прежде чем начать процесс резервного копирования или восстановления, необходимо настроить среду:

1. Загрузите последнюю версию бинарного файла из релизов репозитория Milvus-backup. Выберите подходящую версию для вашей операционной системы:

  • Для macOS: milvus-backup_Darwin_arm64.tar.gz или milvus-backup_Darwin_x86_64.tar.gz

  • Для Linux: milvus-backup_Linux_arm64.tar.gz или milvus-backup_Linux_x86_64.tar.gz

2. Загрузите файл конфигурации с GitHub.

3. Распакуйте tar-файл в нужную вам директорию и поместите backup.yaml в директорию configs/ в той же распакованной папке. Убедитесь, что структура каталогов выглядит следующим образом:

├── configs
│   └── backup.yaml
├── milvus-backup
└── README.md

Обзор команд

Перейдите в терминал и ознакомьтесь с командами инструмента:

1. Общая справка: Введите milvus-backup help, чтобы просмотреть доступные команды и флаги.

milvus-backup is a backup&restore tool for milvus.

Usage:
 milvus-backup [flags]
 milvus-backup [command]

Available Commands:
 check       check if the connects is right.
 create      create subcommand create a backup.
 delete      delete subcommand delete backup by name.
 get         get subcommand get backup by name.
 help        Help about any command
 list        list subcommand shows all backup in the cluster.
 restore     restore subcommand restore a backup.
 server      server subcommand start milvus-backup RESTAPI server.

Flags:
     --config string   config YAML file of milvus (default "backup.yaml")
 -h, --help            help for milvus-backup

Use "milvus-backup [command] --help" for more information about a command.

2. Создание резервной копии: Чтобы получить конкретную справку по созданию резервной копии, введите milvus-backup create --help.

Usage:
 milvus-backup create [flags]

Flags:
 -n, --name string                   backup name, if unset will generate a name automatically
 -c, --colls string                  collectionNames to backup, use ',' to connect multiple collections
 -d, --databases string              databases to backup
 -a, --database_collections string   databases and collections to backup, json format: {"db1":["c1", "c2"],"db2":[]}
 -f, --force                         force backup, will skip flush, should make sure data has been stored into disk when using it
     --meta_only                     only backup collection meta instead of data
 -h, --help                          help for create

3. Восстановление резервной копии: Чтобы понять, как восстановить резервную копию, используйте milvus-backup restore --help.

Usage:
 milvus-backup restore [flags]

Flags:
 -n, --name string                   backup name to restore
 -c, --collections string            collectionNames to restore
 -s, --suffix string                 add a suffix to collection name to restore
 -r, --rename string                 rename collections to new names, format: db1.collection1:db2.collection1_new,db1.collection2:db2.collection2_new
 -d, --databases string              databases to restore, if not set, restore all databases
 -a, --database_collections string   databases and collections to restore, json format: {"db1":["c1", "c2"],"db2":[]}
     --meta_only                     if true, restore meta only
     --restore_index                 if true, restore index
     --use_auto_index                if true, replace vector index with autoindex
     --drop_exist_collection         if true, drop existing target collection before create
     --drop_exist_index              if true, drop existing index of target collection before create
     --skip_create_collection        if true, will skip collection, use when collection exist, restore index or data
 -h, --help                          help for restore

Случаи использования резервного копирования/восстановления

Существует несколько вариантов использования инструмента milvus-backup, в которых он может быть эффективно применен, в зависимости от ваших конкретных потребностей и конфигураций:

  1. В рамках одного экземпляра Milvus: Копирование коллекции в новую коллекцию в рамках одной службы Milvus.

  2. Между экземплярами Milvus в одном S3 с одним ведром: Перенос коллекции между экземплярами Milvus с разными корневыми путями, но с использованием одного ведра S3.

  3. Между экземплярами Milvus в разных ведрах S3: Передача коллекции между разными ведрами S3 в рамках одной службы S3.

  4. Между разными службами S3: Копирование коллекции между экземплярами Milvus, использующими разные службы S3.

Давайте рассмотрим каждый вариант использования подробнее.

Пример 1: Резервное копирование и восстановление в рамках одного экземпляра Milvus

Резервное копирование и восстановление коллекции в рамках одного экземпляра Milvus. Предположим, что коллекция с именем "coll" резервируется и восстанавливается как "coll_bak" с использованием одного и того же ведра S3.

Конфигурация:

  • Milvus использует bucket_A для хранения данных.

  • Конфигурация MinIO:

minio:
 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
 ssl:
   tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
 bucketName: bucket_A # Bucket name in MinIO/S3
 rootPath: files # The root path where the message is stored in MinIO/S3

Рабочий процесс резервного копирования

1. Настройте backup.yaml, чтобы указать Milvus и MinIO на правильные места.

# 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

2. Создайте резервную копию с помощью команды.

./milvus-backup create -c coll -n my_backup

Эта команда помещает резервную копию в bucket_A/backup/my_backup.

3. Восстановите резервную копию в новую коллекцию.

./milvus-backup restore -c coll -n my_backup -s _bak

При этом "coll" восстанавливается как "coll_bak" в том же экземпляре Milvus.

Figure: The Backup and Restore Workflow Within One Milvus Instance Рисунок: Рабочий процесс резервного копирования и восстановления в одном экземпляре Milvus

Рисунок: Рабочий процесс резервного копирования и восстановления в одном экземпляре Milvus

Пример использования 2: Резервное копирование и восстановление между двумя экземплярами Milvus, совместно использующими один ведро S3

Создайте резервную копию коллекции в одном экземпляре Milvus и восстановите ее в другом, используя один и тот же бакет S3, но с разными корневыми путями. Предположим, что в milvus_A есть коллекция с именем "coll", мы создаем резервную копию и восстанавливаем ее в новую коллекцию с именем "coll_bak" в milvus_B. Оба экземпляра Milvus используют одно и то же ведро "bucket_A" в качестве хранилища, но у них разные корневые пути.

Конфигурация

  • Milvus A использует files_A в качестве корневого пути.

  • Milvus B использует files_B в качестве корневого пути.

  • Конфигурация MinIO для Milvus A:

minio:
 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
 ssl:
   tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
 bucketName: bucket_A # Bucket name in MinIO/S3
 rootPath: files_A # The root path where the message is stored in MinIO/S3
  • Конфигурация MinIO для Milvus B:
minio:
 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
 ssl:
   tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
 bucketName: bucket_A # Bucket name in MinIO/S3
 rootPath: files_B # The root path where the message is stored in MinIO/S3

Рабочий процесс резервного копирования

1. Конфигурация резервного копирования для Milvus A

# milvus proxy address, compatible to milvus.yaml
milvus:
 address: milvus_A
 port: 19530
 authorizationEnabled: false
 # tls mode values [0, 1, 2]
 # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
 tlsMode: 0
 user: "root"
 password: "Milvus"
 # 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: milvus_A # 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_A" # 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

2. Выполните команду резервного копирования:

./milvus-backup create -c coll -n my_backup

3. Восстановление конфигурации для Milvus B

Измените backup.yaml так, чтобы он указывал на Milvus B, и настройте корневой путь MinIO:

# milvus proxy address, compatible to milvus.yaml
milvus:
 address: milvus_B
 port: 19530
 authorizationEnabled: false
 # tls mode values [0, 1, 2]
 # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
 tlsMode: 0
 user: "root"
 password: "Milvus"
 # 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: milvus_B # 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_B" # 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

4. Выполните команду восстановления:

./milvus-backup restore -c coll -n my_backup -s _bak

Figure: The Backup and Restore Workflow Between Two Milvus Instances Sharing One S3 Bucket Рисунок: Рабочий процесс резервного копирования и восстановления между двумя экземплярами Milvus, совместно использующими одно ведро S3

Пример 3: Резервное копирование и восстановление между двумя экземплярами Milvus в одном S3, но в разных ведрах

Резервное копирование коллекции из экземпляра Milvus (Milvus_A) и ее восстановление в другом экземпляре Milvus (Milvus_B) в рамках одной службы S3, но с использованием разных ведер.

Конфигурация:

  • Milvus использует bucket_A для хранения данных.

  • Конфигурация MinIO для Milvus A:

minio:
 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
 ssl:
   tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
 bucketName: bucket_A # Bucket name in MinIO/S3
 rootPath: files # The root path where the message is stored in MinIO/S3
  • Конфигурация MinIO для Milvus B:
minio:
 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
 ssl:
   tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
 bucketName: bucket_B # Bucket name in MinIO/S3
 rootPath: files # The root path where the message is stored in MinIO/S3

Рабочий процесс резервного копирования и восстановления

1. Конфигурация резервного копирования для Milvus A

# milvus proxy address, compatible to milvus.yaml
milvus:
 address: milvus_A
 port: 19530
 authorizationEnabled: false
 # tls mode values [0, 1, 2]
 # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
 tlsMode: 0
 user: "root"
 password: "Milvus"
 # 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_B" # 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

2. Выполните команду резервного копирования:

./milvus-backup create -c coll -n my_backup

3. Восстановление конфигурации для Milvus B

# milvus proxy address, compatible to milvus.yaml
milvus:
 address: milvus_B
 port: 19530
 authorizationEnabled: false
 # tls mode values [0, 1, 2]
 # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
 tlsMode: 0
 user: "root"
 password: "Milvus"
 # 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_B" # 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_B" # 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

4. Выполните команду восстановления:

./milvus-backup restore -c coll -n my_backup -s _bak

Figure: The Backup and Restore Workflow Between Two Milvus Instances in One S3, Different Buckets Рисунок: Рабочий процесс резервного копирования и восстановления между двумя экземплярами Milvus в одном S3, разные ведра

Рисунок: Рабочий процесс резервного копирования и восстановления между двумя экземплярами Milvus в одном S3, разные баки

Пример 4: Резервное копирование и восстановление между двумя экземплярами Milvus в разных службах S3

Резервное копирование коллекции с именем "coll" из Milvus_A с помощью одного сервиса S3 (MinIO_A) и восстановление ее в Milvus_B с помощью другого сервиса S3 (MinIO_B), причем каждый экземпляр использует разные ведра хранения.

Конфигурация

  • Конфигурация MinIO для Milvus A:
minio:
 address: minio_A # 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
 ssl:
   tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
 bucketName: bucket_A # Bucket name in MinIO/S3
 rootPath: files # The root path where the message is stored in MinIO/S3
  • Конфигурация MinIO для Milvus B
 minio:
 address: minio_B # 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
 ssl:
   tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
 bucketName: bucket_B # Bucket name in MinIO/S3
 rootPath: files # The root path where the message is stored in MinIO/S3

Рабочий процесс резервного копирования и восстановления

1. Конфигурация резервного копирования для Milvus A

# milvus proxy address, compatible to milvus.yaml
milvus:
 address: milvus_A
 port: 19530
 authorizationEnabled: false
 # tls mode values [0, 1, 2]
 # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
 tlsMode: 0
 user: "root"
 password: "Milvus"
 # 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: minio_A # 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

2. Выполните команду резервного копирования:

./milvus-backup create -c coll -n my_backup

3. Перенос резервной копии

Вручную скопируйте резервную копию с minio_A:bucket_A/backup/my_backup на minio_B:bucket_B/backup/my_backup с помощью инструмента или SDK, совместимого с S3.

4. Восстановление конфигурации для Milvus B

# milvus proxy address, compatible to milvus.yaml
milvus:
 address: milvus_B
 port: 19530
 authorizationEnabled: false
 # tls mode values [0, 1, 2]
 # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
 tlsMode: 0
 user: "root"
 password: "Milvus"
 # 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: minio_B # 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_B" # 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_B" # 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

5. Выполните команду восстановления:

./milvus-backup restore -c coll -n my_backup -s _bak

Figure: The Backup and Restore Workflow Between Two Milvus Instances Across Different S3 Services Рисунок: Рабочий процесс резервного копирования и восстановления между двумя экземплярами Milvus на разных сервисах S3

Рисунок: Рабочий процесс резервного копирования и восстановления между двумя экземплярами Milvus через разные службы S3

Пояснения к файлу конфигурации

Отредактируйте файл configs/backup.yaml, чтобы адаптировать настройки резервного копирования к вашей среде. Ниже приведена разбивка опций конфигурации:

Ведение журнала: Настройте уровни ведения журнала и параметры вывода.

# Configures the system log output.
log:
 level: info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
 console: true # whether print log to console
 file:
   rootPath: "logs/backup.log"

Подключение Milvus: Задайте параметры подключения для экземпляра Milvus.

# milvus proxy address, compatible to milvus.yaml
milvus:
 address: localhost
 port: 19530
 authorizationEnabled: false
 # tls mode values [0, 1, 2]
 # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
 tlsMode: 0
 user: "root"
 password: "Milvus"

Конфигурация MinIO: Определите, как резервные копии будут взаимодействовать с MinIO или другим S3-совместимым хранилищем.

# 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: "a-bucket" # 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: "a-bucket" # 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

Заключение

Инструмент Milvus Backup представляет собой надежное решение для резервного копирования и восстановления коллекций внутри и между экземплярами Milvus. Независимо от того, управляете ли вы резервным копированием в рамках одного экземпляра, между экземплярами в одном сервисе S3 или между разными сервисами S3, milvus-backup справится со всем гибко и точно.

Основные выводы

  1. Универсальность: Milvus-backup поддерживает множество сценариев, от простого резервного копирования внутри инстанса до сложных межсервисных восстановлений.

  2. Гибкость конфигурации: Настроив соответствующим образом файл backup.yaml, пользователи могут настроить процессы резервного копирования и восстановления в соответствии с конкретными потребностями, учитывая различные системы хранения и сетевые конфигурации.

  3. Безопасность и контроль: Прямое управление ведрами S3 и путями позволяет контролировать хранение и безопасность данных, обеспечивая сохранность резервных копий и доступ к ним только для авторизованных пользователей.

Эффективное управление данными имеет решающее значение для использования всего потенциала Milvus в ваших приложениях. Освоив инструмент резервного копирования Milvus, вы сможете обеспечить долговечность и доступность данных даже в сложных распределенных средах. Это руководство поможет пользователям реализовать надежные стратегии резервного копирования, пропагандируя лучшие практики и эффективные методы работы с данными.

Независимо от того, являетесь ли вы разработчиком, инженером по обработке данных или ИТ-специалистом, понимание и использование инструмента Milvus-backup может внести значительный вклад в успех вашего проекта, обеспечив надежные и эффективные решения по управлению данными.

Like the article? Spread the word

Продолжить чтение