コマンドによるデータのバックアップとリストア
Milvus Backupは、Milvusのデータの安全性を確保するために、データのバックアップとリストア機能を提供します。
Milvus Backupの入手方法
コンパイル済みのバイナリをダウンロードするか、ソースからビルドすることができます。
コンパイル済みのバイナリをダウンロードするには、リリースページにアクセスしてください。常に最新版とマークされたリリースのバイナリを使用することを忘れないでください。
ソースからコンパイルするには、以下のようにします:
git clone git@github.com:zilliztech/milvus-backup.git
go get
go build
設定ファイルの準備
サンプルの設定ファイルをダウンロードし、あなたのニーズに合うように調整してください。
次に、ダウンロードまたはビルドしたMilvus Backupバイナリと一緒にフォルダを作成し、フォルダ名をconfigs とし、設定ファイルをconfigs フォルダの中に置きます。
フォルダ構造は以下のようになっているはずです:
workspace
├── milvus-backup
└── configs
└── backup.yaml
Milvus Backup はローカルパスにデータをバックアップできないため、設定ファイルを作成する際には Minio の設定が正しいことを確認してください。
デフォルトのMinioバケットの名前は、Milvusのインストール方法によって異なります。Minioの設定を変更する場合は、以下の表を参照してください。
| フィールド | Docker Compose | Helm / Milvus オペレータ |
|---|---|---|
bucketName | バケット | milvus-bucket |
rootPath | ファイル | ファイル |
データの準備
空のローカルMilvusインスタンスをデフォルトポートで実行する場合、サンプルのPythonスクリプトを使用してインスタンスのデータを生成してください。スクリプトは必要に応じて自由に変更してください。
スクリプトを入手する。次にスクリプトを実行してデータを生成します。Milvusの公式Python SDKであるPyMilvusがインストールされていることを確認してください。
python example/prepare_data.py
このステップはオプションです。省略する場合は、Milvusインスタンスに既にデータがあることを確認してください。
データのバックアップ
通常、Milvusインスタンスに対してMilvus Backupを実行しても、インスタンスの動作に影響はありません。バックアップまたはリストア中もMilvusインスタンスは完全に機能します。
以下のコマンドを実行してバックアップを作成します。
./milvus-backup create -n <backup_name>
コマンドを実行すると、Minioの設定で指定したバケット内のバックアップファイルを確認することができます。具体的には、Minioコンソールまたはmcクライアントを使用してダウンロードできます。
Minioコンソールからダウンロードするには、Minioコンソールにログインし、minio.address で指定したバケットを探し、バケット内のファイルを選択し、[ダウンロード]をクリックしてダウンロードします。
mcクライアントを使用する場合は、次の手順を実行します:
# configure a Minio host
mc alias set my_minio https://<minio_endpoint> <accessKey> <secretKey>
# List the available buckets
mc ls my_minio
# Download a bucket recursively
mc cp --recursive my_minio/<your-bucket-path> <local_dir_path>
バックアップファイルを安全な場所に保存し、将来復元できるようにするか、Zillizクラウドにアップロードして、データを含むマネージドベクターデータベースを作成できます。詳しくは、MilvusからZilliz Cloudへの移行をご参照ください。
データのリストア
-s フラグを付けてrestore コマンドを実行すると、バックアップからデータをリストアして新しいコレクションを作成できます:
./milvus-backup restore -n my_backup -s _recover
-s フラグで、作成する新しいコレクションのサフィックスを設定できます。上記のコマンドを実行すると、Milvusインスタンスにhello_milvus_recoverという新しいコレクションが作成されます。
バックアップしたコレクションを名前を変更せずにリストアする場合は、バックアップからリストアする前にコレクションを削除してください。以下のコマンドを実行することで、Prepare dataで生成されたデータをクリーンアップできます。
python example/clean_data.py
次に、以下のコマンドを実行して、バックアップからデータをリストアします。
./milvus-backup restore -n my_backup
リストアされたデータの検証
リストアが完了したら、以下のようにリストアされたコレクションにインデックスを付けること で、リストアされたデータを検証できます:
python example/verify_data.py
上記のスクリプトは、-s フラグを付けてrestore コマンドを実行し、サフィックスが-recover に設定されていることを前提としています。必要に応じて、スクリプトに必要な変更を加えてください。