使用命令備份和還原資料
Milvus Backup 提供資料備份和還原功能,以確保您的 Milvus 資料安全。
取得 Milvus 備份
您可以下載已編譯的二進位檔或從原始碼建立。
要下載編譯後的二進位檔,請前往發行版頁面,在那裡您可以找到所有官方發行版。請記住,請務必使用標示為最新版本的二進位檔。
從原始碼編譯的步驟如下:
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 | a-bucket | milvus-bucket |
rootPath | 檔案 | 檔案 |
準備資料
如果您在預設的連接埠執行一個空的本機 Milvus 實例,請使用範例 Python 腳本在您的實例中產生一些資料。請隨意對腳本進行必要的修改,以符合您的需求。
獲取腳本。然後執行腳本來產生資料。確保已安裝官方的 Milvus Python SDKPyMilvus。
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 Cloud,以您的資料建立受管理的向量資料庫。詳情請參閱從 Milvus 遷移到 Zilliz Cloud。
還原資料
您可以使用-s
標誌執行restore
指令,從備份中還原資料來建立新的集合:
./milvus-backup restore -n my_backup -s _recover
-s
標誌允許您為要建立的新集合設定後綴。上述命令將在您的Milvus實例中建立一個新的資料集,名稱為hello_milvus_recover。
如果您希望還原已備份的資料集而不更改其名稱,請在從備份還原資料集之前刪除該資料集。現在您可以執行以下指令,清理在準備資料中產生的資料。
python example/clean_data.py
然後執行以下命令從備份還原資料。
./milvus-backup restore -n my_backup
驗證還原的資料
還原完成後,您可以按以下方式為還原的資料集編製索引,以驗證還原的資料:
python example/verify_data.py
請注意,上述腳本假設您已執行restore
指令,並加上-s
標誌,且後綴設定為-recover
。請隨意對腳本進行必要的變更,以符合您的需求。