🚀 Essayez Zilliz Cloud, la version entièrement gérée de Milvus, gratuitement—découvrez des performances 10x plus rapides ! Essayez maintenant>>

milvus-logo
LFAI
  • Home
  • Blog
  • Comment utiliser l'outil de sauvegarde Milvus : Un guide étape par étape

Comment utiliser l'outil de sauvegarde Milvus : Un guide étape par étape

  • Engineering
September 27, 2024
Michael Mo

Milvus est une base de données vectorielle open-source, très performante et hautement évolutive, capable de stocker, d'indexer et de rechercher des données non structurées à l'échelle du milliard par le biais d'encastrements vectoriels à haute dimension. Elle est parfaite pour construire des applications modernes d'IA telles que la génération augmentée de recherche(RAG), la recherche sémantique, la recherche multimodale et les systèmes de recommandation. Milvus fonctionne efficacement dans divers environnements, des ordinateurs portables aux systèmes distribués à grande échelle. Il est disponible sous la forme d'un logiciel libre et d'un service en nuage.

Milvus Backup est un outil de sauvegarde et de restauration des données Milvus. Il fournit à la fois une interface CLI et une API pour s'adapter à différents scénarios d'application. Ce guide vous guidera tout au long du processus d'utilisation de Milvus Backup, afin que vous puissiez répondre en toute confiance à vos besoins en matière de sauvegarde.

Préparation

Avant de commencer le processus de sauvegarde ou de restauration, vous devez configurer votre environnement :

1. Téléchargez le dernier binaire à partir des versions du référentiel Milvus-backup. Sélectionnez la version appropriée pour votre système d'exploitation :

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

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

2. Télécharger le fichier de configuration depuis GitHub.

3. Extrayez le fichier tar dans le répertoire de votre choix et placez le fichier backup.yaml dans le répertoire configs/ à l'intérieur du même dossier extrait. Assurez-vous que la structure de votre répertoire se présente comme suit :

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

Vue d'ensemble des commandes

Accédez à votre terminal et familiarisez-vous avec les commandes de l'outil :

1. Aide générale: Tapez milvus-backup help pour afficher les commandes et les drapeaux disponibles.

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. Création d'une sauvegarde: Obtenez une aide spécifique pour la création d'une sauvegarde en tapant 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. Restauration d'une sauvegarde: Pour comprendre comment restaurer une sauvegarde, utilisez 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

Cas d'utilisation de la sauvegarde/restauration

Il existe plusieurs cas d'utilisation dans lesquels l'outil milvus-backup peut être utilisé efficacement, en fonction de vos besoins et configurations spécifiques :

  1. Au sein d'une instance unique de Milvus : Copier une collection dans une nouvelle collection au sein du même service Milvus.

  2. Entre les instances Milvus dans un seul S3 avec un seul Bucket : Transférer une collection entre des instances Milvus ayant des chemins d'accès différents mais utilisant le même bac S3.

  3. Entre des instances Milvus à travers différents seaux S3 : Transférer une collection entre différents buckets S3 au sein du même service S3.

  4. Entre différents services S3 : Copier une collection entre des instances Milvus qui utilisent différents services S3.

Examinons chaque cas d'utilisation en détail.

Cas d'utilisation 1 : Sauvegarde et restauration au sein d'une instance Milvus

Sauvegarde et restauration d'une collection au sein de la même instance Milvus. Supposons qu'une collection nommée "coll" soit sauvegardée et restaurée en tant que "coll_bak" à l'aide du même seau S3.

Configuration :

  • Milvus utilise le site bucket_A pour le stockage.

  • Configuration 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

Flux de travail de sauvegarde

1. Configurer backup.yaml pour diriger Milvus et MinIO vers les emplacements corrects.

# 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. Créez une sauvegarde à l'aide de la commande.

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

Cette commande place la sauvegarde dans bucket_A/backup/my_backup.

3. Restaurer la sauvegarde dans une nouvelle collection.

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

Ceci restaure "coll" en tant que "coll_bak" dans la même instance Milvus.

Figure: The Backup and Restore Workflow Within One Milvus Instance Figure : Le flux de travail de sauvegarde et de restauration au sein d'une instance Milvus

Figure : Le processus de sauvegarde et de restauration au sein d'une instance Milvus

Cas d'utilisation 2 : Sauvegarde et restauration entre deux instances Milvus partageant un Bucket S3

Sauvegarder une collection à partir d'une instance Milvus et la restaurer dans une autre à l'aide du même bac S3 mais avec des chemins d'accès différents. En supposant qu'il existe une collection nommée "coll" dans l'instance Milvus_A, nous la sauvegardons et la restaurons dans une nouvelle collection nommée "coll_bak" dans l'instance Milvus_B. Les deux instances Milvus partagent le même seau "bucket_A" en tant que stockage, mais elles ont des chemins d'accès différents.

Configuration

  • Milvus A utilise files_A comme chemin racine.

  • Milvus B utilise files_B comme chemin racine.

  • Configuration MinIO pour 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
  • Configuration MinIO pour 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

Flux de travail de sauvegarde

1. Configuration de la sauvegarde pour 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. Exécuter la commande de sauvegarde :

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

3. Restauration de la configuration pour Milvus B

Modifier backup.yaml pour qu'il pointe vers Milvus B et ajuster le chemin racine de 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. Exécutez la commande de restauration :

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

Figure: The Backup and Restore Workflow Between Two Milvus Instances Sharing One S3 Bucket Figure : Le flux de travail de sauvegarde et de restauration entre deux instances Milvus partageant un Bucket S3

Cas d'utilisation 3 : Sauvegarde et restauration entre deux instances Milvus dans un seul S3, avec des bacs différents

Sauvegarder une collection à partir d'une instance Milvus (Milvus_A) et la restaurer vers une autre instance Milvus (Milvus_B) dans le même service S3, mais en utilisant des buckets différents.

Configuration :

  • Milvus utilise le site bucket_A pour le stockage.

  • Configuration MinIO pour 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
  • Configuration MinIO pour 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

Flux de travail de sauvegarde et de restauration

1. Configuration de la sauvegarde pour 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. Exécutez la commande de sauvegarde :

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

3. Restauration de la configuration pour 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. Exécuter la commande de restauration :

./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 Figure : Le flux de travail de sauvegarde et de restauration entre deux instances de Milvus dans un S3, différents buckets

Figure : Le flux de travail de sauvegarde et de restauration entre deux instances de Milvus dans un S3, différents bacs

Cas d'utilisation 4 : Sauvegarde et restauration entre deux instances Milvus dans différents services S3

Faciliter la sauvegarde d'une collection nommée "coll" depuis Milvus_A à l'aide d'un service S3 (MinIO_A) et la restaurer dans Milvus_B à l'aide d'un service S3 différent (MinIO_B), chaque instance utilisant des godets de stockage différents.

Configuration

  • Configuration MinIO pour 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
  • Configuration MinIO pour 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

Processus de sauvegarde et de restauration

1. Configuration de la sauvegarde pour 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. Exécuter la commande de sauvegarde :

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

3. Transférer la sauvegarde

Copier manuellement la sauvegarde de minio_A:bucket_A/backup/my_backup à minio_B:bucket_B/backup/my_backup à l'aide d'un outil ou d'un SDK compatible S3.

4. Restaurer la configuration pour 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. Exécuter la commande de restauration :

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

Figure: The Backup and Restore Workflow Between Two Milvus Instances Across Different S3 Services Figure : Le flux de travail de sauvegarde et de restauration entre deux instances Milvus sur différents services S3

Figure : Le flux de travail de sauvegarde et de restauration entre deux instances Milvus à travers différents services S3

Explication du fichier de configuration

Modifiez le fichier configs/backup.yaml pour adapter les paramètres de sauvegarde à votre environnement. Voici un aperçu des options de configuration :

Journalisation: Configurer les niveaux de journalisation et les préférences de sortie.

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

Connexion Milvus: Définissez les détails de la connexion pour votre instance 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"

Configuration MinIO: Définir comment les sauvegardes interagissent avec MinIO ou un autre stockage compatible 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

Conclusion

L'outil Milvus Backup fournit une solution robuste pour sauvegarder et restaurer les collections au sein des instances Milvus et entre elles. Que vous gériez des sauvegardes au sein d'une seule instance, entre des instances du même service S3 ou entre différents services S3, milvus-backup gère tout cela avec souplesse et précision.

Points clés à retenir

  1. Polyvalence : Milvus-backup prend en charge de nombreux scénarios, des simples sauvegardes intra-instance aux restaurations complexes entre services.

  2. Flexibilité de la configuration : En configurant le fichier backup.yaml de manière appropriée, les utilisateurs peuvent personnaliser les processus de sauvegarde et de restauration pour répondre à des besoins spécifiques, en s'adaptant à différentes configurations de stockage et de réseau.

  3. Sécurité et contrôle : La manipulation directe des buckets et des chemins S3 permet de contrôler le stockage et la sécurité des données, en s'assurant que les sauvegardes sont à la fois sûres et accessibles uniquement aux utilisateurs autorisés.

Une gestion efficace des données est essentielle pour exploiter tout le potentiel de Milvus dans vos applications. En maîtrisant l'outil de sauvegarde Milvus, vous pouvez garantir la durabilité et la disponibilité des données, même dans des environnements distribués complexes. Ce guide permet aux utilisateurs de mettre en œuvre des stratégies de sauvegarde robustes, en promouvant les meilleures pratiques et des techniques de traitement des données efficaces.

Que vous soyez développeur, ingénieur en données ou professionnel de l'informatique, la compréhension et l'utilisation de l'outil de sauvegarde Milvus peuvent contribuer de manière significative à la réussite de votre projet en fournissant des solutions de gestion des données fiables et efficaces.

Like the article? Spread the word

Continuer à Lire