موازنة التحميل في Openstack (الجزء الثاني)

В المادة الاخيرة تحدثنا عن محاولاتنا لاستخدام Watcher وقدمنا ​​تقرير اختبار. نقوم بإجراء مثل هذه الاختبارات بشكل دوري لتحقيق التوازن والوظائف المهمة الأخرى لسحابة مؤسسة كبيرة أو مشغل.

قد يتطلب التعقيد الكبير للمشكلة التي يتم حلها عدة مقالات لوصف مشروعنا. ننشر اليوم المقال الثاني في السلسلة المخصص لموازنة الأجهزة الافتراضية في السحابة.

بعض المصطلحات

قدمت شركة VmWare الأداة المساعدة DRS (جدولة الموارد الموزعة) لموازنة حمل بيئة المحاكاة الافتراضية التي طورتها وقدمتها.

كما يكتب searchvmware.techtarget.com/definition/VMware-DRS
"VMware DRS (جدولة الموارد الموزعة) هي أداة مساعدة تعمل على موازنة أحمال الحوسبة مع الموارد المتاحة في بيئة افتراضية. تعد الأداة جزءًا من مجموعة المحاكاة الافتراضية التي تسمى VMware Infrastructure.

باستخدام VMware DRS، يحدد المستخدمون قواعد لتوزيع الموارد المادية بين الأجهزة الافتراضية (VMs). يمكن تكوين الأداة المساعدة للتحكم اليدوي أو التلقائي. يمكن إضافة مجموعات موارد VMware أو إزالتها أو إعادة تنظيمها بسهولة. إذا رغبت في ذلك، يمكن عزل مجموعات الموارد بين وحدات الأعمال المختلفة. إذا تغير عبء العمل على جهاز ظاهري واحد أو أكثر بشكل كبير، فسيقوم VMware DRS بإعادة توزيع الأجهزة الافتراضية عبر الخوادم الفعلية. إذا انخفض عبء العمل الإجمالي، فقد يتم قطع اتصال بعض الخوادم الفعلية مؤقتًا ويتم دمج عبء العمل."

لماذا هناك حاجة إلى التوازن؟


في رأينا، تعد ميزة DRS ميزة سحابية لا بد منها، على الرغم من أن هذا لا يعني أنه يجب استخدام DRS دائمًا وفي كل مكان. اعتمادًا على غرض السحابة واحتياجاتها، قد تكون هناك متطلبات مختلفة لـ DRS وطرق الموازنة. قد تكون هناك حالات حيث لا تكون هناك حاجة إلى التوازن على الإطلاق. أو حتى ضارة.

لفهم أين ولأي عملاء تكون هناك حاجة إلى DRS، دعونا ننظر في أهدافهم وغاياتهم. يمكن تقسيم السحب إلى عامة وخاصة. فيما يلي الاختلافات الرئيسية بين هذه السحب وأهداف العملاء.

السحابات الخاصة/عملاء المؤسسات الكبيرة
السحب العامة / الشركات المتوسطة والصغيرة، والناس

المعيار والأهداف الرئيسية للمشغل
تقديم خدمة أو منتج موثوق
تخفيض تكلفة الخدمات في المعركة في سوق تنافسية

متطلبات الخدمة
الموثوقية على جميع المستويات وفي جميع عناصر النظام

أداء مضمون

إعطاء الأولوية للأجهزة الافتراضية في عدة فئات 

أمن المعلومات والبيانات المادية

SLA والدعم على مدار الساعة طوال أيام الأسبوع
أقصى سهولة في الحصول على الخدمة

خدمات بسيطة نسبيا

المسؤولية عن البيانات تقع على عاتق العميل

لا يلزم تحديد أولويات VM

أمن المعلومات على مستوى الخدمات القياسية والمسؤولية على العميل

قد يكون هناك مواطن الخلل

لا يوجد جيش تحرير السودان، الجودة غير مضمونة

دعم البريد الإلكتروني

النسخ الاحتياطي ليس ضروريا

ميزات العميل
مجموعة واسعة جدًا من التطبيقات.

التطبيقات القديمة الموروثة في الشركة.

أبنية مخصصة معقدة لكل عميل.

قواعد التقارب.

يعمل البرنامج دون توقف في وضع 7 × 24. 

أدوات النسخ الاحتياطي على الطاير.

الحمل الدوري المتوقع على العملاء.
التطبيقات النموذجية – موازنة الشبكة، Apache، WEB، VPN، SQL

قد يتوقف التطبيق لفترة من الوقت

يسمح بالتوزيع التعسفي للأجهزة الافتراضية في السحابة

النسخ الاحتياطي للعميل

يمكن التنبؤ بمتوسط ​​الحمل الإحصائي مع عدد كبير من العملاء.

الآثار المترتبة على الهندسة المعمارية
التكتل الجغرافي

تخزين مركزي أو موزع

محجوزة IBS
تخزين البيانات المحلية على العقد الحسابية

موازنة الأهداف
حتى توزيع الحمل

الحد الأقصى لاستجابة التطبيق 

الحد الأدنى من وقت التأخير لتحقيق التوازن

تحقيق التوازن فقط عندما يكون ذلك ضروريا بشكل واضح

إحضار بعض المعدات للصيانة الوقائية
تقليل تكاليف الخدمة وتكاليف المشغل 

تعطيل بعض الموارد في حالة انخفاض التحميل

توفير الطاقة

تقليل تكاليف الموظفين

نستخلص لأنفسنا الاستنتاجات التالية:

للسحب الخاصةالمقدمة للعملاء من الشركات الكبيرة، يمكن استخدام DRS وفقًا للقيود التالية:

  • أمن المعلومات ومراعاة قواعد التقارب عند الموازنة؛
  • توافر الموارد الكافية في الاحتياطي في حالة وقوع حادث؛
  • توجد بيانات الجهاز الظاهري على نظام تخزين مركزي أو موزع؛
  • إجراءات الإدارة والنسخ الاحتياطي والموازنة المذهلة مع مرور الوقت؛
  • الموازنة فقط ضمن مجموعة من العملاء المضيفين؛
  • تحقيق التوازن فقط عندما يكون هناك اختلال قوي في التوازن، وأكثر عمليات ترحيل الأجهزة الافتراضية فعالية وأمانًا (بعد كل شيء، يمكن أن تفشل عملية الترحيل)؛
  • موازنة الأجهزة الافتراضية "الهادئة" نسبيًا (قد يستغرق ترحيل الأجهزة الافتراضية "المزعجة" وقتًا طويلاً جدًا)؛
  • الموازنة مع الأخذ في الاعتبار "التكلفة" - الحمل على نظام التخزين والشبكة (مع بنيات مخصصة للعملاء الكبار)؛
  • تحقيق التوازن مع مراعاة خصائص السلوك الفردي لكل جهاز افتراضي؛
  • يفضل أن تتم الموازنة في غير ساعات العمل (الليالي، عطلات نهاية الأسبوع، العطلات).

للسحب العامةمن خلال توفير الخدمات للعملاء الصغار، يمكن استخدام DRS في كثير من الأحيان، مع إمكانات متقدمة:

  • وغياب قيود أمن المعلومات وقواعد التقارب؛
  • التوازن داخل السحابة.
  • تحقيق التوازن في أي وقت معقول؛
  • موازنة أي جهاز افتراضي؛
  • موازنة الأجهزة الافتراضية "المزعجة" (حتى لا تزعج الآخرين)؛
  • غالبًا ما توجد بيانات الجهاز الظاهري على الأقراص المحلية؛
  • مع الأخذ بعين الاعتبار متوسط ​​أداء أنظمة وشبكات التخزين (البنية السحابية موحدة)؛
  • الموازنة وفقًا للقواعد العامة وإحصائيات سلوك مركز البيانات المتاحة.

تعقيد المشكلة

تكمن صعوبة تحقيق التوازن في أن دائرة الاستعلام والأمن يجب أن تعمل مع عدد كبير من العوامل غير المؤكدة:

  • سلوك مستخدمي كل من أنظمة المعلومات الخاصة بالعملاء؛
  • خوارزميات لتشغيل خوادم نظام المعلومات؛
  • سلوك خوادم نظام إدارة قواعد البيانات (DBMS)؛
  • الحمل على موارد الحوسبة، وأنظمة التخزين، والشبكة؛
  • تفاعل الخوادم مع بعضها البعض في الصراع على الموارد السحابية.

يحدث تحميل عدد كبير من خوادم التطبيقات الافتراضية وقواعد البيانات على الموارد السحابية بمرور الوقت، ويمكن أن تظهر العواقب وتتداخل مع بعضها البعض مع تأثير غير متوقع خلال وقت غير متوقع. حتى للتحكم في العمليات البسيطة نسبيًا (على سبيل المثال، التحكم في المحرك ونظام تسخين المياه في المنزل)، تحتاج أنظمة التحكم الأوتوماتيكية إلى استخدام أنظمة معقدة التناسب-التكامل-التمايز خوارزميات مع ردود الفعل.

موازنة التحميل في Openstack (الجزء الثاني)

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

موازنة التحميل في Openstack (الجزء الثاني)

تاريخ تطوراتنا

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

المرحلة 1

استخدمنا نظامًا يعتمد على تقنية الشبكة العصبية وحاولنا تحسين مواردنا بناءً عليه.

كان الاهتمام في هذه المرحلة هو اختبار تقنية جديدة، وكانت أهميتها هي تطبيق نهج غير قياسي لحل مشكلة حيث، مع تساوي الأمور الأخرى، استنفدت الأساليب القياسية نفسها عمليًا.

لقد أطلقنا النظام، وبدأنا بالفعل في تحقيق التوازن. لم يسمح لنا حجم السحابة لدينا بالحصول على النتائج المتفائلة التي ذكرها المطورون، ولكن كان من الواضح أن التوازن كان ناجحًا.

في الوقت نفسه، كان لدينا قيود خطيرة للغاية:

  • لتدريب الشبكة العصبية، تحتاج الأجهزة الافتراضية إلى التشغيل دون تغييرات كبيرة لمدة أسابيع أو أشهر.
  • تم تصميم الخوارزمية للتحسين بناءً على تحليل البيانات "التاريخية" السابقة.
  • يتطلب تدريب الشبكة العصبية كمية كبيرة إلى حد ما من البيانات وموارد الحوسبة.
  • من الممكن إجراء التحسين والموازنة بشكل نادر نسبيًا - مرة واحدة كل بضع ساعات، وهو ما لا يكفي بوضوح.

المرحلة 2

وبما أننا لم نكن راضين عن الوضع، قررنا تعديل النظام، والقيام بذلك، الإجابة السؤال الرئيسي - لمن نصنعها؟

أولاً – لعملاء الشركات. وهذا يعني أننا بحاجة إلى نظام يعمل بسرعة، مع تلك القيود المؤسسية التي لا تؤدي إلا إلى تبسيط التنفيذ.

السؤال الثاني - ماذا تقصد بكلمة "على وجه السرعة"؟ ونتيجة لمناقشة قصيرة، قررنا أنه يمكننا البدء بوقت استجابة يتراوح من 5 إلى 10 دقائق، بحيث لا تؤدي الزيادات قصيرة المدى إلى إدخال النظام في حالة رنين.

السؤال الثالث – ما هو حجم العدد المتوازن من الخوادم الذي تختاره؟
هذه المشكلة حلت نفسها. عادةً، لا يقوم العملاء بإنشاء مجموعات خادم كبيرة جدًا، وهذا يتوافق مع توصيات المقالة للحد من التجميعات إلى 30-40 خادمًا.

بالإضافة إلى ذلك، من خلال تقسيم تجمع الخادم، نقوم بتبسيط مهمة خوارزمية التوازن.

السؤال الرابع – ما مدى ملاءمة الشبكة العصبية لنا مع عملية التعلم الطويلة والتوازن النادر؟ قررنا التخلي عنها لصالح خوارزميات تشغيلية أبسط من أجل الحصول على النتائج في ثوانٍ.

موازنة التحميل في Openstack (الجزء الثاني)

يمكن العثور على وصف للنظام الذي يستخدم مثل هذه الخوارزميات وعيوبها هنا

لقد قمنا بتنفيذ هذا النظام وإطلاقه وحصلنا على نتائج مشجعة - وهو الآن يقوم بتحليل الحمل السحابي بانتظام ويقدم توصيات لنقل الأجهزة الافتراضية، وهي صحيحة إلى حد كبير. وحتى الآن، من الواضح أنه يمكننا تحقيق إطلاق ما بين 10% إلى 15% من الموارد للأجهزة الافتراضية الجديدة مع تحسين جودة عمل الأجهزة الحالية.

موازنة التحميل في Openstack (الجزء الثاني)

عند اكتشاف خلل في ذاكرة الوصول العشوائي (RAM) أو وحدة المعالجة المركزية (CPU)، يصدر النظام أوامر إلى برنامج جدولة Tionix لإجراء ترحيل مباشر للأجهزة الافتراضية المطلوبة. كما يتبين من نظام المراقبة، انتقل الجهاز الظاهري من مضيف (علوي) إلى مضيف آخر (سفلي) وقام بتحرير الذاكرة على المضيف العلوي (المظلل بالدوائر الصفراء)، واحتلالها على التوالي على المضيف السفلي (المظلل باللون الأبيض) الدوائر).

نحاول الآن إجراء تقييم أكثر دقة لفعالية الخوارزمية الحالية ونحاول العثور على الأخطاء المحتملة فيها.

المرحلة 3

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

  1. الإحصائيات، على سبيل المثال، هنا и هنا يوضح أن الأنظمة ذات المعالجين والأربعة معالجات أقل أداءً بشكل ملحوظ من الأنظمة ذات المعالج الواحد. وهذا يعني أن جميع المستخدمين يحصلون على مخرجات أقل بكثير من وحدة المعالجة المركزية (CPU)، وذاكرة الوصول العشوائي (RAM)، ومحرك أقراص الحالة الصلبة (SSD)، وشبكة الاتصال المحلية (LAN)، وFC المشتراة في أنظمة متعددة المعالجات مقارنة بالأنظمة ذات المعالج الواحد.
  2. قد يكون لدى برامج جدولة الموارد نفسها أخطاء جسيمة، هنا واحدة من المقالات حول هذا الموضوع.
  3. تتيح التقنيات التي تقدمها Intel و AMD لمراقبة ذاكرة الوصول العشوائي وذاكرة التخزين المؤقت دراسة سلوك الأجهزة الافتراضية ووضعها بحيث لا يتداخل الجيران "المزعجون" مع الأجهزة الافتراضية "الهادئة".
  4. توسيع مجموعة المعلمات (الشبكة، نظام التخزين، أولوية الجهاز الظاهري، تكلفة الترحيل، جاهزيته للترحيل).

في المجموع

كانت نتيجة عملنا لتحسين موازنة الخوارزميات هي الاستنتاج الواضح بأن استخدام الخوارزميات الحديثة من الممكن تحقيق تحسين كبير لموارد مركز البيانات (25-30٪) وفي نفس الوقت تحسين جودة خدمة العملاء.

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

سنخبرك المزيد عن إمكانيات المعالجات والمجدولين والموازنة عالية المستوى في المقالات التالية.

المصدر: www.habr.com

إضافة تعليق