バックアップファイル経由で 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 の移行データを準備するには、
milvus-backup をダウンロードします。常に最新リリースを使用してください。
現在、Milvus 2.2 以降のバージョンから Zilliz Cloud クラスターへデータを移行できます。互換性のあるソースおよびターゲットの Milvus バージョンの詳細については、Milvus Backup Overview を参照してください。
ダウンロードしたバイナリと同じ階層に 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で指定されたバケットを見つけて、そのバケット内のファイルを選択し、Download をクリックしてダウンロードします。 -
mc クライアント を使用したい場合は、次の手順に従ってください。
plaintext# 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 をクリックすると、移行ジョブが生成されます。Jobs ページで移行の進行状況を確認できます。ジョブステータスが In Progress から Successful に変わると、移行は完了です。
移行後、ターゲットクラスター内のコレクションとエンティティの数がデータソースと一致していることを確認してください。不一致が見つかった場合は、エンティティが欠けているコレクションを削除し、再度それらを移行してください。
移行後
移行ジョブが完了したら、次の点に注意してください。
-
Index Creation: 移行プロセスでは、移行されたコレクションに対して AUTOINDEX が自動的に作成されます。
-
Manual Loading Required: 自動インデックス作成が行われても、移行されたコレクションはすぐに検索またはクエリ操作に使用できるわけではありません。検索およびクエリ機能を有効にするには、Zilliz Cloud でコレクションを手動でロードする必要があります。詳細については、Load & Release を参照してください。
移行ジョブをキャンセルする
移行プロセスで問題が発生した場合は、トラブルシューティングを行い、移行を再開するために次の手順を実行できます。
Jobs ページで、失敗した移行ジョブを見つけてキャンセルします。
Actions 列の View Details をクリックしてエラーログにアクセスします。
FAQ
-
オブジェクトストレージバケットに保存されたバックアップファイルから移行する場合、どの形式の 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.<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>/