MilvusからZilliz Cloudへの移行(バックアップファイル経由)
Zilliz Cloudは、インフラストラクチャ管理を自分で行う必要なくMilvusベクターデータベースを使用したいユーザーのために、完全に管理されたクラウドホスト型ソリューションとしてMilvusを提供します。このトピックでは、バックアップファイルを直接アップロードしてMilvusから移行する方法について説明します。
事前準備
以下の前提条件が満たされていることを確認してください:
-
以下に従って移行に必要な準備を完了していること:
-
ローカルファイルから:事前にローカルバックアップファイルを準備してください。バックアップファイルの準備方法については、移行用バックアップファイルを準備を参照してください。
-
オブジェクトストレージから:MilvusオブジェクトストレージのパプリックURLおよびアクセス認証情報。長期または一時的な認証情報を選択できます。オブジェクトストレージURLの詳細な例については、FAQを参照してください。
-
-
組織オーナーまたはプロジェクト管理者ロールが付与されていること。必要な権限がない場合は、Zilliz Cloud組織オーナーに連絡してください。
-
ターゲットクラスターのCUサイズがソースデータを収容できることを確認してください。必要なCUサイズの見積もりには、計算機を使用してください。
移行用バックアップファイルを準備
Milvus 2.xの移行データを準備するには、
-
**milvus-backup**をダウンロードします。常に最新のリリースを使用してください。
現在、Milvus 2.2以降のバージョンからZilliz Cloudクラスターにデータを移行できます。互換性のあるソースおよびターゲットのMilvusバージョンについては、Milvusバックアップ概要を参照してください。
-
ダウンロードしたバイナリと同じ階層にconfigsフォルダを作成し、backup.yamlをconfigsフォルダにダウンロードします。
作業が完了すると、workspaceフォルダの構造は次のようになります:
workspace
├── milvus-backup
└── configs
└── backup.yaml -
backup.yamlをカスタマイズします。
通常、このファイルをカスタマイズする必要はありません。ただし、進む前に以下の構成項目が正しいことを確認してください:
...
# milvusプロキシアドレス、milvus.yamlとの互換性あり
milvus:
address: localhost
port: 19530
...
# MinIOの関連構成、Milvusのデータ永続化を担当します。
minio:
# Milvusストレージ構成、milvus構成と同じにします
storageType: "minio" # サポートされるストレージタイプ:local、minio、s3、aws、gcp、ali(アリババ)、azure、tc(テンセント)、gcpnative
# Google Cloud Platformプロバイダーには"gcpnative"を使用できます。サービスアカウント認証情報を使用して認証します。
address: localhost # MinIO/S3のアドレス
port: 9000 # MinIO/S3のポート
bucketName: "a-bucket" # MinIO/S3のMilvusバケット名、Milvusインスタンスと同じにします
backupBucketName: "a-bucket" # バックアップデータを保存するバケット名。バックアップデータはbackupBucketName/backupRootPathに保存されます
rootPath: "files" # MinIO/S3のMilvusストレージルートパス、milvusインスタンスと同じにします
...📘注意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コンソールまたはmcクライアントを使用してダウンロードできます。-
Minioコンソールからダウンロードするには、Minioコンソールにログインし、
minio.addressで指定されたバケットを見つけ、バケット内のファイルを選択してダウンロードをクリックしてダウンロードします。 -
the mc clientを好む場合は、以下のようにします:
# 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はターゲットコレクションにその機能設定を保持します。これらの継承された設定は変更できません。
移行プロセスの監視
移行をクリックすると、移行ジョブが生成されます。ジョブページで移行の進行状況を確認できます。ジョブステータスが進行中から成功に変わると、移行が完了します。
移行後は、ターゲットクラスターのコレクション数とエンティティ数がデータソースと一致していることを確認してください。不一致が見つかった場合、エンティティが欠落しているコレクションを削除して再移行してください。
移行後
移行ジョブが完了した後、以下の点に注意してください:
-
インデックス作成:移行プロセスでは、移行されたコレクションにAUTOINDEXが自動的に作成されます。
-
手動でのロードが必要:自動インデックス作成にもかかわらず、移行されたコレクションは検索またはクエリ操作に対してすぐに使用可能にはなりません。検索およびクエリ機能を有効にするには、Zilliz Cloudでコレクションを手動でロードする必要があります。詳細については、ロードとリリースを参照してください。
移行ジョブをキャンセル
移行プロセスで問題が発生した場合、以下の手順に従ってトラブルシューティングおよび移行を再開できます:
-
ジョブページで、失敗した移行ジョブを特定してキャンセルします。
-
アクション列の詳細を表示をクリックして、エラーログにアクセスします。
よくある質問
-
オブジェクトストレージバケットに保存されているバックアップファイルから移行する場合、どの形式の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>/