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

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

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

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

  • الترحيل بين المثيلات عبر بيئات S3

الترحيل بين المثيلات عبر بيئات S3

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

نظرة عامة

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

multi-storage-backup-and-restore.png النسخ الاحتياطي والاستعادة متعدد المخازن. png

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

  1. قم بإنشاء نسخة احتياطية (my_backup) للمجموعة coll في bucket_A من مخزن الكائناتmilvus_A.

  2. انقل النسخة الاحتياطية my_backup إلى bucket_B من وحدة تخزين الكائنات milvus_B.

في bucket_B ، قم بالاستعادة من النسخة الاحتياطية وقم بتسمية المجموعة المستعادة coll_bak.

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

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

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

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

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

  • minio.backupBucketName: اسم الدلو المستخدم للتخزين الاحتياطي. في هذا المثال، تم التعيين إلى bucket_A.

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

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

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

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

ينشئ هذا الأمر النسخة الاحتياطية bucket_A/backup/my_backup في مخزن الكائنات في milvus_A.

قم بنقل النسخة الاحتياطية يدويًا إلى milvus_B

نظرًا لأن milvus_A و milvus_B يستخدمان وحدة تخزين كائنات مختلفة، فأنت بحاجة إلى تنزيل النسخة الاحتياطية يدويًا من وحدة تخزين ميلفوس_أ وتحميلها إلى وحدة تخزينmilvus_B.

استخدام وحدة تحكم MinIO

  1. قم بتسجيل الدخول إلى وحدة تحكم MinIO.

  2. حدد موقع الدلو المحدد في minio.address لـ milvus_A.

  3. حدد ملفات النسخ الاحتياطي في الدلو.

  4. انقر فوق تنزيل لتنزيل الملفات إلى جهازك.

استخدام عميل mc

بدلاً من ذلك، يمكنك استخدام عميل mc لتنزيل ملفات النسخ الاحتياطية:

  1. تكوين مضيف MinIO:
# configure a Minio host
mc alias set my_minio https://<minio_endpoint> <accessKey> <secretKey>
  1. سرد الدلاء المتاحة:
# List the available buckets
mc ls my_minio
  1. تنزيل دلو بشكل متكرر:
# Download a bucket recursively
mc cp --recursive my_minio/<your-bucket-path> <local_dir_path>

بمجرد تنزيل ملفات النسخ الاحتياطية، يمكنك تحميلها إلى وحدة تخزين الكائنات التي يستخدمها milvus_B للاستعادة المستقبلية. بدلاً من ذلك، يمكنك تحميل النسخة الاحتياطية إلى Zilliz Cloud لإنشاء قاعدة بيانات متجهة مُدارة ببياناتك. لمزيد من التفاصيل، راجع الترحيل من ميلفوس إلى زيليز كلاود.

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

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

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

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

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

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

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

جرب Managed Milvus مجاناً

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

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

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