Sauvegarde et restauration dans une instance
Cette rubrique détaille le processus de sauvegarde d'une collection et de restauration à partir de la sauvegarde dans la même instance Milvus.
Vue d'ensemble
Le diagramme ci-dessous illustre le processus de sauvegarde et de restauration au sein d'une instance unique de Milvus.
single-instance-backup-and-restore.png
Supposons que nous ayons une instance Milvus, milvus_A
, qui utilise un godet nommébucket_A
pour le stockage des données. Dans cet exemple, notre objectif est de réaliser les tâches suivantes :
Créer une sauvegarde (
my_backup
) pour la collection coll dansbucket_A
.Restaurer à partir de la sauvegarde et nommer la collection restaurée
coll_bak
.
Conditions préalables
S'assurer que l'outil milvus-backup est installé.
Se familiariser avec la configuration des paramètres de stockage d'objets Milvus. Pour plus de détails, voir Stockage d'objets.
Sauvegarde de la collection
Etape 1 : Préparer la configuration
Aller dans le répertoire du projet milvus-backup et créer un répertoire nommé configs
:
mkdir configs
cd configs
Téléchargez le fichier de configuration de sauvegarde backup.yaml :
wget https://raw.githubusercontent.com/zilliztech/milvus-backup/main/configs/backup.yaml
La structure du fichier ressemble à ceci :
├── configs
│ └── backup.yaml
├── milvus-backup
└── README.md
Étape 2 : Éditer le fichier de configuration
Modifiez le fichier backup.yaml pour définir les configurations appropriées pourmilvus_A
. Vous trouverez ci-dessous un exemple de configuration de stockage :
# 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
Étape 3 : Création d'une sauvegarde
Une fois le fichier backup.yaml sauvegardé, créez une sauvegarde nommée my_backup
:
./milvus-backup create -c coll -n my_backup
Cette commande crée la sauvegarde bucket_A/backup/my_backup
dans le stockage d'objets de milvus_A
.
Restauration à partir de la sauvegarde dans milvus_A
Une fois la sauvegarde créée, vous pouvez la restaurer à l'aide de la commande ci-dessous :
./milvus-backup restore -c coll -n my_backup -s _bak
Cette commande restaure la sauvegarde et crée une nouvelle collection nommée coll_bak dans milvus_A
, avec des données stockées dans bucket_A/files/insert_log/[ID of new collection]
.