Milvus 백업 도구 사용 방법: 단계별 가이드
Milvus는 고차원 벡터 임베딩을 통해 수십억 규모의 비정형 데이터를 저장, 색인, 검색할 수 있는 확장성이 뛰어난 오픈 소스 고성능 벡터 데이터베이스입니다. 검색 증강 생성(RAG), 시맨틱 검색, 멀티모달 검색, 추천 시스템과 같은 최신 AI 애플리케이션을 구축하는 데 적합합니다. Milvus는 노트북부터 대규모 분산 시스템에 이르기까지 다양한 환경에서 효율적으로 실행됩니다. 오픈 소스 소프트웨어와 클라우드 서비스로 제공됩니다.
MilvusBackup은 Milvus 데이터를 백업 및 복원하는 도구입니다. 다양한 애플리케이션 시나리오를 수용하기 위해 CLI와 API를 모두 제공합니다. 이 가이드는 Milvus Backup을 사용하는 과정을 안내하여 백업 요구 사항을 자신 있게 처리할 수 있도록 도와드립니다.
준비
백업 또는 복원 프로세스를 시작하기 전에 환경을 설정해야 합니다:
1. Milvus 백업 리포지토리 릴리스에서최신 바이너리를 다운로드합니다. 사용 중인 운영 체제에 적합한 버전을 선택합니다:
macOS의 경우:
milvus-backup_Darwin_arm64.tar.gz
또는milvus-backup_Darwin_x86_64.tar.gz
Linux의 경우:
milvus-backup_Linux_arm64.tar.gz
또는milvus-backup_Linux_x86_64.tar.gz
2. GitHub에서구성 파일을 다운로드합니다.
3. tar 파일을 원하는 디렉터리에 압축을 풀고 압축을 푼 동일한 폴더 내의 configs/
디렉터리에 backup.yaml
을 넣습니다. 디렉토리 구조가 다음과 같이 표시되는지 확인합니다:
├── configs
│ └── backup.yaml
├── milvus-backup
└── README.md
명령 개요
터미널로 이동하여 도구의 명령어를 숙지합니다:
1. 일반 도움말: milvus-backup help
을 입력하여 사용 가능한 명령어와 플래그를 확인합니다.
milvus-backup is a backup&restore tool for milvus.
Usage:
milvus-backup [flags]
milvus-backup [command]
Available Commands:
check check if the connects is right.
create create subcommand create a backup.
delete delete subcommand delete backup by name.
get get subcommand get backup by name.
help Help about any command
list list subcommand shows all backup in the cluster.
restore restore subcommand restore a backup.
server server subcommand start milvus-backup RESTAPI server.
Flags:
--config string config YAML file of milvus (default "backup.yaml")
-h, --help help for milvus-backup
Use "milvus-backup [command] --help" for more information about a command.
2. 백업 만들기: milvus-backup create --help
을 입력하면 백업 생성에 대한 구체적인 도움말을 볼 수 있습니다.
Usage:
milvus-backup create [flags]
Flags:
-n, --name string backup name, if unset will generate a name automatically
-c, --colls string collectionNames to backup, use ',' to connect multiple collections
-d, --databases string databases to backup
-a, --database_collections string databases and collections to backup, json format: {"db1":["c1", "c2"],"db2":[]}
-f, --force force backup, will skip flush, should make sure data has been stored into disk when using it
--meta_only only backup collection meta instead of data
-h, --help help for create
3. 백업 복원하기: 백업을 복원하는 방법을 이해하려면 milvus-backup restore --help
을 사용합니다.
Usage:
milvus-backup restore [flags]
Flags:
-n, --name string backup name to restore
-c, --collections string collectionNames to restore
-s, --suffix string add a suffix to collection name to restore
-r, --rename string rename collections to new names, format: db1.collection1:db2.collection1_new,db1.collection2:db2.collection2_new
-d, --databases string databases to restore, if not set, restore all databases
-a, --database_collections string databases and collections to restore, json format: {"db1":["c1", "c2"],"db2":[]}
--meta_only if true, restore meta only
--restore_index if true, restore index
--use_auto_index if true, replace vector index with autoindex
--drop_exist_collection if true, drop existing target collection before create
--drop_exist_index if true, drop existing index of target collection before create
--skip_create_collection if true, will skip collection, use when collection exist, restore index or data
-h, --help help for restore
백업/복원 사용 사례
특정 요구사항과 구성에 따라 밀버스 백업 도구를 효과적으로 적용할 수 있는 몇 가지 사용 사례가 있습니다:
단일 Milvus 인스턴스 내에서: 동일한 Milvus 서비스 내에서 컬렉션을 새 컬렉션으로 복사합니다.
하나의 버킷으로 단일 S3의 Milvus 인스턴스 간: 루트 경로가 다르지만 동일한 S3 버킷을 사용하는 Milvus 인스턴스 간에 컬렉션을 전송합니다.
서로 다른 S3 버킷에 있는 Milvus 인스턴스 간: 동일한 S3 서비스 내에서 서로 다른 S3 버킷 간에 컬렉션을 전송합니다.
서로 다른 S3 서비스 간: 서로 다른 S3 서비스를 사용하는 Milvus 인스턴스 간에 컬렉션을 복사합니다.
각 사용 사례를 자세히 살펴보겠습니다.
사용 사례 1: 하나의 Milvus 인스턴스 내에서 백업 및 복원
동일한 Milvus 인스턴스 내에서 컬렉션을 백업 및 복원합니다. "coll"이라는 이름의 컬렉션을 동일한 S3 버킷을 사용하여 "coll_bak"으로 백업 및 복원한다고 가정합니다.
구성:
Milvus는
bucket_A
를 스토리지로 사용합니다.MinIO 구성을 사용합니다:
minio:
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
ssl:
tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
bucketName: bucket_A # Bucket name in MinIO/S3
rootPath: files # The root path where the message is stored in MinIO/S3
백업 워크플로
1. Milvus와 MinIO가 올바른 위치를 가리키도록 backup.yaml
을 구성합니다.
# 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
2. 명령을 사용하여 백업을 생성합니다.
./milvus-backup create -c coll -n my_backup
이 명령은 백업을 bucket_A/backup/my_backup
에 저장합니다.
3. 백업을 새 컬렉션에 복원합니다.
./milvus-backup restore -c coll -n my_backup -s _bak
이렇게 하면 동일한 Milvus 인스턴스 내에서 "coll"이 "coll_bak"으로 복원됩니다.
그림: 하나의 Milvus 인스턴스 내 백업 및 복원 워크플로
그림: 하나의 Milvus 인스턴스 내 백업 및 복원 워크플로
사용 사례 2: 하나의 S3 버킷을 공유하는 두 Milvus 인스턴스 간 백업 및 복원
한 Milvus 인스턴스에서 컬렉션을 백업하고 동일한 S3 버킷을 사용하지만 루트 경로가 다른 다른 인스턴스로 복원합니다. milvus_A에 "coll"이라는 컬렉션이 있다고 가정하고, 이를 "coll_bak"이라는 새 컬렉션으로 백업하여 milvus_B에 복원합니다. 두 Milvus 인스턴스는 스토리지로 동일한 버킷 "bucket_A"를 공유하지만 루트 경로는 서로 다릅니다.
구성
Milvus A는
files_A
를 루트 경로로 사용합니다.Milvus B는
files_B
를 루트 경로로 사용합니다.Milvus A의 MinIO 구성:
minio:
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
ssl:
tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
bucketName: bucket_A # Bucket name in MinIO/S3
rootPath: files_A # The root path where the message is stored in MinIO/S3
- Milvus B의 MinIO 구성:
minio:
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
ssl:
tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
bucketName: bucket_A # Bucket name in MinIO/S3
rootPath: files_B # The root path where the message is stored in MinIO/S3
백업 워크플로
1. Milvus A의 백업 구성
# milvus proxy address, compatible to milvus.yaml
milvus:
address: milvus_A
port: 19530
authorizationEnabled: false
# tls mode values [0, 1, 2]
# 0 is close, 1 is one-way authentication, 2 is two-way authentication.
tlsMode: 0
user: "root"
password: "Milvus"
# 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: milvus_A # 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_A" # 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
2. 백업 명령을 실행합니다:
./milvus-backup create -c coll -n my_backup
3. Milvus B에 대한 구성 복원
backup.yaml
을 Milvus B를 가리키도록 수정하고 MinIO 루트 경로를 조정합니다:
# milvus proxy address, compatible to milvus.yaml
milvus:
address: milvus_B
port: 19530
authorizationEnabled: false
# tls mode values [0, 1, 2]
# 0 is close, 1 is one-way authentication, 2 is two-way authentication.
tlsMode: 0
user: "root"
password: "Milvus"
# 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: milvus_B # 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_B" # 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
4. 복원 명령을 실행합니다:
./milvus-backup restore -c coll -n my_backup -s _bak
그림: 하나의 S3 버킷을 공유하는 두 Milvus 인스턴스 간의 백업 및 복원 워크플로
사용 사례 3: 하나의 S3, 서로 다른 버킷에 있는 두 Milvus 인스턴스 간의 백업 및 복원
Milvus 인스턴스(Milvus_A)에서 컬렉션을 백업하고 동일한 S3 서비스 내에 있지만 다른 버킷을 사용하는 다른 Milvus 인스턴스(Milvus_B)로 복원합니다.
구성:
Milvus는
bucket_A
를 스토리지로 사용합니다.Milvus A의 MinIO 구성:
minio:
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
ssl:
tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
bucketName: bucket_A # Bucket name in MinIO/S3
rootPath: files # The root path where the message is stored in MinIO/S3
- Milvus B에 대한 MinIO 구성:
minio:
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
ssl:
tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
bucketName: bucket_B # Bucket name in MinIO/S3
rootPath: files # The root path where the message is stored in MinIO/S3
백업 및 복원 워크플로
1. Milvus A용 백업 구성
# milvus proxy address, compatible to milvus.yaml
milvus:
address: milvus_A
port: 19530
authorizationEnabled: false
# tls mode values [0, 1, 2]
# 0 is close, 1 is one-way authentication, 2 is two-way authentication.
tlsMode: 0
user: "root"
password: "Milvus"
# 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_B" # 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
2. 백업 명령을 실행합니다:
./milvus-backup create -c coll -n my_backup
3. Milvus B에 대한 구성 복원
# milvus proxy address, compatible to milvus.yaml
milvus:
address: milvus_B
port: 19530
authorizationEnabled: false
# tls mode values [0, 1, 2]
# 0 is close, 1 is one-way authentication, 2 is two-way authentication.
tlsMode: 0
user: "root"
password: "Milvus"
# 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_B" # 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_B" # 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
4. 복원 명령을 실행합니다:
./milvus-backup restore -c coll -n my_backup -s _bak
그림: 하나의 S3, 서로 다른 버킷에 있는 두 Milvus 인스턴스 간의 백업 및 복원 워크플로
그림: 하나의 S3, 서로 다른 버킷에 있는 두 Milvus 인스턴스 간의 백업 및 복원 워크플로우
사용 사례 4: 서로 다른 S3 서비스에서 두 개의 Milvus 인스턴스 간 백업 및 복원
하나의 S3 서비스(MinIO_A)를 사용하여 Milvus_A에서 "coll"이라는 이름의 컬렉션을 백업하고, 각 인스턴스가 서로 다른 스토리지 버킷을 사용하여 다른 S3 서비스(MinIO_B)를 사용하여 Milvus_B로 복원하는 것을 용이하게 하기 위해, 각 인스턴스가 서로 다른 스토리지 버킷을 활용합니다.
구성
- Milvus A용 MinIO 구성:
minio:
address: minio_A # 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
ssl:
tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
bucketName: bucket_A # Bucket name in MinIO/S3
rootPath: files # The root path where the message is stored in MinIO/S3
- Milvus B용 MinIO 구성
minio:
address: minio_B # 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
ssl:
tlsCACert: /path/to/public.crt # path to your CACert file, ignore when it is empty
bucketName: bucket_B # Bucket name in MinIO/S3
rootPath: files # The root path where the message is stored in MinIO/S3
백업 및 복원 워크플로
1. Milvus A용 백업 구성
# milvus proxy address, compatible to milvus.yaml
milvus:
address: milvus_A
port: 19530
authorizationEnabled: false
# tls mode values [0, 1, 2]
# 0 is close, 1 is one-way authentication, 2 is two-way authentication.
tlsMode: 0
user: "root"
password: "Milvus"
# 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: minio_A # 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
2. 백업 명령을 실행합니다:
./milvus-backup create -c coll -n my_backup
3. 백업 전송
S3 호환 도구 또는 SDK를 사용하여 minio_A:bucket_A/backup/my_backup
에서 minio_B:bucket_B/backup/my_backup
으로 백업을 수동으로 복사합니다.
4. Milvus B에 대한 구성 복원
# milvus proxy address, compatible to milvus.yaml
milvus:
address: milvus_B
port: 19530
authorizationEnabled: false
# tls mode values [0, 1, 2]
# 0 is close, 1 is one-way authentication, 2 is two-way authentication.
tlsMode: 0
user: "root"
password: "Milvus"
# 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: minio_B # 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_B" # 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_B" # 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
5. 복원 명령을 실행합니다:
./milvus-backup restore -c coll -n my_backup -s _bak
그림: 서로 다른 S3 서비스에서 두 Milvus 인스턴스 간의 백업 및 복원 워크플로
그림: 서로 다른 S3 서비스에서 두 Milvus 인스턴스 간의 백업 및 복원 워크플로
구성 파일 설명
configs/backup.yaml
파일을 편집하여 백업 설정을 사용자 환경에 맞게 조정하세요. 다음은 구성 옵션에 대한 분석입니다:
로깅: 로깅 수준 및 출력 기본 설정을 구성합니다.
# Configures the system log output.
log:
level: info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
console: true # whether print log to console
file:
rootPath: "logs/backup.log"
Milvus 연결: Milvus 인스턴스에 대한 연결 세부 정보를 설정합니다.
# milvus proxy address, compatible to milvus.yaml
milvus:
address: localhost
port: 19530
authorizationEnabled: false
# tls mode values [0, 1, 2]
# 0 is close, 1 is one-way authentication, 2 is two-way authentication.
tlsMode: 0
user: "root"
password: "Milvus"
MinIO 구성: 백업이 MinIO 또는 기타 S3 호환 스토리지와 상호 작용하는 방식을 정의합니다.
# 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: "a-bucket" # 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: "a-bucket" # 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
결론
Milvus 백업 도구는 Milvus 인스턴스 내부 및 전체에서 컬렉션을 백업하고 복원할 수 있는 강력한 솔루션을 제공합니다. 단일 인스턴스 내에서 백업을 관리하든, 동일한 S3 서비스의 인스턴스 간에 백업을 관리하든, 서로 다른 S3 서비스 간에 백업을 관리하든, milvus-backup은 유연하고 정확하게 모든 것을 처리합니다.
핵심 사항
다용도성: Milvus-backup은 간단한 인스턴스 내 백업부터 복잡한 서비스 간 복원에 이르기까지 다양한 시나리오를 지원합니다.
구성 유연성:
backup.yaml
파일을 적절하게 구성함으로써 사용자는 다양한 스토리지 설정 및 네트워크 구성을 수용하여 특정 요구 사항에 맞게 백업 및 복원 프로세스를 사용자 지정할 수 있습니다.보안 및 제어: S3 버킷과 경로를 직접 조작하면 데이터 저장 및 보안을 제어할 수 있어 백업을 안전하고 권한이 있는 사용자만 액세스할 수 있습니다.
효과적인 데이터 관리는 애플리케이션에서 Milvus의 잠재력을 최대한 활용하기 위해 매우 중요합니다. Milvus 백업 도구를 숙달하면 복잡한 분산 환경에서도 데이터의 내구성과 가용성을 보장할 수 있습니다. 이 가이드는 사용자가 강력한 백업 전략을 구현하고 모범 사례와 효율적인 데이터 처리 기술을 촉진할 수 있도록 지원합니다.
개발자, 데이터 엔지니어, IT 전문가 등 누구든 Milvus 백업 도구를 이해하고 활용하면 안정적이고 효율적인 데이터 관리 솔루션을 제공함으로써 프로젝트 성공에 크게 기여할 수 있습니다.
- 준비
- 명령 개요
- 백업/복원 사용 사례
- 사용 사례 1: 하나의 Milvus 인스턴스 내에서 백업 및 복원
- 사용 사례 2: 하나의 S3 버킷을 공유하는 두 Milvus 인스턴스 간 백업 및 복원
- 사용 사례 3: 하나의 S3, 서로 다른 버킷에 있는 두 Milvus 인스턴스 간의 백업 및 복원
- 사용 사례 4: 서로 다른 S3 서비스에서 두 개의 Milvus 인스턴스 간 백업 및 복원
- 구성 파일 설명
- 결론
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word