🚀 Zilliz Cloudを無料で試す、完全管理型のMilvus—10倍の高速パフォーマンスを体験しよう!今すぐ試す>>

milvus-logo
LFAI
フロントページへ
  • ツール

バケットをまたいだインスタンス間の移行

このトピックでは、あるMilvusインスタンスからコレクションをバックアップし、別のインスタンスにリストアするプロセスについて説明します。

概要

以下の図は、同じオブジェクトストレージ内の異なるバケットを使用したバックアップとリストアのプロセスを示しています。

cross-bucket-backup-and-restore.png クロスバケットバックアップ&リストア.png

オブジェクトストレージにデフォルトのMinIOストレージエンジンを使用する2つのMilvusインスタンス、milvus_Amilvus_B があるとします。これらのインスタンスは、同じオブジェクトストレージ内で異なるバケット bucket_A とbucket_B を使用しています。この例では、以下のタスクを完了することが目標です:

  1. コレクションcoll のバックアップ(my_backup )をbucket_A に作成し、そのバックアップをbucket_B に保存します。

  2. bucket_B で、バックアップからリストアし、リストアされたコレクションにcoll_bak という名前を付けます。

前提条件

  • milvus-backupツールがインストールされていることを確認してください。

  • milvusオブジェクトストレージの設定に慣れていること。 詳細については、オブジェクトストレージを参照してください。

milvus_Aからのコレクションのバックアップ

ステップ1: 設定の準備

milvus-backupプロジェクトのディレクトリに移動し、configsというディレクトリを作成します:

mkdir configs
cd configs

バックアップコンフィグファイルbackup.yaml をダウンロードします:

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

ファイル構造は以下のようになります:

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

ステップ2:コンフィギュレーションファイルの編集

backup.yaml ファイルを修正して、milvus_A に適切なコンフィギュレーションを設定します:

  • 接続設定

    # 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:milvus_A サーバーの IP アドレスまたはホスト名。

    • milvus.port:MilvusサーバがリッスンしているTCPポート(デフォルト19530)。

  • ストレージ設定(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:milvus_Aこの例では、bucket_A に設定する。

  • minio.rootPath:milvus_A のデータが保存されるバケット内のルートパス。この例ではfiles に設定。

  • minio.backupBucketName:milvus_B のバックアップ保存に使われるバケツの名前。この例では、milvus_Amilvus_B は異なるバケットを使用しています。したがって、bucket_B.

  • minio.backupRootPath:milvus_Bこの例では、backup に設定します。

ステップ3:バックアップの作成

backup.yamlが保存されたら、my_backup という名前のバックアップを作成する:

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

このコマンドは、コレクションcollのオブジェクトストレージにバックアップbucket_B/backup/my_backup を作成します。

バックアップをmilvus_Bにリストアします。

ステップ1:リストア設定の構成

ステップ2を繰り返して、milvus_B にリストアするためのコンフィグを変更します。minio.bucketNamebucket_B に設定されていることを確認します。

以下は設定例です:

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

ステップ2:バックアップのリストア

バックアップをmilvus_B にリストアします:

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

このコマンドは、milvus_Bcoll_bak という新しいコレクションにバックアップをリストアし、データは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
フィードバック

このページは役に立ちましたか ?