バックアップツールを介したMilvusからZilliz Cloudへの移行
Zilliz Cloudは、Milvusからのデータ移行のためのバックアップツールを提供します。このバックアップツールを使用すると、ユーザーは複雑な詳細を手動で処理することなく、より簡単かつ効率的にデータ移行を実行でき、使いやすさと成功率を大幅に向上させることができます。
この機能は、次のようなさまざまな移行シナリオにおける運用上の複雑さを排除します。
-
ローカルバックアップファイルで移行する際のファイルサイズの制限。
-
バケットベースの移行を使用する際に、異なるクラウドプロバイダーからのクラウドストレージバケット構成を理解すること。
-
エンドポイントベースの移行を実行する際に、Milvusインスタンスエンドポイントのネットワークアクセシビリティを確保すること。
開始する前に
-
組織オーナーまたはプロジェクト管理者のロールが付与されていること。必要な権限がない場合は、Zilliz Cloudの組織オーナーに連絡してください。
-
ターゲットクラスターのクエリCUの数が、ソースデータを収容できることを確認してください。必要なクエリCUの数を推定するには、計算ツールを使用してください。
手順
この手順では、Milvus Backupを使用してバックアップファイルを準備し、Zilliz Cloudにアップロードし、指定されたターゲットZilliz Cloudクラスターに移行します。
**milvus-backup**をダウンロードします。常に最新のリリースを使用してください。
現在、Milvus 2.2以降のバージョンからZilliz Cloudクラスターにデータを移行できます。互換性のあるソースおよびターゲットMilvusバージョンの詳細については、Milvus Backup Overviewを参照してください。
ダウンロードしたバイナリと同じ場所に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 is the name of the backup file
# and will be used in the migrate command
ターゲットとなるZilliz Cloudクラスターを作成し、クラスターIDをメモして、以下のコマンドを実行して移行を開始します。
./milvus-backup migrate --cluster_id inxx-xxxxxxxxxxxxxxx -n my_backup
# cluster_id is the ID of the target Zilliz Cloud cluster
# my_backup is the name of the backup file created in the above command
# The command output is similar to the following:
# Successfully triggered migration with backup name: my_backup target cluster: inxx-xxxxxxxxxxxxxxx migration job id: job-xxxxxxxxxxxxxxxxxxx.
# You can check the progress of the migration job in Zilliz Cloud console.
このコマンドを実行すると、Milvus Backup は準備されたバックアップファイルを Zilliz Cloud プラットフォームにアップロードし、移行ジョブを作成し、ジョブ ID をコマンド出力として返します。
Zilliz Cloudプラットフォームにアップロードされたバックアップファイルは、アップロード後3日間保持され、その後削除されます。
移行プロセスの監視
Migrate をクリックすると、移行ジョブが生成されます。ジョブ ページで移行の進行状況を確認できます。ジョブのステータスが 進行中 から 成功 に変わると、移行は完了です。
移行後、ターゲットクラスター内のコレクション数とエンティティ数がデータソースと一致することを確認してください。不一致が見つかった場合は、エンティティが不足しているコレクションを削除して再度移行してください。

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