🚀 Prueba Zilliz Cloud, el Milvus completamente gestionado, gratis—¡experimenta un rendimiento 10 veces más rápido! Prueba Ahora>>

milvus-logo
LFAI
Home
  • Herramientas

Migración entre instancias a través de cubos

Este tema detalla el proceso de hacer una copia de seguridad de una colección desde una instancia de Milvus y restaurarla en otra, con cada instancia utilizando diferentes cubos dentro del mismo almacenamiento de objetos.

Visión general

El siguiente diagrama ilustra el proceso de copia de seguridad y restauración utilizando diferentes buckets dentro del mismo almacenamiento de objetos.

cross-bucket-backup-and-restore.png cross-bucket-backup-and-restore.png

Supongamos que tenemos dos instancias Milvus, milvus_A y milvus_B, ambas utilizando el motor de almacenamiento predeterminado MinIO para el almacenamiento de objetos. Estas instancias utilizan diferentes buckets bucket_A y bucket_B dentro del mismo almacenamiento de objetos. En este ejemplo, nuestro objetivo es completar las siguientes tareas:

  1. Crear una copia de seguridad (my_backup) para la colección coll en bucket_A y almacenar la copia de seguridad en bucket_B.

  2. En bucket_B, restaurar desde la copia de seguridad y nombrar la colección restaurada coll_bak.

Requisitos previos**

Copia de seguridad de una colección desde milvus_A

Paso 1: Preparar la configuración

Vaya al directorio del proyecto milvus-backup y cree un directorio llamado configs:

mkdir configs
cd configs

Descargue el archivo config de copia de seguridad backup.yaml:

wget https://raw.githubusercontent.com/zilliztech/milvus-backup/main/configs/backup.yaml

La estructura del archivo es la siguiente

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

Paso 2: Editar el archivo de configuración

Modifique el archivo backup.yaml para establecer las configuraciones adecuadas paramilvus_A:

  • Conexión configs

    # 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"
    
    • milvus.address: Dirección IP o nombre de host del servidor milvus_A.

    • milvus.port: Puerto TCP en el que escucha el servidor Milvus (por defecto 19530).

  • Configuración del almacenamiento (ajustes MinIO/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: "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
    
  • minio.bucketName: Nombre del bucket utilizado para el almacenamiento de datos en milvus_A. En este ejemplo, se establece en bucket_A.

  • minio.rootPath: Ruta raíz dentro del cubo donde se almacenan los datos de milvus_A. En este ejemplo, se establece en files.

  • minio.backupBucketName: Nombre del bucket utilizado para el almacenamiento de copias de seguridad enmilvus_B. En este ejemplo, milvus_A y milvus_B utilizan cubos diferentes. Por lo tanto, establezca bucket_B.

  • minio.backupRootPath: Ruta raíz dentro del cubo designado para almacenar los archivos de copia de seguridad en milvus_B. En este ejemplo, defínala como backup.

Paso 3: Creación de la copia de seguridad

Una vez guardado backup.yaml, cree una copia de seguridad denominada my_backup:

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

Este comando crea la copia de seguridad bucket_B/backup/my_backup en el almacenamiento de objetos para la colección coll.

Restaurar la copia de seguridad en milvus_B

Paso 1: Configurar los ajustes de restauración

Repita el paso 2 para modificar las configuraciones para la restauración en milvus_B, asegurándose de que minio.bucketName se establece en bucket_B.

Aquí tiene un ejemplo de configuración:

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

Paso 2: Restaurar la copia de seguridad

Restaure la copia de seguridad en milvus_B:

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

Este comando restaura la copia de seguridad en una nueva colección denominada coll_bak en milvus_B, con los datos almacenados en bucket_B/files/insert_log/[ID of new collection].

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

¿Fue útil esta página?