🚀 Experimente o Zilliz Cloud, o Milvus totalmente gerenciado, gratuitamente—experimente um desempenho 10x mais rápido! Experimente Agora>>

milvus-logo
LFAI
  • Home
  • Blog
  • Como utilizar a ferramenta de cópia de segurança Milvus: Um guia passo-a-passo

Como utilizar a ferramenta de cópia de segurança Milvus: Um guia passo-a-passo

  • Engineering
September 27, 2024
Michael Mo

O Milvus é uma base de dados vetorial de código aberto, de elevado desempenho e altamente escalável, que pode armazenar, indexar e pesquisar dados não estruturados à escala de milhares de milhões através de incorporação de vectores de elevada dimensão. É perfeita para a criação de aplicações modernas de IA, como a geração aumentada de recuperação(RAG), a pesquisa semântica, a pesquisa multimodal e os sistemas de recomendação. O Milvus funciona de forma eficiente em vários ambientes, desde computadores portáteis a sistemas distribuídos em grande escala. Está disponível como software de código aberto e como um serviço de nuvem.

O Milvus Backup é uma ferramenta para efetuar cópias de segurança e restaurar dados do Milvus. Fornece CLI e API para acomodar diferentes cenários de aplicação. Este guia irá guiá-lo através do processo de utilização do Milvus Backup, assegurando que pode lidar com confiança com as suas necessidades de cópia de segurança.

Preparação

Antes de iniciar o processo de cópia de segurança ou de restauro, é necessário configurar o seu ambiente:

1. Descarregue o binário mais recente das versões do repositório Milvus-backup. Selecione a versão apropriada para o seu sistema operativo:

  • Para macOS: milvus-backup_Darwin_arm64.tar.gz ou milvus-backup_Darwin_x86_64.tar.gz

  • Para Linux: milvus-backup_Linux_arm64.tar.gz ou milvus-backup_Linux_x86_64.tar.gz

2. Descarregue o ficheiro de configuração a partir do GitHub.

3. Extraia o arquivo tar para o diretório de sua preferência e coloque o backup.yaml no diretório configs/ dentro da mesma pasta extraída. Certifique-se de que a estrutura de diretórios seja exibida da seguinte forma:

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

Visão geral do comando

Navegue até o seu terminal e familiarize-se com os comandos da ferramenta:

1. Ajuda geral: Digite milvus-backup help para visualizar os comandos e sinalizadores disponíveis.

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. Criar uma cópia de segurança: Obtenha ajuda específica para criar uma cópia de segurança, digitando 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. Restaurar um backup: Para saber como restaurar uma cópia de segurança, utilize 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

Casos de uso de backup/restauração

Existem vários casos de uso em que a ferramenta milvus-backup pode ser aplicada de forma eficaz, dependendo de suas necessidades e configurações específicas:

  1. Dentro de uma única instância do Milvus: Copiar uma coleção para uma nova coleção dentro do mesmo serviço Milvus.

  2. Entre instâncias Milvus num único S3 com um único Bucket: Transferir uma coleção entre instâncias do Milvus com caminhos de raiz diferentes, mas usando o mesmo bucket S3.

  3. Entre instâncias do Milvus em diferentes buckets do S3: Transferir uma coleção entre diferentes buckets S3 dentro do mesmo serviço S3.

  4. Entre diferentes serviços S3: Copiar uma coleção entre instâncias Milvus que estão a usar diferentes serviços S3.

Vamos explorar cada caso de uso em detalhes.

Caso de uso 1: Backup e restauração dentro de uma instância Milvus

Efetuar uma cópia de segurança e restaurar uma coleção dentro da mesma instância Milvus. Suponha que uma coleção denominada "coll" é objeto de uma cópia de segurança e restaurada como "coll_bak" utilizando o mesmo contentor S3.

Configuração:

  • O Milvus utiliza o bucket_A para armazenamento.

  • Configuração do 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

Fluxo de trabalho de backup

1. Configurar backup.yaml para apontar o Milvus e o MinIO para as localizações corretas.

# 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. Crie um backup usando o comando.

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

Este comando coloca a cópia de segurança em bucket_A/backup/my_backup.

3. Restaurar a cópia de segurança para uma nova coleção.

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

Isto restaura "coll" como "coll_bak" dentro da mesma instância do Milvus.

Figure: The Backup and Restore Workflow Within One Milvus Instance Figura: O fluxo de trabalho de backup e restauração dentro de uma instância do Milvus

Figura: O fluxo de trabalho de backup e restauração dentro de uma instância Milvus

Caso de uso 2: Backup e restauração entre duas instâncias do Milvus que compartilham um bucket S3

Fazer backup de uma coleção de uma instância Milvus e restaurá-la para outra usando o mesmo bucket S3, mas com caminhos de raiz diferentes. Supondo que há uma coleção chamada "coll" no milvus_A, fazemos o backup e restauramos para uma nova coleção chamada "coll_bak" no milvus_B. As duas instâncias do Milvus partilham o mesmo bucket "bucket_A" como armazenamento, mas têm caminhos de raiz diferentes.

Configuração

  • Milvus A utiliza files_A como caminho de raiz.

  • Milvus B usa files_B como caminho de raiz.

  • Configuração do MinIO para 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
  • Configuração MinIO para 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

Fluxo de trabalho de cópia de segurança

1. Configuração de Backup para 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. Executar o comando de backup:

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

3. Restaurar a configuração para Milvus B

Modifique backup.yaml para apontar para o Milvus B e ajuste o caminho da raiz do 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. Executar o comando de restauro:

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

Figure: The Backup and Restore Workflow Between Two Milvus Instances Sharing One S3 Bucket Figura: O fluxo de trabalho de backup e restauração entre duas instâncias do Milvus que compartilham um bucket S3

Caso de utilização 3: Cópia de segurança e restauro entre duas instâncias Milvus num S3, com diferentes buckets

Efetuar o backup de uma coleção a partir de uma instância Milvus (Milvus_A) e restaurá-la para outra instância Milvus (Milvus_B) no mesmo serviço S3, mas utilizando buckets diferentes.

Configuração:

  • O Milvus usa o bucket_A para armazenamento.

  • Configuração de MinIO para 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
  • Configuração do MinIO para o 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

Fluxo de trabalho de backup e restauração

1. Configuração de Backup para 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. Executar o comando de backup:

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

3. Restaurar a configuração do 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. Executar o comando restore:

./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 Figura: O fluxo de trabalho de backup e restauração entre duas instâncias do Milvus em um S3, em diferentes buckets

Figura: O fluxo de trabalho de backup e restauração entre duas instâncias do Milvus em um S3, em compartimentos diferentes

Caso de uso 4: Backup e restauração entre duas instâncias do Milvus em diferentes serviços S3

Para facilitar a cópia de segurança de uma coleção denominada "coll" do Milvus_A utilizando um serviço S3 (MinIO_A) e restaurá-la no Milvus_B utilizando um serviço S3 diferente (MinIO_B), com cada instância a utilizar diferentes buckets de armazenamento.

Configuração

  • Configuração do MinIO para o 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
  • Configuração do MinIO para o 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

Fluxo de trabalho de backup e restauração

1. Configuração de backup para 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. Executar o comando de backup:

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

3. Transferir a cópia de segurança

Copie manualmente a cópia de segurança de minio_A:bucket_A/backup/my_backup para minio_B:bucket_B/backup/my_backup utilizando uma ferramenta compatível com S3 ou SDK.

4. Restaurar a configuração do 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. Executar o comando de restauro:

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

Figure: The Backup and Restore Workflow Between Two Milvus Instances Across Different S3 Services Figura: O fluxo de trabalho de backup e restauração entre duas instâncias do Milvus em diferentes serviços S3

Figura: O fluxo de trabalho de backup e restauração entre duas instâncias do Milvus em diferentes serviços S3

Explicação do ficheiro de configuração

Edite o ficheiro configs/backup.yaml para adaptar as definições de cópia de segurança ao seu ambiente. Aqui está uma análise das opções de configuração:

Registo: Configurar os níveis de registo e as preferências de saída.

# 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"

Ligação Milvus: Defina os detalhes da conexão para sua instância do 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"

Configuração do MinIO: Defina como os backups interagem com o MinIO ou outro armazenamento compatível com 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

Conclusão

A ferramenta Milvus Backup fornece uma solução robusta para efetuar cópias de segurança e restaurar colecções dentro e entre instâncias Milvus. Quer esteja a gerir backups dentro de uma única instância, entre instâncias no mesmo serviço S3, ou entre diferentes serviços S3, milvus-backup trata de tudo com flexibilidade e precisão.

Principais lições

  1. Versatilidade: O milvus-backup suporta vários cenários, desde simples backups intra-instância até complexas restaurações entre serviços.

  2. Flexibilidade de configuração: Ao configurar adequadamente o ficheiro backup.yaml, os utilizadores podem personalizar os processos de backup e restauro de acordo com necessidades específicas, acomodando diferentes configurações de armazenamento e de rede.

  3. Segurança e controlo: A manipulação direta dos buckets e caminhos do S3 permite o controlo do armazenamento e da segurança dos dados, garantindo que as cópias de segurança são seguras e acessíveis apenas a utilizadores autorizados.

A gestão eficaz dos dados é crucial para tirar partido de todo o potencial do Milvus nas suas aplicações. Ao dominar a ferramenta de backup Milvus, é possível garantir a durabilidade e disponibilidade dos dados, mesmo em ambientes distribuídos complexos. Este guia permite aos utilizadores implementar estratégias de backup robustas, promovendo as melhores práticas e técnicas eficientes de tratamento de dados.

Quer seja um programador, um engenheiro de dados ou um profissional de TI, compreender e utilizar a ferramenta Milvus-backup pode contribuir significativamente para o sucesso do seu projeto, fornecendo soluções de gestão de dados fiáveis e eficientes.

Like the article? Spread the word

Continue Lendo