🚀 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 en un cubo (rutas raíz diferentes)

Este tema detalla el proceso de hacer una copia de seguridad de una colección desde una instancia de Milvus y restaurarla en otra mientras se utiliza un cubo compartido para el almacenamiento de objetos, con rutas raíz distintas para cada instancia.

Visión general

El siguiente diagrama ilustra el proceso de copia de seguridad y restauración utilizando un cubo compartido.

shared-bucket-backup-and-restore.png shared-bucket-backup-and-restore.png

Supongamos que tenemos instancias Milvus, milvus_A y milvus_B, ambas utilizando el motor de almacenamiento predeterminado MinIO para el almacenamiento de objetos. Estas instancias comparten el mismo cubo, bucket_A, pero almacenan sus datos en diferentes rutas raíz: files_A para milvus_A y files_B para milvus_B. En este ejemplo, nuestro objetivo es completar las siguientes tareas:

  1. Crear una copia de seguridad (my_backup) para la colección coll que se almacena en la rutafiles_A para milvus_A.

  2. Restaurar a partir de la copia de seguridad y almacenarla en files_B para milvus_B.

Requisitos previos

  • Asegúrese de que la herramienta milvus-backup está instalada.

  • Familiarícese con la configuración del almacenamiento de objetos Milvus. Para obtener más información, consulte Almacenamiento de objetos.

Copia de seguridad de una colección de 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 de configuración 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: 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
    
    • minio.bucketName: Nombre del bucket utilizado para el almacenamiento 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, files_A.

    • minio.backupBucketName: Nombre del cubo utilizado para el almacenamiento. En este ejemplo, milvus_A y milvus_B comparten el cubo. Por lo tanto, establezcabucket_A.

    • minio.backupRootPath: Ruta raíz dentro del cubo designado para almacenar los archivos de copia de seguridad en milvus_B. En este ejemplo, utilice una ruta diferente de milvus_A. Por lo tanto, defínala como backup.

Paso 3: Crear copia de seguridad

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

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

Este comando crea la copia de seguridad bucket_A/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_A y minio.rootPath en files_B para distinguir las ubicaciones de almacenamiento entre las dos instancias.

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

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_A/files_B/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?