Backup e ripristino in un'istanza
Questo argomento illustra il processo di backup di una collezione e il suo ripristino dal backup all'interno della stessa istanza Milvus.
Panoramica
Il diagramma seguente illustra il processo di backup e ripristino all'interno di una singola istanza Milvus.
backup e ripristino di una singola istanza.png
Supponiamo di avere un'istanza Milvus, milvus_A
, che utilizza un bucket chiamatobucket_A
per l'archiviazione dei dati. In questo esempio, il nostro obiettivo è completare le seguenti operazioni:
Creare un backup (
my_backup
) per la raccolta coll inbucket_A
.Ripristinare dal backup e nominare la raccolta ripristinata
coll_bak
.
Prerequisiti
Assicurarsi che lo strumento milvus-backup sia installato.
Familiarizzare con la configurazione delle impostazioni di archiviazione degli oggetti di Milvus. Per i dettagli, consultare Archiviazione degli oggetti.
Eseguire il backup della raccolta
Passo 1: Preparare la configurazione
Andare nella directory del progetto milvus-backup e creare una directory denominata configs
:
mkdir configs
cd configs
Scaricare il file di configurazione del backup backup.yaml:
wget https://raw.githubusercontent.com/zilliztech/milvus-backup/main/configs/backup.yaml
La struttura del file è la seguente:
├── configs
│ └── backup.yaml
├── milvus-backup
└── README.md
Passo 2: Modifica del file di configurazione
Modificare il file backup.yaml per impostare le configurazioni appropriate permilvus_A
. Di seguito è riportato un esempio di configurazione dello storage:
# 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
Passo 3: Creare il backup
Una volta salvato il file backup.yaml, creare un backup denominato my_backup
:
./milvus-backup create -c coll -n my_backup
Questo comando crea il backup bucket_A/backup/my_backup
nell'archivio oggetti di milvus_A
.
Ripristino dal backup all'interno di milvus_A
Una volta creato il backup, è possibile ripristinarlo utilizzando il comando seguente:
./milvus-backup restore -c coll -n my_backup -s _bak
Questo comando ripristina dal backup e crea una nuova collezione denominata coll_bak in milvus_A
, con i dati memorizzati in bucket_A/files/insert_log/[ID of new collection]
.