メインコンテンツまでスキップ

バックアップファイル経由で Milvus から Zilliz Cloud に移行

Zilliz Cloud は、インフラを自分で管理することなく Milvus ベクトルデータベースを利用したいユーザー向けに、完全マネージドのクラウドホスト型ソリューションとして Milvus を提供します。このトピックでは、バックアップファイルを直接アップロードして Milvus から移行する方法について説明します。

開始する前に

次の前提条件が満たされていることを確認してください。

  • 移行方法に応じて、移行に必要な準備を行っていること。

    • From Local File: 事前にローカルのバックアップファイルを準備します。バックアップファイルの準備方法については、移行用のバックアップファイルを準備する を参照してください。

    • From Object Storage: Milvus オブジェクトストレージの公開 URL とアクセス認証情報を準備します。長期認証情報または一時認証情報を選択できます。オブジェクトストレージ URL の詳細な例については、FAQ を参照してください。

      📘Notes

      低レイテンシで安定した利用体験を確保するため、ターゲットクラスターと同じプロバイダーかつ同じリージョンのバケットまたは blob コンテナーを使用することを推奨します。

    • From Volume:

      • Managed volume: 非常に大きなローカルバックアップファイルの場合は、まずファイルを Zilliz Cloud の managed volume にアップロードし、その後そのボリューム内のファイルパスを指定します。

      • External volume: バックアップファイルがクラウドオブジェクトストレージバケット内にある場合は、そのバケットにマッピングする external volume を作成します。これにより、毎回認証情報を提供することなく、外部ボリュームから直接データを移行できます。

  • Organization Owner または Project Admin ロールが付与されていること。必要な権限がない場合は、Zilliz Cloud の Organization Owner に連絡してください。

  • ターゲットクラスターの CU サイズがソースデータを収容できることを確認してください。必要な CU サイズを見積もるには、calculator を使用してください。

移行用のバックアップファイルを準備する

Milvus 2.x の移行データを準備するには、

1

milvus-backup をダウンロードします。常に最新リリースを使用してください。

現在、Milvus 2.2 以降のバージョンから Zilliz Cloud クラスターへデータを移行できます。互換性のあるソースおよびターゲットの Milvus バージョンの詳細については、Milvus Backup Overview を参照してください。

2

ダウンロードしたバイナリと同じ階層に configs フォルダを作成し、backup.yamlconfigs フォルダにダウンロードします。

この手順が完了すると、ワークスペースフォルダの構成は次のようになります。

plaintext
workspace
├── milvus-backup
└── configs
└── backup.yaml
3

backup.yaml をカスタマイズします。

通常、このファイルをカスタマイズする必要はありません。ただし、先に進む前に、次の設定項目が正しいか確認してください。

yaml
...
# milvus proxy address, compatible to milvus.yaml
milvus:
address: localhost
port: 19530
...

# Related configuration of minio, which is responsible for data persistence for Milvus.
minio:
# Milvus storage configs, make them the same with milvus config
storageType: "minio" # support storage type: local, minio, s3, aws, gcp, ali(aliyun), azure, tc(tencent), gcpnative
# You can use "gcpnative" for the Google Cloud Platform provider. Uses service account credentials for authentication.
address: localhost # Address of MinIO/S3
port: 9000 # Port of MinIO/S3
bucketName: "a-bucket" # Milvus Bucket name in MinIO/S3, make it the same as your milvus instance
backupBucketName: "a-bucket" # Bucket name to store backup data. Backup data will store to backupBucketName/backupRootPath
rootPath: "files" # Milvus storage root path in MinIO/S3, make it the same as your milvus instance
...
📘📘 Notes
  • Docker Compose を使用してインストールした Milvus インスタンスでは、minio.bucketName のデフォルト値は a-bucketrootPath のデフォルト値は files です。

  • Kubernetes 上にインストールした Milvus インスタンスでは、minio.bucketName のデフォルト値は milvus-bucketrootPath のデフォルト値は file です。

4

Milvus インストールのバックアップを作成します。

plaintext
./milvus-backup --config backup.yaml create -n my_backup
5

バックアップファイルを取得します。

plaintext
./milvus-backup --config backup.yaml get -n my_backup
6

バックアップファイルを確認します。

  • minio.addressminio.port を S3 バケットに設定した場合、バックアップファイルはすでにその S3 バケットに保存されています。

  • minio.addressminio.port を Minio バケットに設定した場合は、Minio Console または mc クライアントを使用してダウンロードできます。

    • Minio Console からダウンロードするには、Minio Console にログインし、minio.address で指定されたバケットを見つけて、そのバケット内のファイルを選択し、Download をクリックしてダウンロードします。

    • mc クライアント を使用したい場合は、次の手順に従ってください。

      plaintext
      # configure a Minio host
      mc alias set my_minio https://<minio_endpoint> <accessKey> <secretKey>

      # List the available buckets
      mc ls my_minio

      # Download a file from the bucket
      mc cp --recursive my_minio/<your-bucket-path> <local_dir_path>
7

ダウンロードしたアーカイブを解凍し、backup フォルダの内容のみを Zilliz Cloud にアップロードします。

Zilliz Cloud にデータを移行する

バックアップファイルの準備ができたら、ローカルファイル、オブジェクトストレージ、またはボリュームからデータを移行できます。

📘Notes

ソースコレクションでフルテキスト検索がすでに有効になっている場合、Zilliz Cloud は移行後にその Function 設定をターゲットコレクションに保持します。これらの継承された設定は変更できません。

移行プロセスを監視する

Migrate をクリックすると、移行ジョブが生成されます。Jobs ページで移行の進行状況を確認できます。ジョブステータスが In Progress から Successful に変わると、移行は完了です。

📘Notes

移行後、ターゲットクラスター内のコレクションとエンティティの数がデータソースと一致していることを確認してください。不一致が見つかった場合は、エンティティが欠けているコレクションを削除し、再度それらを移行してください。

移行後

移行ジョブが完了したら、次の点に注意してください。

  • Index Creation: 移行プロセスでは、移行されたコレクションに対して AUTOINDEX が自動的に作成されます。

  • Manual Loading Required: 自動インデックス作成が行われても、移行されたコレクションはすぐに検索またはクエリ操作に使用できるわけではありません。検索およびクエリ機能を有効にするには、Zilliz Cloud でコレクションを手動でロードする必要があります。詳細については、Load & Release を参照してください。

移行ジョブをキャンセルする

移行プロセスで問題が発生した場合は、トラブルシューティングを行い、移行を再開するために次の手順を実行できます。

1

Jobs ページで、失敗した移行ジョブを見つけてキャンセルします。

2

Actions 列の View Details をクリックしてエラーログにアクセスします。

FAQ

  1. オブジェクトストレージバケットに保存されたバックアップファイルから移行する場合、どの形式の URL を使用すればよいですか。

    次の表は、さまざまなオブジェクトストレージサービスの URL 例を示しています。バックアップファイルから移行する場合は、バックアップフォルダのみを選択できることに注意してください。

    クラウドオブジェクトストレージ

    URL 形式

    Amazon S3

    AWS Object URL, virtual-hosted–style

    https://<bucket_name>.s3.<region-code>.amazonaws.com/<folder_name>/

    AWS Object URL, path-style

    https://s3.&lt;region-code&gt;.amazonaws.com/&lt;bucket_name&gt;/&lt;folder_name&gt;/

    Amazon S3 URI

    s3://<bucket_name>/<folder_name>/

    Google Cloud Storage

    GSC public URL

    https://storage.cloud.google.com/&lt;bucket_name&gt;/&lt;folder_name&gt;/

    GSC gsutil URI

    gs://<bucket_name>/<folder_name>/

    Azure Blob Storage

    https://<storage_account>.blob.core.windows.net/<container>/<folder>/

Ctrl I