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

milvus-logo
LFAI
الصفحة الرئيسية
  • الأدوات
  • Home
  • Docs
  • الأدوات

  • النسخ الاحتياطي ميلفوس

  • الحالات الشائعة

  • الترحيل بين المثيلات في دلو واحد

الترحيل بين المثيلات في دلو واحد (مسارات جذر مختلفة)

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

نظرة عامة

يوضح الرسم البياني أدناه عملية النسخ الاحتياطي والاستعادة باستخدام دلو مشترك.

shared-bucket-backup-and-restore.png دلو مشترك للنسخ الاحتياطي والاستعادة. png

لنفترض أن لدينا مثيلات Milvus، milvus_A و milvus_B ، وكلاهما يستخدم محرك التخزين الافتراضي MinIO لتخزين الكائنات. يشترك هذان المثيلان في نفس الدلو، bucket_A ، ولكنهما يخزنان بياناتهما في مسارات جذر مختلفة: files_A ل milvus_A والملفات_B ل milvus_B. في هذا المثال، هدفنا هو إكمال المهام التالية:

  1. إنشاء نسخة احتياطية (my_backup) للمجموعة coll المخزنة تحت مسارfiles_A لـ milvus_A.

  2. الاستعادة من النسخة الاحتياطية وتخزينها في files_B لـ milvus_B.

المتطلبات الأساسية

  • تأكد من تثبيت أداة النسخ الاحتياطي Milvus-backup.

  • تعرف على تكوين إعدادات تخزين كائنات Milvus. للحصول على التفاصيل، راجع تخزين الكائنات.

قم بعمل نسخة احتياطية من مجموعة من milvus_A

الخطوة 1: إعداد التكوين

انتقل إلى دليل مشروع milvus-backup وأنشئ دليلاً باسم التكوينات:

mkdir configs
cd configs

قم بتنزيل ملف التكوين الاحتياطي backup.yaml:

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

تبدو بنية الملف هكذا:

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

الخطوة 2: تحرير ملف التكوين

قم بتعديل ملف backup.yaml لتعيين التكوينات المناسبة لـ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"
    
    • milvus.address: عنوان IP أو اسم المضيف للخادم milvus_A.

    • milvus.port: منفذ TCP الذي يستمع إليه خادم ميلفوس (الافتراضي 19530).

  • تكوينات التخزين (إعدادات 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: 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
    
    • minio.bucketName: اسم الدلو المستخدم للتخزين milvus_A. في هذا المثال، اضبط على bucket_A.

    • minio.rootPath: المسار الجذر داخل الدلو حيث يتم تخزين البيانات من milvus_A. في هذا المثال، تم التعيين إلى files_A.

    • minio.backupBucketName: اسم الدلو المستخدم للتخزين. في هذا المثال، milvus_A و milvus_B يشتركان في الدلو. لذلك، قم بالتعيين إلىbucket_A.

    • minio.backupRootPath: المسار الجذر داخل الدلو المخصص لتخزين ملفات النسخ الاحتياطي في milvus_B. في هذا المثال، استخدم مسارًا مختلفًا عن milvus_A. لذلك، قم بالتعيين إلى backup.

الخطوة 3: إنشاء نسخة احتياطية

بمجرد حفظ backup.yaml ، قم بإنشاء نسخة احتياطية باسم my_backup:

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

يقوم هذا الأمر بإنشاء نسخة احتياطية bucket_A/backup/my_backup في مخزن الكائنات للمجموعة coll.

استعادة النسخة الاحتياطية إلى milvus_B

الخطوة 1: تكوين إعدادات الاستعادة

كرر الخطوة 2 لتعديل التكوينات للاستعادة إلى milvus_B ، مع التأكد من تعيين minio.bucketName إلى bucket_A و minio.rootPath إلى files_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: 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
  ...

الخطوة 2: استعادة النسخة الاحتياطية

استعادة النسخة الاحتياطية إلى milvus_B:

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

يستعيد هذا الأمر النسخة الاحتياطية إلى مجموعة جديدة باسم coll_bak في milvus_B ، مع تخزين البيانات في bucket_A/files_B/insert_log/[ID of new collection].

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟