Backup e restauração em uma instância
Este tópico detalha o processo de fazer backup de uma coleção e restaurá-la a partir do backup dentro da mesma instância do Milvus.
Visão geral
O diagrama abaixo ilustra o processo de backup e restauração dentro de uma única instância do Milvus.
single-instance-backup-and-restore.png
Suponha que temos uma instância do Milvus, milvus_A
, usando um bucket chamadobucket_A
para armazenamento de dados. Neste exemplo, nosso objetivo é concluir as seguintes tarefas:
Criar uma cópia de segurança (
my_backup
) para a coleção coll embucket_A
.Restaurar a partir do backup e nomear a coleção restaurada
coll_bak
.
Pré-requisitos
Certifique-se de que a ferramenta milvus-backup esteja instalada.
Familiarize-se com a configuração das definições de armazenamento de objetos do Milvus. Para obter detalhes, consulte Armazenamento de objetos.
Fazer o backup da coleção
Etapa 1: Preparar a configuração
Aceda ao diretório do projeto milvus-backup e crie um diretório com o nome configs
:
mkdir configs
cd configs
Transfira o ficheiro de configuração da cópia de segurança backup.yaml:
wget https://raw.githubusercontent.com/zilliztech/milvus-backup/main/configs/backup.yaml
A estrutura do ficheiro é semelhante a esta:
├── configs
│ └── backup.yaml
├── milvus-backup
└── README.md
Passo 2: Editar o ficheiro de configuração
Modifique o ficheiro backup.yaml para definir as configurações apropriadas paramilvus_A
. Abaixo está o exemplo de configuração de armazenamento:
# 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
Etapa 3: Criar backup
Depois que o backup.yaml for salvo, crie um backup chamado my_backup
:
./milvus-backup create -c coll -n my_backup
Este comando cria a cópia de segurança bucket_A/backup/my_backup
no armazenamento de objectos de milvus_A
.
Restaurar a partir da cópia de segurança em milvus_A
Assim que a cópia de segurança for criada, pode restaurar a partir da mesma utilizando o comando abaixo:
./milvus-backup restore -c coll -n my_backup -s _bak
Este comando restaura a partir da cópia de segurança e cria uma nova coleção denominada coll_bak em milvus_A
, com dados armazenados em bucket_A/files/insert_log/[ID of new collection]
.