🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI
Beranda
  • Peralatan
  • Home
  • Docs
  • Peralatan

  • Cadangan Milvus

  • Kasus Umum

  • Migrasi Antar Instance di Seluruh Bucket

Migrasi Antar Instance Lintas Bucket

Topik ini merinci proses mencadangkan koleksi dari satu instans Milvus dan mengembalikannya ke instans lainnya, dengan masing-masing instans menggunakan bucket yang berbeda di dalam penyimpanan objek yang sama.

Gambaran Umum

Diagram di bawah ini mengilustrasikan proses pencadangan dan pemulihan menggunakan bucket yang berbeda dalam penyimpanan objek yang sama.

cross-bucket-backup-and-restore.png pencadangan-dan-pemulihan-silang-bucket.png

Asumsikan kita memiliki dua contoh Milvus, milvus_A dan milvus_B, keduanya menggunakan mesin penyimpanan MinIO default untuk penyimpanan objek. Kedua contoh ini menggunakan bucket yang berbeda, yaitu bucket_A dan bucket_B dalam penyimpanan objek yang sama. Dalam contoh ini, tujuan kita adalah menyelesaikan tugas-tugas berikut:

  1. Buat cadangan (my_backup) untuk koleksi coll di bucket_A dan simpan cadangan di bucket_B.

  2. Di bucket_B, pulihkan dari cadangan dan beri nama koleksi yang dipulihkan coll_bak.

Prasyarat**

  • Pastikan alat milvus-backup telah diinstal.

  • Biasakan diri Anda dengan mengonfigurasi pengaturan penyimpanan objek Milvus. Untuk detailnya, lihat Penyimpanan Objek.

Mencadangkan koleksi dari milvus_A

Langkah 1: Siapkan konfigurasi

Masuk ke direktori proyek milvus-backup dan buat direktori bernama configs:

mkdir configs
cd configs

Unduh berkas konfigurasi pencadangan backup.yaml:

wget https://raw.githubusercontent.com/zilliztech/milvus-backup/main/configs/backup.yaml

Struktur berkas terlihat seperti ini:

├── configs
│   └── backup.yaml
├── milvus-backup
└── README.md

Langkah 2: Edit file konfigurasi

Ubah file backup.yaml untuk mengatur konfigurasi yang sesuai untukmilvus_A:

  • Konfigurasi koneksi

    # 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"
    
    • milvus.address: Alamat IP atau nama host server milvus_A.

    • milvus.port: Port TCP yang didengarkan server Milvus (default 19530).

  • Konfigurasi penyimpanan (pengaturan 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: "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
    
  • minio.bucketName: Nama bucket yang digunakan untuk penyimpanan data di milvus_A. Dalam contoh ini, diatur ke bucket_A.

  • minio.rootPath: Jalur root di dalam bucket tempat data dari milvus_A disimpan. Dalam contoh ini, atur ke files.

  • minio.backupBucketName: Nama bucket yang digunakan untuk penyimpanan cadangan dimilvus_B. Dalam contoh ini, milvus_A dan milvus_B menggunakan bucket yang berbeda. Oleh karena itu, atur ke bucket_B.

  • minio.backupRootPath: Jalur root di dalam bucket yang ditetapkan untuk menyimpan file cadangan di milvus_B. Dalam contoh ini, atur ke backup.

Langkah 3: Buat cadangan

Setelah backup.yaml disimpan, buat cadangan bernama my_backup:

./milvus-backup create -c coll -n my_backup

Perintah ini membuat cadangan bucket_B/backup/my_backup di penyimpanan objek untuk koleksi coll.

Kembalikan cadangan ke milvus_B

Langkah 1: Konfigurasikan pengaturan pemulihan

Ulangi langkah 2 untuk memodifikasi konfigurasi untuk pemulihan ke milvus_B, memastikan minio.bucketName diatur ke bucket_B.

Berikut ini contoh konfigurasi:

...
# 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
...

Langkah 2: Pulihkan cadangan

Pulihkan cadangan ke milvus_B:

./milvus-backup restore -c coll -n my_backup -s _bak

Perintah ini mengembalikan cadangan ke dalam koleksi baru bernama coll_bak di milvus_B, dengan data yang disimpan di bucket_B/files/insert_log/[ID of new collection].

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?