バックアップファイルを使用した Milvus から Zilliz Cloud への移行
Zilliz Cloud は、Milvus ベクトルデータベースを使用したいが、インフラストラクチャの管理を自分で行いたくないユーザー向けに、Milvus をフルマネージドのクラウドホスト型ソリューションとして提供しています。このトピックでは、バックアップファイルを直接アップロードして Milvus から移行する方法について説明します。
開始前の準備
以下の前提条件が満たされていることを確認してください:
-
移行方法に基づいて、必要な移行準備を完了していること:
-
ローカルファイルから: 事前にローカルのバックアップファイルを準備してください。バックアップファイルの準備方法については、移行用バックアップファイルの準備 を参照してください。
-
オブジェクトストレージから: Milvus オブジェクトストレージのパブリック URL とアクセス認証情報。長期または一時的な認証情報を選択できます。オブジェクトストレージ URL の詳細な例については、FAQ を参照してください。
-
ボリュームから:
-
マネージドボリューム: 非常に大きなローカルバックアップファイルの場合、ファイルを Zilliz Cloud の マネージドボリューム に事前にアップロードし、そのボリューム内のファイルパスを指定してください。
-
外部ボリューム: バックアップファイルがクラウドオブジェクトストレージバケットにある場合、そのバケットにマッピングする 外部ボリューム を作成してください。外部ボリュームから直接データを移行でき、毎回認証情報を提供する必要はありません。
-
-
-
組織オーナー または プロジェクト管理者 のロールが付与されていること。必要な権限がない場合は、Zilliz Cloud の組織オーナーに連絡してください。
-
ターゲットクラスターの CU サイズがソースデータを収容できることを確認してください。必要な CU サイズを見積もるには、計算ツール を使用してください。
移行用バックアップファイルの準備
Milvus 2.x の移行データを準備するには、
milvus-backup をダウンロードしてください。常に最新のリリースを使用してください。
現在、Milvus 2.2 以降のバージョンから Zilliz Cloud クラスターへのデータ移行が可能です。互換性のあるソースおよびターゲットの Milvus バージョンの詳細については、Milvus Backup 概要 を参照してください。
ダウンロードしたバイナリと同じ階層に configs フォルダを作成し、backup.yaml を configs フォルダにダウンロードしてください。
この手順が完了すると、ワークスペースフォルダの構造は次のようになります:
workspace
├── milvus-backup
└── configs
└── backup.yaml
backup.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
...
-
Docker Compose でインストールされた Milvus インスタンスの場合、
minio.bucketNameのデフォルト値はa-bucket、rootPathのデフォルト値はfilesです。 -
Kubernetes でインストールされた Milvus インスタンスの場合、
minio.bucketNameのデフォルト値はmilvus-bucket、rootPathのデフォルト値はfileです。
Milvus インストールのバックアップを作成します。
./milvus-backup --config backup.yaml create -n my_backup
バックアップファイルを取得します。
./milvus-backup --config backup.yaml get -n my_backup
バックアップファイルを確認します。
-
minio.addressとminio.portを S3 バケットに設定した場合、バックアップファイルは既に S3 バケットに存在します。 -
minio.addressとminio.portを Minio バケットに設定した場合、Minio Console または mc クライアントを使用してダウンロードできます。-
Minio Console からダウンロードするには、Minio Console にログインし、
minio.addressで指定されたバケットを見つけ、バケット内のファイルを選択して、ダウンロード をクリックしてダウンロードします。 -
mc クライアントを使用する場合は、以下の手順を実行します。
# configure a Minio hostmc alias set my_minio https://<minio_endpoint> <accessKey> <secretKey># List the available bucketsmc ls my_minio# Download a file from the bucketmc cp --recursive my_minio/<your-bucket-path> <local_dir_path>
-
ダウンロードしたアーカイブを解凍し、backup フォルダの内容のみを Zilliz Cloud にアップロードします。
Zilliz Cloud へのデータ移行
バックアップファイルの準備ができたら、ローカルファイル、オブジェクトストレージ、またはボリュームまたはオブジェクトストレージからデータを移行できます。
ソースコレクションで全文検索が既に有効になっている場合、Zilliz Cloud は移行後にターゲットコレクションでその Function 設定を保持します。これらの継承された設定は変更できません。
移行プロセスの監視
Migrate をクリックすると、移行ジョブが生成されます。ジョブ ページで移行の進捗状況を確認できます。ジョブのステータスが 進行中 から 成功 に変わると、移行は完了です。
移行後、ターゲットクラスタ内のコレクションとエンティティの数がデータソースと一致することを確認してください。不一致が見つかった場合は、エンティティが欠落しているコレクションを削除し、再度移行してください。
移行後
移行ジョブが完了した後、以下の点に注意してください。
-
インデックス作成: 移行プロセスは、移行されたコレクションに対して AUTOINDEX を自動的に作成します。
-
手動ロードが必要です: 自動インデックス作成が行われても、移行されたコレクションはすぐには検索やクエリ操作に利用できません。Zilliz Cloud でコレクションを手動でロードして、検索およびクエリ機能を有効にする必要があります。詳細については、Load & Release を参照してください。
移行ジョブのキャンセル
移行プロセスで問題が発生した場合は、以下の手順でトラブルシューティングを行い、移行を再開できます。
ジョブ ページで、失敗した移行ジョブを特定し、キャンセルします。
Actions 列の View Details をクリックして、エラーログにアクセスします。
FAQ
-
オブジェクトストレージバケットに保存されたバックアップファイルから移行する場合、どのような形式の URL に従うべきですか?
次の表は、さまざまなオブジェクトストレージサービスの URL の例を示しています。バックアップファイルから移行する場合は、バックアップフォルダのみを選択できることに注意してください。
Cloud Object Storage
URL Format
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.<region-code>.amazonaws.com/<bucket_name>/<folder_name>/
Amazon S3 URI
s3://<bucket_name>/<folder_name>/
Google Cloud Storage
GSC public URL
https://storage.cloud.google.com/<bucket_name>/<folder_name>/
GSC gsutil URI
gs://<bucket_name>/<folder_name>/
Azure Blob Storage
https://<storage_account>.blob.core.windows.net/<container>/<folder>/