استيعاب بيانات Azure HPC Cache - أسلوب msrsync

تقدم هذه المقالة إرشادات مفصلة لاستخدام msrsync الأداة المساعدة لنسخ البيانات إلى حاوية تخزين Azure Blob لاستخدامها مع Azure HPC Cache.

لمعرفة المزيد حول نقل البيانات إلى تخزين Blob ل Azure HPC Cache، اقرأ نقل البيانات إلى تخزين Azure Blob.

msrsync يمكن استخدام الأداة لنقل البيانات إلى هدف تخزين خلفي ل Azure HPC Cache. تم تصميم هذه الأداة لتحسين استخدام النطاق الترددي عن طريق تشغيل عمليات متوازية rsync متعددة. وهو متاح من GitHub في https://github.com/jbd/msrsync.

msrsync يقسم الدليل المصدر إلى "مستودعات" منفصلة ثم يقوم بتشغيل عمليات فردية rsync على كل مستودع.

أظهر الاختبار الأولي باستخدام جهاز ظاهري رباعي النواة أفضل كفاءة عند استخدام 64 عملية. msrsync استخدم الخيار -p لتعيين عدد العمليات إلى 64.

لاحظ أنه msrsync يمكن الكتابة من وإلى وحدات التخزين المحلية فقط. يجب أن يكون المصدر والوجهة قابلين للوصول كتركيبات محلية على محطة العمل المستخدمة لإصدار الأمر.

اتبع هذه الإرشادات لاستخدامها msrsync لملء تخزين Azure Blob باستخدام Azure HPC Cache:

  1. تثبيت msrsync والمتطلبات الأساسية الخاصة به (rsync وPython 2.6 أو أحدث)

  2. حدد العدد الإجمالي للملفات والدلائل المراد نسخها.

    على سبيل المثال، استخدم الأداة المساعدة prime.py مع الوسيطات prime.py --directory /path/to/some/directory (متوفرة عن طريق تنزيل https://github.com/Azure/Avere/blob/main/src/clientapps/dataingestor/prime.py).

    إذا لم تكن تستخدم prime.py، يمكنك حساب عدد العناصر باستخدام أداة GNU find كما يلي:

    find <path> -type f |wc -l         # (counts files)
    find <path> -type d |wc -l         # (counts directories)
    find <path> |wc -l                 # (counts both)
    
  3. قسم عدد العناصر على 64 لتحديد عدد العناصر لكل عملية. استخدم هذا الرقم مع -f الخيار لتعيين حجم المستودعات عند تشغيل الأمر.

  4. msrsync إصدار الأمر لنسخ الملفات:

    msrsync -P --stats -p64 -f<ITEMS_DIV_64> --rsync "-ahv --inplace" <SOURCE_PATH> <DESTINATION_PATH>
    

    على سبيل المثال، تم تصميم هذا الأمر لنقل 11000 ملف في 64 عملية من /test/source-repository إلى /mnt/hpccache/repository:

    mrsync -P --stats -p64 -f170 --rsync "-ahv --inplace" /test/source-repository/ /mnt/hpccache/repository