ステージ経由でMilvusからZilliz Cloudに移行Private Preview
Zilliz Cloudは内部ステージ機能を提供し、Milvusからのデータ移行中にバックアップデータの保存場所として機能します。この機能により、ユーザーは手動で複雑な詳細を処理する必要なく、より簡単かつ効率的にデータ移行を実行できるようになり、ユーザビリティと成功率が大幅に向上します。
この機能は、以下のようなさまざまな移行情報シナリオの運用の複雑さを排除します:
-
ローカルバックアップファイルで移行する際のファイルサイズ制限
-
バケットベースの移行時に異なるクラウドプロバイダーのクラウドストレージバケット構成を理解する。
-
エンドポイントベースの移行を実行する際にMilvusインスタンスエンドポイントのネットワークアクセシビリティを確保する。
ステージ経由の移行はプライベートプレビュ中です。ご興味がある場合、問題が発生した場合、または関連コストを知りたい場合は、Zilliz Cloudサポートまでお問い合わせください。
始める前に
-
組織オーナーまたはプロジェクト管理者ロールが付与されていること。必要な権限がない場合は、Zilliz Cloud組織オーナーに連絡してください。
-
ターゲットクラスターのCUサイズがソースデータを収容できることを確認してください。必要なCUサイズを推定するには、計算機を使用してください。
手順
この手順では、Milvusバックアップを使用してバックアップファイルを準備し、それらをZilliz Cloud内部ステージにアップロードして、指定されたターゲットZilliz Cloudクラスターに移行します。
-
**milvus-backup**をダウンロードします。常に最新のリリースを使用してください。
現在、Milvus 2.2以降のバージョンからZilliz Cloudクラスターにデータを移行できます。互換性のあるソースおよびターゲットのMilvusバージョンの詳細については、Milvusバックアップの概要を参照してください。
-
ダウンロードしたバイナリと並列にconfigsフォルダを作成し、backup.yamlをconfigsフォルダにダウンロードします。
手順が完了すると、ワークスペースフォルダの構造は次のようになります:
workspace
├── milvus-backup
└── configs
└── backup.yaml -
backup.yamlをカスタマイズします。
-
以下の構成項目を設定します:
...
cloud:
address: https://api.cloud.zilliz.com
apikey: <your-api-key>
...-
cloud.addressZilliz Cloudコントロールプレーンエンドポイントで、
https://api.cloud.zilliz.comです。 -
cloud.apikey移行対象クラスターを操作するのに十分な権限を持つ有効なZilliz Cloud APIキー。詳細については、APIキーを参照してください。
-
-
以下の構成項目が正しいかどうかを確認します:
...
# 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
# my_backup はバックアップファイルの名前
# そして移行コマンドで使用されます -
ターゲットZilliz Cloudクラスターを作成し、クラスターIDをメモして、以下のコマンドを実行して移行を開始します。
./milvus-backup migrate --cluster_id inxx-xxxxxxxxxxxxxxx -n my_backup
# cluster_id はターゲットZilliz CloudクラスターのIDです
# my_backup は上記のコマンドで作成されたバックアップファイル名です
# コマンド出力は以下のようになります:
# Successfully triggered migration with backup name: my_backup target cluster: inxx-xxxxxxxxxxxxxxx migration job id: job-xxxxxxxxxxxxxxxxxxx.
# Zilliz Cloudコンソールで移行ジョブの進行状況を確認できます。このコマンドを実行すると、Milvusバックアップは準備したバックアップファイルをZilliz Cloud内部ステージにアップロードし、移行ジョブを作成して、コマンド出力としてジョブIDを返します。
📘注意内部ステージにアップロードされたバックアップファイルは、アップロード後3日間ステージに保持され、その後削除されます。
移行プロセスを監視
移行をクリックすると、移行ジョブが生成されます。移行の進行状況はジョブページで確認できます。ジョブステータスが進行中から成功に切り替わると、移行が完了します。
移行後、ターゲットクラスターのコレクション数およびエンティティ数がデータソースと一致していることを確認してください。不一致が見つかった場合は、エンティティが欠落しているコレクションを削除して再移行してください。

移行後
移行ジョブが完了した後、以下の点に注意してください:
-
インデックス作成: 移行プロセスでは、移行されたコレクションに対してAUTOINDEXが自動的に作成されます。
-
手動ロードが必要: 自動インデックス作成にもかかわらず、移行されたコレクションは検索またはクエリ操作に対してすぐに使用可能にはなりません。検索およびクエリ機能を有効にするには、Zilliz Cloudでコレクションを手動でロードする必要があります。詳細については、ロードとリリースを参照してください。
移行ジョブをキャンセル
移行プロセスで問題が発生した場合、以下の手順に従ってトラブルシューティングおよび移行を再開できます:
-
ジョブページで、失敗した移行ジョブを特定してキャンセルします。
-
アクション列の詳細を表示をクリックしてエラーログにアクセスします。