تحميل رصيد HPC ذاكرة التخزين المؤقت حركة مرور العميل
توضح هذه المقالة بعض الطرق الأساسية لموازنة حركة مرور العميل إلى كافة نقاط التحميل على ذاكرة التخزين المؤقت ل Azure HPC.
تحتوي كل ذاكرة تخزين مؤقت HPC على ثلاثة عناوين IP مختلفة على الأقل ، ويمكن أن تحتوي ذاكرة التخزين المؤقت ذات قيم الإنتاجية الأكبر على ما يصل إلى 12. من المهم استخدام جميع عناوين IP للحصول على الفوائد الكاملة لذاكرة التخزين المؤقت ل Azure HPC.
هناك العديد من الخيارات لموازنة الأحمال التي يحملها عميلك:
- اختيار عنوان IP مختلف لكل عميل يدويا
- تضمين تدوير عنوان IP في البرامج النصية التي يتصاعد بها العميل
- تكوين نظام DNS لتوجيه طلبات العميل تلقائيا بين جميع العناوين المتاحة (نظام أسماء النطاقات المستدير)
يعتمد نظام موازنة التحميل المناسب لك على مدى تعقيد سير العمل وعدد عناوين IP في ذاكرة التخزين المؤقت وعدد كبير من العوامل الأخرى. استشر مستشار Azure إذا كنت بحاجة إلى مساعدة في تحديد النهج الأفضل لك.
تعيين عناوين IP يدويا
يتم عرض عناوين IP الخاصة بتحميل ذاكرة التخزين المؤقت على صفحات إرشادات نظرة عامة على ذاكرة التخزين المؤقت وتحميلها في مدخل Azure، وعلى رسالة النجاح التي تتم طباعتها عند إنشاء ذاكرة تخزين مؤقت باستخدام Azure CLI أو PowerShell.
يمكنك استخدام صفحة تعليمات التثبيت لإنشاء أمر تحميل مخصص لكل عميل. حدد جميع قيم عنوان تحميل ذاكرة التخزين المؤقت عند إنشاء أوامر متعددة.
اقرأ تحميل ذاكرة التخزين المؤقت ل Azure HPC للحصول على التفاصيل.
استخدام موازنة الأحمال النصية
هناك عدة طرق لتدوير حوامل العميل برمجيا بين عناوين IP المتاحة. فيما يلي مثالان.
مثال على البرنامج النصي للأوامر التحميلية cksum
يستخدم أمر التحميل مثال هذا دالة cksum التجزئة واسم مضيف العميل لتوزيع اتصالات العميل تلقائيا بين جميع عناوين IP المتوفرة على ذاكرة التخزين المؤقت ل HPC. إذا كانت كافة الأجهزة العميلة تحتوي على أسماء مضيفين فريدة، فيمكنك تشغيل هذا الأمر على كل عميل لضمان استخدام كافة نقاط التحميل المتوفرة.
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. لا تأخذ هذه الطريقة في الاعتبار مقدار حركة المرور التي يولدها كل عميل ، ولكنها تتأكد من أن العملاء موزعون بالتساوي على جميع واجهات ذاكرة التخزين المؤقت بدلا من استخدام واحد أو اثنين فقط.
لا يتضمن هذا المستند إرشادات لإعداد خادم DNS وإدارته لعملائك في بيئة Azure.
DNS غير مطلوب من أجل تحميل العملاء باستخدام بروتوكول NFS وعناوين IP. يلزم وجود DNS إذا كنت تريد استخدام أسماء المجالات بدلا من عناوين IP للوصول إلى أنظمة NAS للأجهزة، أو إذا كان سير العمل يتضمن بعض إعدادات البروتوكول المتقدمة.
لا يلزم الوصول إلى نظام DNS الذي تستخدمه لتوزيع العناوين على العملاء بواسطة ذاكرة التخزين المؤقت HPC. في بعض الحالات ، قد ترغب في استخدام نظام DNS مخصص لذاكرة التخزين المؤقت نفسها ، ولكن تكوين هذا النظام أكثر تعقيدا بكثير من إعداد هذا النوع من نظام العميل المستدير. يجب عليك الرجوع إلى دعم Azure إذا كنت تفكر في تغيير خادم DNS الخاص ب HPC Cache إلى نظام مخصص.
تكوين توزيع جولة روبن لنقاط تحميل ذاكرة التخزين المؤقت
يقوم نظام round-robin (RRDNS) بتوجيه طلبات العملاء تلقائياً بين عناوين متعددة.
لإعداد هذا النظام ، تحتاج إلى تخصيص ملف تكوين خادم DNS بحيث عندما يتلقى طلبات التحميل إلى عنوان المجال الرئيسي ل HPC Cache ، فإنه يعين حركة المرور بين جميع نقاط تحميل نظام HPC Cache. يقوم العملاء بتحميل ذاكرة التخزين المؤقت HPC باستخدام اسم المجال الخاص به كوسيطة خادم، ويتم توجيههم إلى IP التالي للتحميل تلقائيا.
هناك خطوتان رئيسيتان لتكوين RRDNS:
قم بتعديل ملف خادم DNS
named.confالخاص بك لتعيين ترتيب دوري للاستعلامات إلى ذاكرة التخزين المؤقت HPC الخاصة بك. يؤدي هذا الخيار إلى تنقل الخادم خلال كافة قيم IP المتوفرة. إضافة عبارة كما يلي:options { rrset-order { class IN A name "hpccache.contoso.com" order cyclic; }; };قم بتكوين سجلات ومؤشر (PTR) لكل عنوان IP المتوفر كما في المثال التالي.
توفر هذه
nsupdateالأوامر مثالا على تكوين DNS بشكل صحيح لذاكرة التخزين المؤقت HPC باستخدام اسم المجال hpccache.contoso.com وثلاثة عناوين تحميل (10.0.0.10 و 10.0.0.11 و 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 ، وكذلك إعداد سجلات المؤشر لدعم عمليات التحقق من DNS العكسية بشكل مناسب.
يوضح الرسم البياني أدناه البنية الأساسية لهذا التكوين.
<يوضح الرسم التخطيطي الاتصالات بين ثلاث فئات من العناصر: اسم نطاق HPC Cache الفردي (على اليسار)، وثلاثة عناوين IP (العمود الأوسط)، وثلاثة واجهات عميل DNS عكسية للاستخدام الداخلي (العمود الأيمن). يتم توصيل شكل بيضاوي واحد على اليسار يسمى "hpccache.contoso.com" بواسطة أسهم تشير إلى ثلاثة بيضاويات تحمل عناوين IP: 10.0.0.10 و 10.0.0.11 و 10.0.0.12. يتم تسمية الأسهم من البيضاوي hpccache.contoso.com إلى الأشكال البيضاوية الثلاثة IP ب "A". يتم توصيل كل من الأشكال البيضاوية لعنوان IP بواسطة سهمين إلى شكل بيضاوي المسمى واجهة العميل - يتم توصيل الشكل البيضاوي مع IP 10.0.0.10 إلى "client-IP-10.contoso.com"، الشكل البيضاوي مع IP 10.0.0.11 إلى "client-IP-11.contoso.com"، والشكل البيضاوي مع IP 10.0.0.12 متصل بـ "client-IP-11.contoso.com". الاتصالات بين البيضاوي لعنوان IP وبيضاوية واجهة العميل عبارة عن سهمين: سهم واحد يسمى "PTR" يشير من عنوان IP البيضاوي إلى واجهة العميل البيضاوية ، وسهم واحد يسمى "A" يشير من واجهة العميل البيضاوي إلى عنوان IP البيضاوي.> :::نهاية الصورة:::
بعد تكوين نظام RRDNS، اطلب من الأجهزة العميلة استخدامه لحل عنوان ذاكرة التخزين المؤقت HPC في أوامر التحميل الخاصة بها.
الخطوات التالية
- للمساعدة في موازنة تحميل العميل، اتصل بالدعم.
- لنقل البيانات إلى أهداف التخزين المؤقت الخاصة بذاكرة التخزين المؤقت، اقرأ تعبئة وحدة تخزين Azure Blob الجديدة.