milvus-logo
LFAI
Home
  • Werkzeuge

Sichern und Wiederherstellen von Daten über APIs

Milvus Backup bietet Funktionen zur Datensicherung und -wiederherstellung, um die Sicherheit Ihrer Milvus-Daten zu gewährleisten.

Beziehen Sie Milvus Backup

Sie können entweder die kompilierte Binärdatei herunterladen oder aus dem Quellcode bauen.

Um die kompilierte Binärdatei herunterzuladen, gehen Sie auf die Release-Seite, wo Sie alle offiziellen Releases finden. Denken Sie daran, dass Sie immer die Binärdateien in der als "Latest" gekennzeichneten Version verwenden sollten.

Um aus dem Quellcode zu kompilieren, gehen Sie wie folgt vor:

git clone git@github.com:zilliztech/milvus-backup.git
go get
go build

Konfigurationsdatei vorbereiten

Laden Sie die Beispielkonfigurationsdatei herunter und passen Sie sie an Ihre Bedürfnisse an.

Erstellen Sie dann einen Ordner neben der heruntergeladenen oder erstellten Milvus Backup-Binärdatei, benennen Sie den Ordner configs und legen Sie die Konfigurationsdatei in den Ordner configs.

Ihre Ordnerstruktur sollte in etwa wie folgt aussehen:

workspace ├── milvus-backup └── configs └── backup.yaml

Da Milvus Backup Ihre Daten nicht in einem lokalen Pfad sichern kann, stellen Sie sicher, dass die Minio-Einstellungen korrekt sind, wenn Sie die Konfigurationsdatei anpassen.

Der Name des Standard-Minio-Buckets variiert je nach Art der Milvus-Installation. Wenn Sie Änderungen an den Minio-Einstellungen vornehmen, sollten Sie sich an der folgenden Tabelle orientieren.

FeldDocker ComposeHelm/Milvus-Bediener
bucketNamea-Bucketmilvus-Bucket
rootPathDateienDatei

Starten Sie den API-Server

Anschließend können Sie den API-Server wie folgt starten:

./milvus-backup server

Der API-Server lauscht standardmäßig auf Port 8080. Sie können dies ändern, indem Sie ihn mit dem Flag -p ausführen. Um den API-Server zu starten, der an Port 443 lauscht, gehen Sie wie folgt vor:

./milvus-backup server -p 443

Sie können auf die Swagger-Benutzeroberfläche über http://localhost zugreifen:/api/v1/docs/index.html.

Daten vorbereiten

Wenn Sie eine leere lokale Milvus-Instanz betreiben, die auf dem Standard-Port 19530 lauscht, verwenden Sie die Python-Beispielskripte, um einige Daten in Ihrer Instanz zu erzeugen. Sie können die Skripte nach Belieben an Ihre Bedürfnisse anpassen.

Besorgen Sie sich die Skripte. Führen Sie dann die Skripte aus, um die Daten zu erzeugen. Stellen Sie sicher, dass PyMilvus, das offizielle Milvus Python SDK, installiert ist.

python example/prepare_data.py

Dieser Schritt ist optional. Wenn Sie diesen Schritt überspringen, stellen Sie sicher, dass Sie bereits einige Daten in Ihrer Milvus-Instanz haben.

Sichern von Daten

Beachten Sie, dass die Ausführung von Milvus Backup gegen eine Milvus-Instanz normalerweise keinen Einfluss auf den Betrieb der Instanz hat. Ihre Milvus-Instanz ist während der Sicherung oder Wiederherstellung voll funktionsfähig.

Führen Sie den folgenden Befehl aus, um ein Backup zu erstellen. Ändern Sie collection_names und backup_name falls nötig.

curl --location --request POST 'http://localhost:8080/api/v1/create' \
--header 'Content-Type: application/json' \
--data-raw '{
  "async": true,
  "backup_name": "my_backup",
  "collection_names": [
    "hello_milvus"
  ]
}'

Sobald der Befehl ausgeführt wurde, können Sie die Backups in dem in den Minio-Einstellungen angegebenen Bucket wie folgt auflisten:

curl --location --request GET 'http://localhost:8080/api/v1/list' \
--header 'Content-Type: application/json'

Und laden Sie die Sicherungsdateien wie folgt herunter:

curl --location --request GET 'http://localhost:8080/api/v1/get_backup?backup_id=<test_backup_id>&backup_name=my_backup' \
--header 'Content-Type: application/json'

Ändern Sie bei der Ausführung des obigen Befehls backup_id und backup_name in die von der Listen-API zurückgegebenen Werte.

Jetzt können Sie die Sicherungsdateien an einem sicheren Ort speichern, um sie später wiederherzustellen, oder sie in die Zilliz Cloud hochladen, um eine verwaltete Vektordatenbank mit Ihren Daten zu erstellen. Weitere Informationen finden Sie unter Migrieren von Milvus zu Zilliz Cloud.

Daten wiederherstellen

Sie können den API-Befehl restore mit der Option collection_suffix aufrufen, um eine neue Sammlung zu erstellen, indem Sie die Daten aus dem Backup wiederherstellen. Ändern Sie collection_names und backup_name, falls erforderlich.

curl --location --request POST 'http://localhost:8080/api/v1/restore' \
--header 'Content-Type: application/json' \
--data-raw '{
    "async": true,
    "collection_names": [
    "hello_milvus"
  ],
    "collection_suffix": "_recover",
    "backup_name":"my_backup"
}'

Mit der Option collection_suffix können Sie ein Suffix für die neu zu erstellende Sammlung festlegen. Mit dem obigen Befehl wird eine neue Sammlung mit dem Namen hello_milvus_recover in Ihrer Milvus-Instanz erstellt.

Wenn Sie die gesicherte Sammlung wiederherstellen möchten, ohne ihren Namen zu ändern, löschen Sie die Sammlung, bevor Sie sie aus der Sicherung wiederherstellen. Sie können nun die in Prepare data erzeugten Daten bereinigen, indem Sie den folgenden Befehl ausführen.

python example/clean_data.py

Führen Sie dann den folgenden Befehl aus, um die Daten aus der Sicherung wiederherzustellen.

curl --location --request POST 'http://localhost:8080/api/v1/restore' \
--header 'Content-Type: application/json' \
--data-raw '{
    "async": true,
    "collection_names": [
    "hello_milvus"
  ],
    "collection_suffix": "",
    "backup_name":"my_backup"
}'

Der Wiederherstellungsprozess kann je nach Größe der wiederherzustellenden Daten sehr zeitaufwändig sein. Daher werden alle Wiederherstellungsaufgaben asynchron ausgeführt. Sie können den Status eines Wiederherstellungsauftrags überprüfen, indem Sie ihn ausführen:

curl --location --request GET 'http://localhost:8080/api/v1/get_restore?id=<test_restore_id>' \
--header 'Content-Type: application/json'

Denken Sie daran, test_restore_id in die von der Wiederherstellungs-API wiederhergestellte Datei zu ändern.

Überprüfen der wiederhergestellten Daten

Sobald die Wiederherstellung abgeschlossen ist, können Sie die wiederhergestellten Daten überprüfen, indem Sie die wiederhergestellte Sammlung wie folgt indizieren:

python example/verify_data.py

Beachten Sie, dass das obige Skript davon ausgeht, dass Sie den Befehl restore mit dem Flag -s ausgeführt haben und das Suffix auf -recover gesetzt ist. Sie können das Skript nach Belieben an Ihre Bedürfnisse anpassen.

Übersetzt vonDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

War diese Seite hilfreich?