تحميل موازنة حركة مرور عميل HPC Cache

تشرح هذه المقالة بعض الطرق الأساسية لموازنة نسبة استخدام الشبكة للعميل إلى جميع نقاط التحميل على Azure HPC Cache.

تحتوي كل HPC Cache على ثلاثة عناوين IP مختلفة على الأقل، ويمكن أن تحتوي ذاكرة التخزين المؤقت ذات قيم معدل النقل الأكبر على ما يصل إلى 12. من المهم استخدام جميع عناوين IP للحصول على المزايا الكاملة ل Azure HPC Cache.

هناك خيارات مختلفة لموازنة التحميل تحميل العميل الخاص بك:

  • اختيار عنوان IP مختلف للتركيب يدويا لكل عميل
  • تضمين دوران عنوان IP في البرامج النصية لتحميل العميل
  • تكوين نظام DNS لتوجيه طلبات العميل تلقائيا بين جميع العناوين المتاحة (DNS الترتيب الدوري)

يعتمد نظام موازنة التحميل المناسب لك على تعقيد سير العمل الخاص بك وعدد عناوين IP في ذاكرة التخزين المؤقت وعدد كبير من العوامل الأخرى. استشر مستشار Azure إذا كنت بحاجة إلى مساعدة في تحديد النهج الأفضل لك.

تعيين عناوين IP يدويا

يتم عرض عناوين IP لتركيب ذاكرة التخزين المؤقت في صفحات نظرة عامة على ذاكرة التخزين المؤقت وإرشادات التحميل في مدخل Microsoft Azure، وعلى رسالة النجاح التي تطبع عند إنشاء ذاكرة تخزين مؤقت باستخدام Azure CLI أو PowerShell.

يمكنك استخدام صفحة إرشادات التحميل لإنشاء أمر تحميل مخصص لكل عميل. حدد كافة قيم عنوان تحميل ذاكرة التخزين المؤقت عند إنشاء أوامر متعددة.

اقرأ تحميل Azure HPC Cache للحصول على التفاصيل.

استخدام موازنة التحميل النصية

هناك عدة طرق لتدوير تحميلات العميل برمجيا بين عناوين IP المتوفرة. فيما يلي مثالان.

مثال على cksum للبرنامج النصي لأمر التحميل

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

mount -o hard,proto=tcp,mountproto=tcp,retry=30 $(X=(10.0.0.{1..3});echo ${X[$(($(hostname|cksum|cut -f 1 -d ' ')%3))]}):/${NAMESPACE} /mnt

لاستخدام هذا المثال في سير العمل، قم بتخصيص هذه المصطلحات:

  • في X= التعبير، استخدم قائمة مفصولة بمسافة لكافة عناوين تحميل ذاكرة التخزين المؤقت، بترتيب تم فرزه.

    يعين التعبير (X=(10.0.0.{7..9}) المتغير X كمجموعة عناوين التحميل هذه: {10.0.0.7، 10.0.0.8، 10.0.0.9}. استخدم عنوان IP الأساسي لذاكرة التخزين المؤقت والعناوين الدقيقة الموضحة في صفحة نظرة عامة على ذاكرة التخزين المؤقت. إذا لم تكن العناوين متتالية، فسردها جميعا بترتيب رقمي.

  • في %3 المصطلح ، استخدم العدد الفعلي لعناوين IP التحميل التي تحتوي على ذاكرة التخزين المؤقت (عادة 3 أو 6 أو 9 أو 12).

    على سبيل المثال، استخدم %9 إذا كانت ذاكرة التخزين المؤقت الخاصة بك تعرض تسعة عناوين IP لتحميل العميل.

  • بالنسبة للتعبير ${NAMESPACE}، استخدم مسار مساحة اسم هدف التخزين الذي سيوصول إليه العميل.

    يمكنك استخدام متغير قمت بتعريفه (NAMESPACE في المثال)، أو تمرير القيمة الحرفية بدلا من ذلك.

    يستخدم مثال الأمر في نهاية هذا القسم قيمة حرفية لمسار مساحة الاسم، /blob-target-1.

  • إذا كنت تريد استخدام مسار محلي مخصص على أجهزة العميل، فقم بتغيير القيمة /mnt إلى المسار الذي تريده.

فيما يلي مثال على أمر تحميل عميل تم ملؤه:

mount -o hard,proto=tcp,mountproto=tcp,retry=30 $(X=(10.7.0.{1..3});echo ${X[$(($(hostname|cksum|cut -f 1 -d ' ')%3))]}):/blob-target-1 /hpc-cache/blob1 

مثال دالة الترتيب الدوري

يستخدم مثال التعليمات البرمجية هذا عناوين IP للعميل كعنصر عشوائي لتوزيع العملاء على جميع عناوين IP المتوفرة ل HPC Cache.

function mount_round_robin() {

  # to ensure the clients are spread out somewhat evenly the default
  # mount point is based on this client's IP octet4 % number of HPC cache mount IPs.

  declare -a MOUNT_IPS="($(echo ${NFS_IP_CSV} | sed "s/,/ /g"))"
  HASH=$(hostname | cksum | cut -f 1 -d ' ')
  DEFAULT_MOUNT_INDEX=$((${HASH} % ${#MOUNT_IPS[@]}))
  ROUND_ROBIN_IP=${MOUNT_IPS[${DEFAULT_MOUNT_INDEX}]}

  DEFAULT_MOUNT_POINT="${BASE_DIR}/default"

  # no need to write again if it is already there
  if ! grep --quiet "${DEFAULT_MOUNT_POINT}" /etc/fstab; then
      echo "${ROUND_ROBIN_IP}:${NFS_PATH} ${DEFAULT_MOUNT_POINT} nfs hard,proto=tcp,mountproto=tcp,retry=30 0 0" >> /etc/fstab
      mkdir -p "${DEFAULT_MOUNT_POINT}"
      chown nfsnobody:nfsnobody "${DEFAULT_MOUNT_POINT}"
  fi
  if ! grep -qs "${DEFAULT_MOUNT_POINT} " /proc/mounts; then
      retrycmd_if_failure 12 20 mount "${DEFAULT_MOUNT_POINT}" || exit 1
  fi
}

استخدام موازنة تحميل DNS

يشرح هذا القسم أساسيات تكوين نظام DNS لتوزيع اتصالات العميل على جميع نقاط التحميل على Azure HPC Cache. لا يمثل هذا الأسلوب مقدار نسبة استخدام الشبكة التي ينشئها كل عميل، ولكنه يتأكد من أن العملاء موزعون بالتساوي على جميع واجهات ذاكرة التخزين المؤقت بدلا من استخدام واحد أو اثنين فقط.

لا يتضمن هذا المستند إرشادات لإعداد خادم DNS وإدارته لعملائك في بيئة Azure.

DNS غير مطلوب لتحميل العملاء باستخدام بروتوكول NFS وعناوين IP. DNS مطلوب إذا كنت تريد استخدام أسماء المجالات بدلا من عناوين IP للوصول إلى أنظمة NAS للأجهزة، أو إذا كان سير العمل يتضمن إعدادات بروتوكول متقدمة معينة.

لا يحتاج نظام DNS الذي تستخدمه لتوزيع العناوين على العملاء إلى الوصول إليه بواسطة HPC Cache. في بعض الحالات قد تحتاج إلى استخدام نظام DNS مخصص لذاكرة التخزين المؤقت نفسها، ولكن تكوين هذا النظام أكثر تعقيدا بكثير من إعداد هذا النوع من نظام الترتيب الدوري للعميل. يجب عليك استشارة دعم Azure إذا كنت تفكر في تغيير خادم DNS الخاص ب HPC Cache إلى نظام مخصص.

تكوين توزيع الترتيب الدوري لنقاط تحميل ذاكرة التخزين المؤقت

يقوم نظام round-robin (RRDNS) بتوجيه طلبات العملاء تلقائياً بين عناوين متعددة.

لإعداد هذا النظام، تحتاج إلى تخصيص ملف تكوين خادم DNS بحيث عندما يحصل على طلبات التحميل إلى عنوان المجال الرئيسي ل HPC Cache، فإنه يعين حركة المرور بين جميع نقاط تحميل نظام HPC Cache. يقوم العملاء بتحميل HPC Cache باستخدام اسم المجال الخاص به كوسيطة الخادم، ويتم توجيههم إلى IP التحميل التالي تلقائيا.

هناك خطوتان رئيسيتان لتكوين RRDNS:

  1. قم بتعديل ملف خادم named.conf DNS لتعيين ترتيب دوري للاستعلامات إلى HPC Cache. يؤدي هذا الخيار إلى تنقل الخادم خلال كافة قيم IP المتوفرة. إضافة العبارة كما يلي:

    options {
        rrset-order {
            class IN A name "hpccache.contoso.com" order cyclic;
        };
    };
    
  2. قم بتكوين سجلات ومؤشر (PTR) لكل عنوان IP المتوفر كما في المثال التالي.

    توفر هذه nsupdate الأوامر مثالا لتكوين DNS بشكل صحيح ل HPC Cache مع اسم المجال hpccache.contoso.com وثلاثة عناوين تحميل (10.0.0.10 و10.0.0.11 و10.0.12 و10.0.0.12):

    update add hpccache.contoso.com. 86400 A 10.0.0.10
    update add hpccache.contoso.com. 86400 A 10.0.0.11
    update add hpccache.contoso.com. 86400 A 10.0.0.12
    update add client-IP-10.contoso.com. 86400 A 10.0.0.10
    update add client-IP-11.contoso.com. 86400 A 10.0.0.11
    update add client-IP-12.contoso.com. 86400 A 10.0.0.12
    update add 10.0.0.10.in-addr.arpa. 86400 PTR client-IP-10.contoso.com
    update add 11.0.0.10.in-addr.arpa. 86400 PTR client-IP-11.contoso.com
    update add 12.0.0.10.in-addr.arpa. 86400 PTR client-IP-12.contoso.com
    

    تنشئ هذه الأوامر سجل A لكل عنوان من عناوين تحميل HPC Cache، كما تقوم بإعداد سجلات المؤشر لدعم عمليات فحص DNS العكسية بشكل مناسب.

    يوضح الرسم البياني أدناه البنية الأساسية لهذا التكوين.

    Diagram showing client mount point DNS configuration.

بعد تكوين نظام RRDNS، اطلب من أجهزة العميل استخدامه لحل عنوان HPC Cache في أوامر التحميل الخاصة بهم.

الخطوات التالية

  • للمساعدة في موازنة تحميل العميل، اتصل بالدعم.
  • لنقل البيانات إلى أهداف التخزين المؤقت، اقرأ تعبئة تخزين Azure Blob جديد.