موازنة التحميل في Openstack

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

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

المصطلحات والتعاريف

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

فعل هي مهمة أولية تعمل على تغيير الحالة الحالية للمورد المستهدف المُدار لمجموعة OpenStack، مثل: ترحيل جهاز افتراضي (الترحيل)، وتغيير حالة طاقة العقدة (change_node_power_state)، وتغيير حالة خدمة nova (change_nova_service_state )، تغيير النكهة (تغيير الحجم)، تسجيل رسائل NOP (nop)، عدم اتخاذ إجراء لفترة زمنية معينة - الإيقاف المؤقت (السكون)، نقل القرص (volume_migrate).

خطة عمل - تدفق محدد من الإجراءات التي يتم تنفيذها بترتيب معين لتحقيق هدف محدد. وتتضمن خطة العمل أيضًا قياس الأداء العالمي مع مجموعة من مؤشرات الأداء. يتم إنشاء خطة عمل بواسطة Watcher بعد إجراء تدقيق ناجح، ونتيجة لذلك تجد الإستراتيجية المستخدمة حلاً لتحقيق الهدف. تتكون خطة العمل من قائمة من الإجراءات المتسلسلة.

مراجعة هو طلب لتحسين الكتلة. يتم إجراء التحسين من أجل تحقيق هدف واحد في مجموعة معينة. لكل عملية تدقيق ناجحة، يقوم Watcher بإنشاء خطة عمل.

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

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

تَجَمَّع عبارة عن مجموعة من الأجهزة المادية التي توفر موارد الحوسبة والتخزين والشبكات ويتم إدارتها بواسطة نفس عقدة إدارة OpenStack.

نموذج البيانات العنقودية (CDM) هو تمثيل منطقي للحالة الحالية وطوبولوجيا الموارد التي تديرها المجموعة.

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

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

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

مخطط المراقب - جزء من محرك صنع القرار Watcher. تأخذ هذه الوحدة مجموعة من الإجراءات التي تم إنشاؤها بواسطة إستراتيجية وتنشئ خطة سير عمل تحدد كيفية جدولة هذه الإجراءات المختلفة في الوقت المناسب ولكل إجراء، ما هي الشروط المسبقة.

أهداف واستراتيجيات المراقب

الهدف
إستراتيجية

هدف وهمي
استراتيجية وهمية 

استراتيجية وهمية باستخدام عينة من محركات التسجيل

استراتيجية وهمية مع تغيير الحجم

توفير الطاقة
استراتيجية توفير الطاقة

توحيد الخادم
توحيد الخادم غير المتصل الأساسي

استراتيجية توحيد أعباء العمل VM

موازنة عبء العمل
استراتيجية هجرة توازن عبء العمل

استراتيجية توازن سعة التخزين

استقرار عبء العمل

الجار الصاخب
الجار الصاخب

التحسين الحراري
استراتيجية تعتمد على درجة حرارة المخرج

تحسين تدفق الهواء
استراتيجية هجرة تدفق الهواء الموحدة

صيانة الأجهزة
هجرة المنطقة

غير مصنف
المشغل الميكانيكي

هدف وهمي - الهدف المحجوز الذي يستخدم لأغراض الاختبار.

الاستراتيجيات ذات الصلة: الإستراتيجية الوهمية، الإستراتيجية الوهمية باستخدام عينة من محركات التسجيل والاستراتيجية الوهمية مع تغيير الحجم. الإستراتيجية الوهمية هي إستراتيجية وهمية تستخدم لاختبار التكامل من خلال Tempest. لا توفر هذه الإستراتيجية أي تحسين مفيد، والغرض الوحيد منها هو استخدام اختبارات Tempest.

الإستراتيجية الوهمية باستخدام نماذج محركات التسجيل - الإستراتيجية مشابهة للاستراتيجية السابقة، والفرق الوحيد هو استخدام نموذج "محرك التسجيل" الذي يجري العمليات الحسابية باستخدام أساليب التعلم الآلي.

الإستراتيجية الوهمية مع تغيير الحجم - الإستراتيجية مشابهة للاستراتيجية السابقة، والفرق الوحيد هو استخدام تغيير النكهة (الترحيل وتغيير الحجم).

لا تستخدم في الإنتاج.

توفير الطاقة - تقليل استهلاك الطاقة. إن إستراتيجية توفير الطاقة لهذا الهدف، جنبًا إلى جنب مع إستراتيجية دمج أحمال العمل VM (توحيد الخادم)، قادرة على ميزات إدارة الطاقة الديناميكية (DPM) التي توفر الطاقة عن طريق دمج أعباء العمل ديناميكيًا حتى أثناء فترات الاستخدام المنخفض للموارد: يتم نقل الأجهزة الافتراضية إلى عدد أقل من العقد ، ويتم تعطيل العقد غير الضرورية. بعد الدمج، تقدم الإستراتيجية قرارًا بشأن تشغيل/إيقاف العقد وفقًا للمعلمات المحددة: "min_free_hosts_num" - عدد العقد المجانية الممكّنة التي تنتظر التحميل، و"free_used_percent" - النسبة المئوية للمضيفين الممكّنين مجانًا إلى عدد العقد التي تشغلها الآلات. لكي تنجح الإستراتيجية يجب أن يكون هناك تم تمكين Ironic وتكوينه للتعامل مع دورة الطاقة على العقد.

معلمات الاستراتيجية

المعلمة
نوع
افتراضيا
описание

free_used_percent
رقم الهاتف
10.0
نسبة عدد عقد الحوسبة المجانية إلى عدد عقد الحوسبة مع الأجهزة الافتراضية

min_free_hosts_num
الباحث
1
الحد الأدنى لعدد عقد الحوسبة المجانية

يجب أن تحتوي السحابة على عقدتين على الأقل. الطريقة المستخدمة هي تغيير حالة طاقة العقدة (change_node_power_state). لا تتطلب الاستراتيجية جمع المقاييس.

توحيد الخادم - تقليل عدد عقد الحوسبة (الدمج). لديها استراتيجيتان: استراتيجية دمج الخادم غير المتصل الأساسي واستراتيجية دمج عبء العمل VM.

تعمل إستراتيجية Basic Offline Server Consolidation على تقليل إجمالي عدد الخوادم المستخدمة وتقليل عدد عمليات الترحيل أيضًا.

تتطلب الإستراتيجية الأساسية المقاييس التالية:

المقاييس
مكتب
الإضافات
تعليق

compute.node.cpu.percent
مقياس السقف
لا شيء
 

cpu_util
مقياس السقف
لا شيء
 

معلمات الإستراتيجية: ترحيل_المحاولات - عدد المجموعات للبحث عن مرشحين محتملين لإيقاف التشغيل (افتراضي، 0، بدون قيود)، الفترة - الفاصل الزمني بالثواني للحصول على تجميع ثابت من مصدر بيانات القياس (افتراضي، 700).

الطرق المستخدمة: الترحيل وتغيير حالة خدمة nova (change_nova_service_state).

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

  1. مرحلة التفريغ - معالجة الموارد المفرطة في الاستخدام؛
  2. مرحلة الدمج – التعامل مع الموارد غير المستغلة بالقدر الكافي؛
  3. تحسين الحل - تقليل عدد الهجرات؛
  4. تعطيل عقد الحوسبة غير المستخدمة.

تتطلب الإستراتيجية المقاييس التالية:

المقاييس
مكتب
الإضافات
تعليق

ذاكرة
مقياس السقف
لا شيء
 

disk.root.size
مقياس السقف
لا شيء
 

المقاييس التالية اختيارية ولكنها ستعمل على تحسين دقة الإستراتيجية إذا كانت متوفرة:

المقاييس
مكتب
الإضافات
تعليق

الذاكرة. المقيم
مقياس السقف
لا شيء
 

cpu_util
مقياس السقف
لا شيء
 

معلمات الإستراتيجية: الفترة — الفاصل الزمني بالثواني للحصول على تجميع ثابت من مصدر بيانات القياس (افتراضي، 3600).

يستخدم نفس الأساليب مثل الاستراتيجية السابقة. المزيد من التفاصيل هنا.

موازنة عبء العمل - موازنة عبء العمل بين عقد الحوسبة. يحتوي الهدف على ثلاث إستراتيجيات: استراتيجية ترحيل توازن عبء العمل، وتثبيت عبء العمل، واستراتيجية توازن سعة التخزين.

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

متطلبات

  • استخدام المعالجات المادية؛
  • عقدتين حاسوبيتين فعليتين على الأقل؛
  • تم تثبيت وتكوين مكون Ceilometer - ceilometer-agent-compute، الذي يعمل على كل عقدة حوسبة، وCeilometer API، بالإضافة إلى جمع المقاييس التالية:

المقاييس
مكتب
الإضافات
تعليق

cpu_util
مقياس السقف
لا شيء
 

الذاكرة. المقيم
مقياس السقف
لا شيء
 

معلمات الاستراتيجية:

المعلمة
نوع
افتراضيا
описание

المقاييس
خيط
"وحدة المعالجة المركزية"
المقاييس الأساسية هي: 'cpu_util'، 'memory.resident'.

عتبة
رقم الهاتف
25.0
عتبة عبء العمل للترحيل.

فترة
رقم الهاتف
300
الفترة الزمنية التراكمية Ceilometer.

الطريقة المستخدمة هي الهجرة .

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

متطلبات

  • استخدام المعالجات المادية؛
  • عقدتين حاسوبيتين فعليتين على الأقل؛
  • تم تثبيت وتكوين مكون Ceilometer - ceilometer-agent-compute، الذي يعمل على كل عقدة حوسبة، وCeilometer API، بالإضافة إلى جمع المقاييس التالية:

المقاييس
مكتب
الإضافات
تعليق

cpu_util
مقياس السقف
لا شيء
 

الذاكرة. المقيم
مقياس السقف
لا شيء
 

إستراتيجية موازنة سعة التخزين (إستراتيجية يتم تنفيذها بدءًا من Queens) - تقوم الإستراتيجية بنقل الأقراص اعتمادًا على الحمل الموجود على مجمعات Cinder. يتم اتخاذ قرار النقل عندما يتجاوز معدل استخدام المجمع حدًا محددًا. يجب أن يجعل القرص الذي يتم نقله التجمع أقرب إلى متوسط ​​الحمل لجميع تجمعات Cinder.

المتطلبات والقيود

  • الحد الأدنى اثنين من حمامات السباحة.
  • إمكانية ترحيل القرص.
  • نموذج بيانات الكتلة - جامع نموذج بيانات مجموعة Cinder.

معلمات الاستراتيجية:

المعلمة
نوع
افتراضيا
описание

Volume_threshold
رقم الهاتف
80.0
قيمة عتبة الأقراص لموازنة وحدات التخزين.

الطريقة المستخدمة هي ترحيل القرص (volume_migrate).

الجار المزعج - تحديد وترحيل "الجار المزعج" - جهاز افتراضي منخفض الأولوية يؤثر سلبًا على أداء الجهاز الظاهري ذي الأولوية العالية فيما يتعلق بـ IPC عن طريق الإفراط في استخدام ذاكرة التخزين المؤقت للمستوى الأخير. الإستراتيجية الخاصة: Noisy Neighbor (معلمة الإستراتيجية المستخدمة هي Cache_threshold (القيمة الافتراضية هي 35)، عندما ينخفض ​​الأداء إلى القيمة المحددة، يبدأ الترحيل. لكي تعمل الإستراتيجية، قم بالتمكين مقاييس LLC (ذاكرة التخزين المؤقت للمستوى الأخير)، أحدث خادم إنتل مع دعم CMT، بالإضافة إلى جمع المقاييس التالية:

المقاييس
مكتب
الإضافات
تعليق

cpu_l3_cache
مقياس السقف
لا شيء
إنتل المطلوبة CMT.

نموذج بيانات الكتلة (افتراضي): جامع نماذج بيانات مجموعة Nova. الطريقة المستخدمة هي الهجرة .

العمل مع هذا الهدف من خلال لوحة المعلومات لم يتم تنفيذه بالكامل في كوينز.

التحسين الحراري — تحسين نظام درجة الحرارة. تعد درجة حرارة المخرج (هواء العادم) أحد أنظمة القياس الحراري المهمة لقياس الحالة الحرارية/عبء العمل للخادم. يحتوي الهدف على إستراتيجية واحدة، وهي الإستراتيجية المستندة إلى درجة حرارة المخرج، والتي تقرر ترحيل أحمال العمل إلى الأجهزة المضيفة الملائمة حرارياً (أدنى درجة حرارة للمخرج) عندما تصل درجة حرارة مخرج الأجهزة المضيفة المصدر إلى عتبة قابلة للتكوين.

لكي تنجح الإستراتيجية، تحتاج إلى خادم مثبت عليه Intel Power Node Manager وتكوينه 3.0 أو أحدث، بالإضافة إلى جمع المقاييس التالية:

المقاييس
مكتب
الإضافات
تعليق

hardware.ipmi.node.outlet_temperature
مقياس السقف
IPMI
 

معلمات الاستراتيجية:

المعلمة
نوع
افتراضيا
описание

عتبة
رقم الهاتف
35.0
عتبة درجة الحرارة للهجرة.

فترة
رقم الهاتف
30
الفاصل الزمني، بالثواني، للحصول على التجميع الإحصائي من مصدر بيانات القياس.

الطريقة المستخدمة هي الهجرة .

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

لكي تنجح الإستراتيجية، تحتاج إلى:

  • الأجهزة: حساب العقد <دعم NodeManager 3.0؛
  • عقدتان حاسوبيتان على الأقل؛
  • تم تثبيت مكون ceilometer-agent-compute ومكون Ceilometer API على كل عقدة حوسبة، والتي يمكنها الإبلاغ عن المقاييس بنجاح مثل تدفق الهواء، وطاقة النظام، ودرجة حرارة المدخل:

المقاييس
مكتب
الإضافات
تعليق

hardware.ipmi.node.airflow
مقياس السقف
IPMI
 

hardware.ipmi.node.temperature
مقياس السقف
IPMI
 

hardware.ipmi.node.power
مقياس السقف
IPMI
 

لكي تعمل الإستراتيجية، تحتاج إلى خادم مزود بـ Intel Power Node Manager 3.0 أو إصدار أحدث تم تثبيته وتكوينه.

القيود: هذا المفهوم ليس مخصصًا للإنتاج.

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

الهجرات الحية ممكنة.

معلمات الاستراتيجية:

المعلمة
نوع
افتراضيا
описание

عتبة_تدفق الهواء
رقم الهاتف
400.0
عتبة تدفق الهواء لوحدة الهجرة هي 0.1CFM

عتبة_inlet_t
رقم الهاتف
28.0
مدخل عتبة درجة الحرارة لقرار الهجرة

عتبة_القوة
رقم الهاتف
350.0
عتبة قوة النظام لقرار الترحيل

فترة
رقم الهاتف
30
الفاصل الزمني، بالثواني، للحصول على التجميع الإحصائي من مصدر بيانات القياس.

الطريقة المستخدمة هي الهجرة .

صيانة الأجهزة - صيانة الأجهزة. الإستراتيجية المتعلقة بهذا الهدف هي منطقة الهجرة. الإستراتيجية عبارة عن أداة للترحيل التلقائي الفعال والحد الأدنى من الأجهزة والأقراص الافتراضية في حالة الحاجة إلى صيانة الأجهزة. تبني الإستراتيجية خطة عمل وفق الأوزان: مجموعة الإجراءات التي لها وزن أكبر سيتم التخطيط لها قبل غيرها. هناك خياران للتكوين: action_weights والتوازي.

القيود: يجب تكوين أوزان العمل والتوازي.

معلمات الاستراتيجية:

المعلمة
نوع
افتراضيا
описание

compute_nodes
مجموعة
بدون اضاءة
حساب العقد للهجرة.

Storage_pools
مجموعة
بدون اضاءة
عقد التخزين للهجرة.

موازي_المجموع
عدد صحيح
6
إجمالي عدد الأنشطة التي يجب تنفيذها بالتوازي.

Parallel_per_node
عدد صحيح
2
عدد الإجراءات التي يتم تنفيذها بالتوازي لكل عقدة حسابية.

Parallel_per_pool
عدد صحيح
2
عدد الإجراءات التي يتم تنفيذها بالتوازي لكل تجمع تخزين.

الأولوية
موضوع
بدون اضاءة
قائمة الأولويات للأجهزة والأقراص الافتراضية.

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

عناصر مجموعة العقد الحاسوبية:

المعلمة
نوع
افتراضيا
описание

src_node
سلسلة
بدون اضاءة
عقدة الحساب التي يتم ترحيل الأجهزة الافتراضية منها (مطلوب).

dst_node
سلسلة
بدون اضاءة
احسب العقدة التي يتم ترحيل الأجهزة الافتراضية إليها.

عناصر مصفوفة عقدة التخزين:

المعلمة
نوع
افتراضيا
описание

src_pool
سلسلة
بدون اضاءة
مجمع التخزين الذي يتم ترحيل الأقراص منه (مطلوب).

dst_pool
سلسلة
بدون اضاءة
مجمع التخزين الذي يتم ترحيل الأقراص إليه.

src_type
سلسلة
بدون اضاءة
نوع القرص الأصلي (مطلوب).

dst_type
سلسلة
بدون اضاءة
نوع القرص الناتج (مطلوب).

عناصر أولوية الكائن:

المعلمة
نوع
افتراضيا
описание

تنفيذ المشاريع
مجموعة
بدون اضاءة
أسماء المشاريع.

compute_node
مجموعة
بدون اضاءة
حساب أسماء العقد.

Storage_pool
مجموعة
بدون اضاءة
أسماء تجمعات التخزين.

حساب
التعداد
بدون اضاءة
معلمات الجهاز الظاهري ["vcpu_num"، "mem_size"، "disk_size"، "created_at"].

تخزين
التعداد
بدون اضاءة
معلمات القرص ["الحجم"، "created_at"].

الأساليب المستخدمة هي ترحيل الجهاز الظاهري، وترحيل القرص.

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

خلق هدف جديد

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

قبل إنشاء هدف جديد، يجب عليك التأكد من عدم تلبية أي أهداف حالية لاحتياجاتك.

إنشاء البرنامج المساعد الجديد

لإنشاء هدف جديد، يجب عليك: توسيع الفئة المستهدفة، وتنفيذ طريقة الفئة get_name() لإرجاع المعرف الفريد للهدف الجديد الذي تريد إنشاءه. يجب أن يتطابق هذا المعرف الفريد مع اسم نقطة الإدخال الذي تعلنه لاحقًا.

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

تنفيذ طريقة الفصل get_translatable_display_name()لإعادة مفتاح الترجمة (في الواقع اسم العرض باللغة الإنجليزية) لهدفك الجديد. يجب أن تتطابق القيمة المرجعة مع السلسلة المترجمة إلى get_display_name().

تنفيذ طريقته get_efficacy_specification()لإرجاع مواصفات الكفاءة لهدفك. تقوم طريقة get_efficacy_specation() بإرجاع مثيل Unclassified() المقدم من Watcher. تعتبر مواصفات الأداء هذه مفيدة في عملية تطوير هدفك لأنها تتوافق مع المواصفات الفارغة.

اقرأ المزيد هنا

بنية المراقب (مزيد من التفاصيل) هنا).

موازنة التحميل في Openstack

مكونات

موازنة التحميل في Openstack

واجهة برمجة تطبيقات المراقب - مكون يقوم بتنفيذ REST API المقدم من Watcher. آليات التفاعل: CLI، Horizon plugin، Python SDK.

مراقب ديسيبل - قاعدة بيانات المراقب.

مراقب مطبق - مكون ينفذ تنفيذ خطة العمل التي تم إنشاؤها بواسطة مكون Watcher Decision Engine.

محرك قرار المراقب - المكون المسؤول عن حساب مجموعة من إجراءات التحسين المحتملة لتحقيق هدف التدقيق. إذا لم يتم تحديد استراتيجية، يقوم المكون بشكل مستقل باختيار الاستراتيجية الأكثر ملاءمة.

ناشر مقاييس المراقبة - مكون يجمع ويحسب بعض المقاييس أو الأحداث وينشرها إلى نقطة نهاية CEP. يمكن أيضًا توفير وظيفة المكون بواسطة ناشر Ceilometer.

محرك معالجة الأحداث المعقدة (CEP). — محرك لمعالجة الأحداث المعقدة. لأسباب تتعلق بالأداء، قد يكون هناك عدة مثيلات لمحرك CEP تعمل بشكل متزامن، حيث يقوم كل منها بمعالجة نوع معين من المقياس/الحدث. في نظام Watcher، يطلق CEP نوعين من الإجراءات: - تسجيل الأحداث / المقاييس المقابلة في قاعدة بيانات السلاسل الزمنية؛ - إرسال الأحداث المناسبة إلى Watcher Decision Engine عندما يمكن أن يؤثر هذا الحدث على نتيجة استراتيجية التحسين الحالية، نظرًا لأن مجموعة Openstack ليست نظامًا ثابتًا.

تتفاعل المكونات باستخدام بروتوكول AMQP.

تكوين مراقب

مخطط التفاعل مع Watcher

موازنة التحميل في Openstack

نتائج اختبار المراقب

  1. في صفحة التحسين - خطط العمل 500 (سواء على Queens الخالصة أو على الحامل الذي يحتوي على وحدات Tionix)، تظهر فقط بعد بدء التدقيق وإنشاء خطة عمل؛ ويتم فتح الخطة الفارغة بشكل طبيعي.
  2. توجد أخطاء في علامة تبويب تفاصيل الإجراء، ولا يمكن الحصول على هدف واستراتيجية التدقيق (سواء على Queens الخالصة أو على حامل وحدات Tionix).
  3. يتم إنشاء عمليات التدقيق بغرض الدمية (الاختبار) وإطلاقها بشكل طبيعي، ويتم إنشاء خطط العمل.
  4. لا يتم إنشاء عمليات تدقيق للهدف غير المصنف لأن الهدف غير فعال ومخصص للتكوين المتوسط ​​عند إنشاء إستراتيجيات جديدة.
  5. تم إنشاء عمليات التدقيق لغرض موازنة عبء العمل (استراتيجية موازنة سعة التخزين) بنجاح، ولكن لم يتم إنشاء خطة عمل. لا يلزم تحسين مجمع التخزين.
  6. تم إنشاء عمليات تدقيق هدف موازنة عبء العمل (إستراتيجية ترحيل توازن عبء العمل) بنجاح، ولكن لم يتم إنشاء خطة عمل.
  7. فشلت عمليات تدقيق موازنة عبء العمل (استراتيجية تثبيت عبء العمل).
  8. تم إنشاء عمليات تدقيق هدف الجوار الصاخب بنجاح، ولكن لم يتم إنشاء خطة عمل.
  9. تم إنشاء عمليات التدقيق بغرض صيانة الأجهزة بنجاح، ولم يتم إنشاء خطة العمل بالكامل (يتم إنشاء مؤشرات الأداء، ولكن لم يتم إنشاء قائمة الإجراءات نفسها).
  10. لا تؤدي عمليات التحرير في تكوينات nova.conf (في القسم الافتراضي compute_monitors = cpu.virt_driver) على عقد الحساب والتحكم إلى تصحيح الأخطاء.
  11. تفشل أيضًا عمليات التدقيق التي تستهدف دمج الخادم (الاستراتيجية الأساسية).
  12. تفشل عمليات التدقيق لغرض توحيد الخادم (استراتيجية دمج حمل العمل VM) مع وجود خطأ. يوجد خطأ في السجلات في الحصول على بيانات المصدر. مناقشة الخطأ، على وجه الخصوص هنا.
    لقد حاولنا تحديد Watcher في ملف التكوين (لم يساعد - نتيجة لحدوث خطأ في جميع صفحات التحسين، فإن العودة إلى المحتويات الأصلية لملف التكوين لا تصحح الموقف):

    [watcher_strategies.basic] مصدر البيانات = ceilometer، جنوكتشي
  13. تفشل عمليات التدقيق لتوفير الطاقة. إذا حكمنا من خلال السجلات، فإن المشكلة لا تزال تكمن في غياب السخرية، فهي لن تعمل بدون خدمة معدنية.
  14. فشلت عمليات تدقيق التحسين الحراري. التتبع هو نفسه بالنسبة لتوحيد الخادم (استراتيجية دمج حمل العمل VM) (خطأ في بيانات المصدر)
  15. تفشل عمليات التدقيق لغرض تحسين تدفق الهواء مع وجود خطأ.

تمت مواجهة أخطاء إكمال التدقيق التالية أيضًا. التتبع في سجلات Decision-engine.log (لم يتم تعريف حالة المجموعة).

→ مناقشة الخطأ هنا

اختتام

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

لقد أثبت Watcher أنه منتج جاد وسريع التطور ويتمتع بإمكانيات هائلة، وسيتطلب استخدامه الكامل الكثير من العمل الجاد.

ولكن المزيد عن هذا في المقالات التالية من السلسلة.

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

إضافة تعليق