バックアップファイルによるMilvusからZilliz Cloudへの移行
Zilliz Cloudは、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 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で指定されたバケットを見つけ、バケット内のファイルを選択し、ダウンロード をクリックしてダウンロードします。 -
mc クライアント を使用する場合は、次のようにします。
# Minioホストを設定
mc alias set my_minio https://<minio_endpoint> <accessKey> <secretKey>
# 利用可能なバケットをリスト表示
mc ls my_minio
# バケットからファイルをダウンロード
mc cp --recursive my_minio/<your-bucket-path> <local_dir_path>
-
ダウンロードしたアーカイブを解凍し、backupフォルダの内容のみをZilliz Cloudにアップロードします。
Zilliz Cloudへのデータ移行
バックアップファイルが準備できたら、ローカルファイル、オブジェクトストレージ、またはボリュームからデータを移行できます。
ソースコレクションですでに全文検索が有効になっている場合、Zilliz Cloudは移行後にターゲットコレクションでその機能設定を保持します。これらの継承された設定は変更できません。
移行プロセスの監視
Migrateをクリックすると、移行ジョブが生成されます。ジョブページで移行の進行状況を確認できます。ジョブのステータスが進行中から成功に変わると、移行は完了です。
移行後、ターゲットクラスター内のコレクション数とエンティティ数がデータソースと一致することを確認してください。不一致が見つかった場合は、エンティティが不足しているコレクションを削除して再度移行してください。
移行後
移行ジョブが完了したら、次の点に注意してください。
-
インデックス作成: 移行プロセスは、移行されたコレクションに対してAUTOINDEXを自動的に作成します。
-
手動ロードが必要です: 自動インデックス作成にもかかわらず、移行されたコレクションは検索またはクエリ操作にすぐに利用できるわけではありません。検索およびクエリ機能を有効にするには、Zilliz Cloudでコレクションを手動でロードする必要があります。詳細については、Load & Releaseを参照してください。
移行ジョブのキャンセル
移行プロセスで問題が発生した場合は、次の手順でトラブルシューティングを行い、移行を再開できます。
ジョブページで、失敗した移行ジョブを特定し、キャンセルします。
Actions列のView Detailsをクリックして、エラーログにアクセスします。
FAQ
-
オブジェクトストレージバケットに保存されているバックアップファイルから移行する場合、どのような形式のURLに従うべきですか?
次の表は、異なるオブジェクトストレージサービスのURLの例を示しています。バックアップファイルから移行する場合、バックアップフォルダのみを選択できることに注意してください。
クラウドオブジェクトストレージ
URL形式
Amazon S3
AWSオブジェクトURL、仮想ホストスタイル
https://<bucket_name>.s3.<region-code>.amazonaws.com/<folder_name>/
AWSオブジェクトURL、パススタイル
https://s3.<region-code>.amazonaws.com/<bucket_name>/<folder_name>/
Amazon S3 URI
s3://<bucket_name>/<folder_name>/
Google Cloud Storage
GSC公開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>/