🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
  • Home
  • Blog
  • كيفية استخدام أداة النسخ الاحتياطي ميلفوس: دليل خطوة بخطوة

كيفية استخدام أداة النسخ الاحتياطي ميلفوس: دليل خطوة بخطوة

  • Engineering
September 27, 2024
Michael Mo

Milvus عبارة عن قاعدة بيانات متجهة مفتوحة المصدر وعالية الأداء وقابلة للتطوير بدرجة كبيرة يمكنها تخزين وفهرسة والبحث في البيانات غير المهيكلة على نطاق مليار من خلال تضمينات متجهة عالية الأبعاد. وهي مثالية لبناء تطبيقات الذكاء الاصطناعي الحديثة مثل الجيل المعزز للاسترجاع(RAG)، والبحث الدلالي، والبحث متعدد الوسائط، وأنظمة التوصيات. يعمل برنامج Milvus بكفاءة عبر بيئات مختلفة، من أجهزة الكمبيوتر المحمولة إلى الأنظمة الموزعة على نطاق واسع. وهو متاح كبرنامج مفتوح المصدر وخدمة سحابية.

Milvus Backup هي أداة للنسخ الاحتياطي واستعادة بيانات Milvus. وهي توفر كلاً من CLI وواجهة برمجة التطبيقات لاستيعاب سيناريوهات التطبيقات المختلفة. سيرشدك هذا الدليل خلال عملية استخدام Milvus Backup، مما يضمن لك التعامل بثقة مع احتياجات النسخ الاحتياطي الخاصة بك.

التحضير

قبل بدء عملية النسخ الاحتياطي أو الاستعادة، تحتاج إلى إعداد بيئتك:

1. قم بتحميل أحدث إصدار ثنائي من إصدارات مستودع النسخ الاحتياطي ميلفوس باك أب. حدد الإصدار المناسب لنظام التشغيل الخاص بك:

  • لنظام التشغيل macOS: milvus-backup_Darwin_arm64.tar.gz أو milvus-backup_Darwin_x86_64.tar.gz

  • لنظام لينكس: milvus-backup_Linux_arm64.tar.gz أو milvus-backup_Linux_x86_64.tar.gz

2. قمبتنزيل ملف التكوين من GitHub.

3. استخرج ملف القطران إلى الدليل المفضل لديك وضع backup.yaml في الدليل configs/ داخل نفس المجلد المستخرج. تأكد من ظهور بنية الدليل الخاص بك على النحو التالي:

├── 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

حالات استخدام النسخ الاحتياطي/الاستعادة

هناك العديد من حالات الاستخدام التي يمكن فيها تطبيق أداة النسخ الاحتياطي ميلفوس للنسخ الاحتياطي بشكل فعال، اعتمادًا على احتياجاتك وتكويناتك الخاصة:

  1. ضمن مثيل Milvus واحد: نسخ مجموعة إلى مجموعة جديدة داخل نفس خدمة ميلفوس.

  2. بين مثيلات Milvus في S3 واحد مع دلو واحد: نقل مجموعة بين مثيلات Milvus بمسارات جذر مختلفة ولكن باستخدام نفس دلو S3.

  3. بين مثيلات Milvus عبر دلاء S3 مختلفة: نقل مجموعة بين دلاء S3 مختلفة ضمن نفس خدمة S3.

  4. عبر خدمات S3 المختلفة: نسخ مجموعة بين مثيلات Milvus التي تستخدم خدمات S3 مختلفة.

دعونا نستكشف كل حالة استخدام بالتفصيل.

حالة الاستخدام 1: النسخ الاحتياطي والاستعادة داخل مثيل Milvus واحد

النسخ الاحتياطي واستعادة مجموعة داخل نفس مثيل Milvus. لنفترض أن مجموعة باسم "coll" يتم نسخها احتياطيًا واستعادتها باسم "coll_bak" باستخدام نفس دلو S3.

التكوين:

  • يستخدم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. قم بتكوين backup.yaml لتوجيه Milvus و MinIO إلى المواقع الصحيحة.

# 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

يؤدي هذا الأمر إلى استعادة "coll" كـ "coll_bak" داخل نفس مثيل Milvus.

Figure: The Backup and Restore Workflow Within One Milvus Instance الشكل: سير عمل النسخ الاحتياطي والاستعادة داخل مثيل ملفوس واحد

الشكل: سير عمل النسخ الاحتياطي والاستعادة ضمن مثيل واحد من مالفوس

حالة الاستخدام 2: النسخ الاحتياطي والاستعادة بين مثيلين لميلفوس يتشاركان مجموعة S3 واحدة

قم بعمل نسخة احتياطية لمجموعة من أحد نسختي ملفوس واستعادتها إلى نسخة أخرى باستخدام نفس دلو S3 ولكن بمسارات جذر مختلفة. بافتراض وجود مجموعة باسم "coll" في Milvus_A، نقوم بعمل نسخة احتياطية واستعادتها إلى مجموعة جديدة باسم "coll_bak" إلى Milvus_B. تشترك نسختا Milvus في نفس الدلو "bucket_A" كمخزن، ولكن لهما مسارات جذر مختلفة.

التكوين

  • يستخدمMilvus A files_A كمسار جذر.

  • يستخدمMilvus B files_B كمسار جذر.

  • تكوين MinIO لـ Milvus A:

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
  • تكوين MinIO لـ Milvus B:
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

Figure: The Backup and Restore Workflow Between Two Milvus Instances Sharing One S3 Bucket الشكل: سير عمل النسخ الاحتياطي والاستعادة بين مثيلين من Milvus يتشاركان دلو S3 واحد

حالة الاستخدام 3: النسخ الاحتياطي والاستعادة بين مثيلين لميلفوس في S3 واحد، دلاء مختلفة

قم بعمل نسخة احتياطية من مجموعة من مثيل Milvus (Milvus_A) واستعادتها إلى مثيل Milvus آخر (Milvus_B) ضمن نفس خدمة S3 ولكن باستخدام دلاء مختلفة.

التكوين:

  • يستخدمMilvus bucket_A للتخزين.

  • تكوين MinIO لـ Milvus A:

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
  • تكوين MinIO لـ Milvus B:
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

Figure: The Backup and Restore Workflow Between Two Milvus Instances in One S3, Different Buckets الشكل: سير عمل النسخ الاحتياطي والاستعادة بين مثيلين لميلفوس في S3 واحد، دلاء مختلفة

الشكل: سير عمل النسخ الاحتياطي والاستعادة بين مثيلين لميلفوس في S3 واحد، دلاء مختلفة

حالة الاستخدام 4: النسخ الاحتياطي والاستعادة بين مثيلين لميلفوس في S3 مختلفين

لتسهيل عملية النسخ الاحتياطي لمجموعة اسمها "coll" من Milvus_A باستخدام خدمة S3 واحدة (MinIO_A) واستعادتها إلى Milvus_B باستخدام خدمة S3 مختلفة (MinIO_B)، مع استخدام كل مثيل دلاء تخزين مختلفة.

التكوين

  • تكوين MinIO لـ Milvus A:
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
  • تكوين MinIO لـ Milvus B
 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. نقل النسخة الاحتياطية

انسخ النسخة الاحتياطية يدويًا من minio_A:bucket_A/backup/my_backup إلى minio_B:bucket_B/backup/my_backup باستخدام أداة متوافقة مع S3 أو SDK.

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

Figure: The Backup and Restore Workflow Between Two Milvus Instances Across Different S3 Services الشكل: سير عمل النسخ الاحتياطي والاستعادة بين مثيلين لميلفوس عبر خدمات S3 المختلفة

الشكل: سير عمل النسخ الاحتياطي والاستعادة بين مثيلين لميلفوس عبر خدمات S3 مختلفة.

شرح ملف التكوين

قم بتحرير الملف 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 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 Backup حلاً قوياً للنسخ الاحتياطي واستعادة المجموعات داخل مثيلات Milvus وعبرها. سواء كنت تدير النسخ الاحتياطية داخل مثيل واحد، أو بين المثيلات في نفس خدمة S3، أو عبر خدمات S3 المختلفة، فإن أداة النسخ الاحتياطي Milvus-backup تتعامل مع كل ذلك بمرونة ودقة.

الوجبات السريعة الرئيسية

  1. تعدد الاستخدامات: يدعم النسخ الاحتياطي Milvus-backup سيناريوهات متعددة، بدءًا من النسخ الاحتياطية البسيطة داخل المثيل الواحد إلى عمليات الاستعادة المعقدة عبر الخدمات.

  2. مرونة التكوين: من خلال تهيئة ملف backup.yaml بشكل مناسب، يمكن للمستخدمين تخصيص عمليات النسخ الاحتياطي والاستعادة لتناسب احتياجات محددة، واستيعاب إعدادات التخزين المختلفة وتكوينات الشبكة.

  3. الأمان والتحكم: تسمح المعالجة المباشرة لمجموعات ومسارات S3 بالتحكم في تخزين البيانات وأمانها، مما يضمن أن تكون النسخ الاحتياطية آمنة ولا يمكن الوصول إليها إلا للمستخدمين المصرح لهم فقط.

الإدارة الفعالة للبيانات أمر بالغ الأهمية للاستفادة من إمكانات Milvus الكاملة في تطبيقاتك. من خلال إتقان أداة النسخ الاحتياطي Milvus، يمكنك ضمان متانة البيانات وتوافرها، حتى في البيئات الموزعة المعقدة. يمكّن هذا الدليل المستخدمين من تنفيذ استراتيجيات النسخ الاحتياطي القوية، وتعزيز أفضل الممارسات وتقنيات التعامل مع البيانات بكفاءة.

سواء كنت مطورًا أو مهندس بيانات أو محترفًا في مجال تكنولوجيا المعلومات، فإن فهم أداة النسخ الاحتياطي Milvus-backup واستخدامها يمكن أن يساهم بشكل كبير في نجاح مشروعك من خلال توفير حلول موثوقة وفعالة لإدارة البيانات.

Like the article? Spread the word

استمر في القراءة