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

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

つのバケット内のインスタンス間の移行(異なるルートパス)

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

概要

以下の図は、共有バケットを使用したバックアップとリストアのプロセスを示しています。

shared-bucket-backup-and-restore.png 共有バケットバックアップ・リストア.png

Milvusインスタンス、milvus_Amilvus_B があり、どちらもオブジェクトストレージにデフォルトのMinIOストレージエンジンを使用しているとします。これらのインスタンスは、bucket_A という同じバケットを共有していますが、milvus_Afiles_Amilvus_B は files_B という異なるルートパスにデータを保存しています。この例では、以下のタスクを完了することが目標です:

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

  2. バックアップからリストアして、milvus_B の files_B に格納します。

前提条件

  • 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: 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:milvus_A ストレージに使用するバケット名。この例ではbucket_A とする。

    • minio.rootPath:milvus_A のデータが保存されるバケット内のルートパス。この例ではfiles_A とします。

    • minio.backupBucketName:保存に使うバケツの名前。この例では、milvus_Amilvus_B がバケツを共有している。したがって、bucket_A.

    • minio.backupRootPath:milvus_Bこの例では、milvus_A と異なるパスを使用するため、backup に設定します。

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

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

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

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

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

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

milvus_B minio.bucketName が に設定され、 が に設定され、2つのインスタンス間でストレージの場所が区別されるようにします。bucket_A minio.rootPath files_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: 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
  ...

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

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

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

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

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