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

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

S3環境をまたがるインスタンス間の移行

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

概要

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

multi-storage-backup-and-restore.png マルチストレージバックアップ・リストア.png

異なるオブジェクトストレージを使用する2つのMilvusインスタンス、milvus_Amilvus_B があると仮定します。この例では、以下のタスクを完了することを目標とします:

  1. milvus_A のオブジェクトストレージのbucket_A 内のコレクションcoll のバックアップ(my_backup)を作成する。

  2. バックアップ my_backup をmilvus_Bbucket_B に転送する。

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:コンフィギュレーションファイルの編集

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

  • 接続設定

    # 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: minio_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" # 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 に設定。

  • minio.backupBucketName:バックアップ用のバケット名。この例ではbucket_A とする。

  • minio.backupRootPath:milvus_B にバックアップファイルを保存するために指定されたバケット内のルートパス。 この例では、backup に設定します。

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

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

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

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

手動でバックアップをmilvus_Bに転送する。

milvus_Amilvus_B は異なるオブジェクトストレージを使用しているため、milvus_A のストレージから手動でバックアップをダウンロードし、milvus_B のストレージにアップロードする必要があります。

MinIOコンソールの使用

  1. MinIOコンソールにログインします。

  2. milvus_Aのminio.addressで指定されたバケットを見つけます。

  3. バケット内のバックアップファイルを選択します。

  4. ダウンロード]をクリックして、ファイルをマシンにダウンロードします。

mcクライアントの使用

mcクライアントを使用してバックアップファイルをダウンロードすることもできます:

  1. MinIOホストを設定します:
# configure a Minio host
mc alias set my_minio https://<minio_endpoint> <accessKey> <secretKey>
  1. 利用可能なバケットを一覧表示します:
# List the available buckets
mc ls my_minio
  1. バケットを再帰的にダウンロードします:
# Download a bucket recursively
mc cp --recursive my_minio/<your-bucket-path> <local_dir_path>

バックアップファイルのダウンロードが完了したら、milvus_B で使用するオブジェ クトストレージにアップロードして、将来のリストアに使用できます。または、バックアップをZilliz Cloudにアップロードして、データを含むマネージドベクターデータベースを作成することもできます。詳しくは、MilvusからZilliz Cloudへの移行をご参照ください。

バックアップから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: minio_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_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

bucket_B/files/insert_log/[ID of new collection] milvus_Bこのコマンドは、milvus_B の coll_bak という名前の新しいコレクションにバックアップをリストアします。

Try Managed Milvus for Free

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

Get Started
フィードバック

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