Sichern und Wiederherstellen in einer Instanz
Dieses Thema beschreibt den Prozess der Sicherung einer Sammlung und der Wiederherstellung aus der Sicherung innerhalb der gleichen Milvus-Instanz.
Übersicht
Das folgende Diagramm veranschaulicht den Sicherungs- und Wiederherstellungsprozess innerhalb einer einzelnen Milvus-Instanz.
single-instance-backup-and-restore.png
Angenommen, wir haben eine Milvus-Instanz, milvus_A
, die einen Bucket namensbucket_A
für die Datenspeicherung verwendet. In diesem Beispiel ist es unser Ziel, die folgenden Aufgaben zu erledigen:
Erstellen Sie ein Backup (
my_backup
) für die Sammlung coll inbucket_A
.Wiederherstellung aus der Sicherung und Benennung der wiederhergestellten Sammlung
coll_bak
.
Voraussetzungen
Stellen Sie sicher, dass das Tool milvus-backup installiert ist.
Machen Sie sich mit der Konfiguration der Milvus-Objektspeicher-Einstellungen vertraut. Details finden Sie unter Objektspeicher.
Sichern Sie die Sammlung
Schritt 1: Vorbereiten der Konfiguration
Wechseln Sie in das Verzeichnis des milvus-backup-Projekts und erstellen Sie ein Verzeichnis namens configs
:
mkdir configs
cd configs
Laden Sie die Backup-Konfigurationsdatei backup.yaml herunter:
wget https://raw.githubusercontent.com/zilliztech/milvus-backup/main/configs/backup.yaml
Die Dateistruktur sieht wie folgt aus:
├── configs
│ └── backup.yaml
├── milvus-backup
└── README.md
Schritt 2: Konfigurationsdatei bearbeiten
Ändern Sie die Datei backup.yaml, um die entsprechenden Konfigurationen fürmilvus_A
festzulegen. Nachfolgend finden Sie ein Beispiel für die Speicherkonfiguration:
# Related configuration of minio, which is responsible for data persistence for Milvus.
minio:
# cloudProvider: "minio" # deprecated use storageType instead
storageType: "minio" # support storage type: local, minio, s3, aws, gcp, ali(aliyun), azure, tc(tencent)
address: localhost # Address of MinIO/S3
port: 9000 # Port of MinIO/S3
accessKeyID: minioadmin # accessKeyID of MinIO/S3
secretAccessKey: minioadmin # MinIO/S3 encryption string
useSSL: false # Access to MinIO/S3 with SSL
useIAM: false
iamEndpoint: ""
bucketName: "bucket_A" # Milvus Bucket name in MinIO/S3, make it the same as your milvus instance
rootPath: "files" # Milvus storage root path in MinIO/S3, make it the same as your milvus instance
# only for azure
backupAccessKeyID: minioadmin # accessKeyID of MinIO/S3
backupSecretAccessKey: minioadmin # MinIO/S3 encryption string
backupBucketName: "bucket_A" # Bucket name to store backup data. Backup data will store to backupBucketName/backupRootPath
backupRootPath: "backup" # Rootpath to store backup data. Backup data will store to backupBucketName/backupRootPath
Schritt 3: Backup erstellen
Sobald backup.yaml gespeichert ist, erstellen Sie ein Backup mit dem Namen my_backup
:
./milvus-backup create -c coll -n my_backup
Mit diesem Befehl wird die Sicherung bucket_A/backup/my_backup
im Objektspeicher von milvus_A
erstellt.
Wiederherstellung aus dem Backup in milvus_A
Sobald das Backup erstellt ist, können Sie es mit dem folgenden Befehl wiederherstellen:
./milvus-backup restore -c coll -n my_backup -s _bak
Mit diesem Befehl wird aus dem Backup wiederhergestellt und eine neue Sammlung mit dem Namen coll_bak in milvus_A
erstellt, deren Daten in bucket_A/files/insert_log/[ID of new collection]
gespeichert sind.