Openstack-da yuklarni muvozanatlash

Katta bulutli tizimlarda hisoblash resurslariga yukni avtomatik ravishda muvozanatlash yoki tekislash masalasi ayniqsa dolzarbdir. Tionix (bulutli xizmatlarni ishlab chiqaruvchi va operatori, Rostelecom kompaniyalar guruhining bir qismi) ham bu masala bilan shug'ullangan.

Va bizning asosiy ishlab chiqish platformamiz Openstack bo'lgani uchun va biz, barcha odamlar singari, dangasamiz, platformaga allaqachon kiritilgan tayyor modulni tanlashga qaror qilindi. Bizning tanlovimiz Watcher-ga tushdi, biz undan ehtiyojlarimiz uchun foydalanishga qaror qildik.
Openstack-da yuklarni muvozanatlash
Birinchidan, atamalar va ta'riflarni ko'rib chiqaylik.

Shartlar va ta'riflar

Maqsad erishilishi kerak bo'lgan inson tomonidan o'qiladigan, kuzatilishi mumkin bo'lgan va o'lchanadigan yakuniy natijadir. Har bir maqsadga erishish uchun bir yoki bir nechta strategiya mavjud. Strategiya - bu berilgan maqsad uchun yechim topishga qodir bo'lgan algoritmni amalga oshirish.

Harakat Bu OpenStack klasterining maqsadli boshqariladigan resursining joriy holatini o'zgartiradigan elementar vazifadir, masalan: virtual mashinani ko'chirish (migratsiya), tugunning quvvat holatini o'zgartirish (change_node_power_state), nova xizmatining holatini o'zgartirish (change_nova_service_state ), lazzatni o'zgartirish (o'lchamini o'zgartirish), NOP xabarlarini ro'yxatdan o'tkazish (nop), ma'lum vaqt davomida harakatning etishmasligi - pauza (uyqu), diskni uzatish (volume_migrate).

Harakat rejasi - muayyan Maqsadga erishish uchun ma'lum tartibda amalga oshiriladigan muayyan harakatlar oqimi. Harakatlar rejasi, shuningdek, samaradorlik ko'rsatkichlari to'plami bilan o'lchangan global samaradorlikni o'z ichiga oladi. Muvaffaqiyatli auditdan so'ng Watcher tomonidan harakatlar rejasi tuziladi, buning natijasida qo'llanilgan strategiya maqsadga erishish uchun yechim topadi. Harakatlar rejasi ketma-ket harakatlar ro'yxatidan iborat.

Audit klasterni optimallashtirish so'rovidir. Optimallashtirish ma'lum bir klasterda bitta Maqsadga erishish uchun amalga oshiriladi. Har bir muvaffaqiyatli audit uchun Watcher Harakat rejasini ishlab chiqadi.

Audit doirasi audit o'tkaziladigan resurslar to'plamidir (mavjud zona(lar), tugun agregatorlari, alohida hisoblash tugunlari yoki saqlash tugunlari va boshqalar). Audit doirasi har bir shablonda belgilangan. Agar audit ko'lami ko'rsatilmagan bo'lsa, butun klaster tekshiriladi.

Audit shabloni — auditni boshlash uchun saqlangan sozlamalar to'plami. Shablonlar bir xil sozlamalar bilan bir necha marta audit o'tkazish uchun kerak bo'ladi. Shablon, albatta, audit maqsadini o'z ichiga olishi kerak, agar strategiyalar aniqlanmagan bo'lsa, eng mos strategiyalar tanlanadi.

Klaster hisoblash, saqlash va tarmoq resurslarini ta'minlovchi va bir xil OpenStack boshqaruv tugunlari tomonidan boshqariladigan jismoniy mashinalar to'plamidir.

Klaster ma'lumotlar modeli (CDM) klaster tomonidan boshqariladigan resurslarning joriy holati va topologiyasining mantiqiy ifodasidir.

Samaradorlik ko'rsatkichi - ushbu strategiya yordamida yaratilgan yechim qanday bajarilganligini ko'rsatadigan ko'rsatkich. Ishlash ko'rsatkichlari ma'lum bir maqsad uchun xos bo'lib, odatda natijada olingan harakatlar rejasining global samaradorligini hisoblash uchun ishlatiladi.

Samaradorlik spetsifikatsiyasi har bir Maqsad bilan bog'liq bo'lgan o'ziga xos xususiyatlar to'plami bo'lib, tegishli Maqsadga erishish strategiyasi o'z yechimida erishishi kerak bo'lgan turli ko'rsatkichlarni belgilaydi. Darhaqiqat, strategiya tomonidan taklif qilingan har bir yechim uning global samaradorligini hisoblashdan oldin spetsifikatsiyaga muvofiq tekshiriladi.

Skorlash mexanizmi aniq belgilangan kirishlar, aniq belgilangan natijalarga ega va sof matematik vazifani bajaradigan bajariladigan fayldir. Shunday qilib, hisoblash amalga oshirilayotgan muhitdan mustaqil bo'ladi - u hamma joyda bir xil natija beradi.

Kuzatuvchini rejalashtiruvchi - Watcher qaror qabul qilish mexanizmining bir qismi. Ushbu modul strategiya tomonidan yaratilgan harakatlar to'plamini oladi va bu turli harakatlarni o'z vaqtida va har bir harakat uchun qanday oldindan shartlar bo'lishini rejalashtirishni ko'rsatuvchi ish oqimi rejasini yaratadi.

Kuzatuvchilarning maqsadlari va strategiyalari

Maqsad
Strategiyalar

Soxta maqsad
Soxta strategiya 

Namuna baholash mexanizmlaridan foydalangan holda qo'g'irchoq strategiya

O'lchamini o'zgartirish bilan yolg'on strategiya

Energiyani tejash
Energiyani tejash strategiyasi

Server konsolidatsiyasi
Asosiy oflayn server konsolidatsiyasi

VM ish yukini birlashtirish strategiyasi

Ish yukini muvozanatlash
Ish yuki balansi migratsiya strategiyasi

Saqlash hajmi balansi strategiyasi

Ish yukini barqarorlashtirish

Shovqinli qo'shni
Shovqinli qo'shni

Termal optimallashtirish
Chiqish haroratiga asoslangan strategiya

Havo oqimini optimallashtirish
Yagona havo oqimi migratsiya strategiyasi

Uskuna texnik xizmat ko'rsatish
Zona migratsiyasi

Sınıflandırılmamış
Aktuator

Soxta maqsad — sinov maqsadlarida foydalaniladigan zaxiralangan maqsad.

Tegishli strategiyalar: Qo'g'irchoq strategiyasi, namunali Skorlash Dvigatellaridan foydalangan holda qo'g'irchoq strategiya va o'lchamini o'zgartirish bilan qo'g'irchoq strategiya. Dummy strategiyasi Tempest orqali integratsiya testlari uchun ishlatiladigan soxta strategiyadir. Ushbu strategiya hech qanday foydali optimallashtirishni ta'minlamaydi, uning yagona maqsadi Tempest testlaridan foydalanishdir.

Namunaviy Skorlash Dvigatellaridan foydalangan holda soxta strategiya - strategiya avvalgisiga o'xshaydi, yagona farq - bu mashinani o'rganish usullaridan foydalangan holda hisob-kitoblarni amalga oshiradigan namunaviy "baholash mexanizmi" dan foydalanish.

O'lchamini o'zgartirish bilan qo'g'irchoq strategiya - strategiya avvalgisiga o'xshaydi, yagona farq - lazzatni o'zgartirishdan foydalanish (migratsiya va o'lchamni o'zgartirish).

Ishlab chiqarishda ishlatilmaydi.

Energiyani tejash — energiya sarfini minimallashtirish. Ushbu maqsadning energiyani tejash strategiyasi VM ish yukini birlashtirish strategiyasi (Server konsolidatsiyasi) bilan birgalikda resurslardan kam foydalanish davrida ham ish yuklarini dinamik ravishda birlashtirish orqali energiyani tejaydigan dinamik quvvat boshqaruvi (DPM) funksiyalariga qodir: virtual mashinalar kamroq tugunlarga koʻchiriladi. , va keraksiz tugunlar o'chirilgan. Konsolidatsiyadan so'ng strategiya belgilangan parametrlarga muvofiq tugunlarni yoqish/o'chirish bo'yicha qarorni taklif qiladi: "min_free_hosts_num" - yukni kutayotgan bepul yoqilgan tugunlar soni va "free_used_foiz" - bepul yoqilgan xostlar ulushi. mashinalar egallagan tugunlar soni. Strategiya ishlashi uchun u erda bo'lishi kerak tugunlarda quvvat aylanishini boshqarish uchun Ironic yoqilgan va sozlangan.

Strategiya parametrlari

parametr
Turi
sukut bo'yicha
Opisanie

bepul_foiz
soni
10.0
bepul hisoblash tugunlari sonining virtual mashinalar bilan hisoblash tugunlari soniga nisbati

min_free_hosts_num
Int
1
bepul hisoblash tugunlarining minimal soni

Bulutda kamida ikkita tugun bo'lishi kerak. Amaldagi usul tugunning quvvat holatini o'zgartirishdir (change_node_power_state). Strategiya ko'rsatkichlarni to'plashni talab qilmaydi.

Server konsolidatsiyasi - hisoblash tugunlari sonini minimallashtirish (konsolidatsiya). U ikkita strategiyaga ega: asosiy oflayn server konsolidatsiyasi va VM ish yukini birlashtirish strategiyasi.

Asosiy oflayn server konsolidatsiyasi strategiyasi ishlatiladigan serverlarning umumiy sonini kamaytiradi va shuningdek, ko'chishlar sonini kamaytiradi.

Asosiy strategiya quyidagi ko'rsatkichlarni talab qiladi:

ko'rsatkichlar
xizmat
plaginlar
sharh

hisoblash.tugun.cpu.foiz
seilometr
hech qaysi
 

cpu_util
seilometr
hech qaysi
 

Strategiya parametrlari: migration_attempts - o'chirish uchun potentsial nomzodlarni qidirish uchun kombinatsiyalar soni (standart, 0, cheklovlarsiz), davr - metrik ma'lumotlar manbasidan statik yig'ilishni olish uchun soniyalardagi vaqt oralig'i (standart, 700).

Amaldagi usullar: migratsiya, nova xizmati holatini o'zgartirish (change_nova_service_state).

VM ish yukini birlashtirish strategiyasi oʻlchangan protsessor yukiga eʼtibor qaratuvchi va resurs sigʻimi cheklovlari tufayli haddan tashqari koʻp yoki juda kam yuklanishga ega boʻlgan tugunlarni minimallashtirishga harakat qiluvchi birinchi mos evristikaga asoslangan. Ushbu strategiya quyidagi to'rt bosqichdan foydalangan holda klaster resurslaridan samaraliroq foydalanishga olib keladigan yechimni taqdim etadi:

  1. Yukni tushirish bosqichi - ortiqcha sarflangan resurslarni qayta ishlash;
  2. Konsolidatsiya bosqichi - to'liq foydalanilmagan resurslar bilan ishlash;
  3. Yechimni optimallashtirish - migratsiya sonini kamaytirish;
  4. Foydalanilmayotgan hisoblash tugunlarini o'chirish.

Strategiya quyidagi ko'rsatkichlarni talab qiladi:

ko'rsatkichlar
xizmat
plaginlar
sharh

xotira
seilometr
hech qaysi
 

disk.root.size
seilometr
hech qaysi
 

Quyidagi koʻrsatkichlar ixtiyoriydir, lekin agar mavjud boʻlsa, strategiyaning aniqligini oshiradi:

ko'rsatkichlar
xizmat
plaginlar
sharh

xotira.rezident
seilometr
hech qaysi
 

cpu_util
seilometr
hech qaysi
 

Strategiya parametrlari: davr — metrik maʼlumotlar manbasidan statik yigʻilishni olish uchun soniyalardagi vaqt oraligʻi (standart, 3600).

Oldingi strategiya bilan bir xil usullardan foydalanadi. Batafsil shu yerda.

Ish yukini muvozanatlash — hisoblash tugunlari orasidagi ish yukini muvozanatlash. Maqsad uchta strategiyadan iborat: Ish yuki balansi migratsiya strategiyasi, Ish yukini barqarorlashtirish, Saqlash hajmi balansi strategiyasi.

Ish yuki balansi migratsiya strategiyasi xost virtual mashinasi ish yukiga asoslangan virtual mashina migratsiyasini amalga oshiradi. Migratsiya qarori tugunning % protsessor yoki operativ xotiradan foydalanish belgilangan chegaradan oshib ketganda qabul qilinadi. Bunday holda, ko'chirilgan virtual mashina tugunni barcha tugunlarning o'rtacha ish yukiga yaqinlashtirishi kerak.

talablar

  • Jismoniy protsessorlardan foydalanish;
  • Kamida ikkita jismoniy hisoblash tugunlari;
  • Har bir hisoblash tugunida ishlaydigan Ceilometer komponenti - ceilometer-agent-hisoblash va Ceilometer API o'rnatildi va sozlandi, shuningdek quyidagi ko'rsatkichlarni to'pladi:

ko'rsatkichlar
xizmat
plaginlar
sharh

cpu_util
seilometr
hech qaysi
 

xotira.rezident
seilometr
hech qaysi
 

Strategiya parametrlari:

parametr
Turi
sukut bo'yicha
Opisanie

o'lchovlar
String
'cpu_util'
Asosiy ko'rsatkichlar: 'cpu_util', 'memory.resident'.

eshigi
soni
25.0
Migratsiya uchun ish yukining chegarasi.

davr
soni
300
Kümülatif vaqt davri Ceilometer.

Amaldagi usul - migratsiya.

Ish yukini barqarorlashtirish - bu jonli migratsiya yordamida ish yukini barqarorlashtirishga qaratilgan strategiya. Strategiya standart og'ish algoritmiga asoslanadi va klasterda tiqilinch bor-yo'qligini aniqlaydi va klasterni barqarorlashtirish uchun mashina migratsiyasini ishga tushirish orqali unga javob beradi.

talablar

  • Jismoniy protsessorlardan foydalanish;
  • Kamida ikkita jismoniy hisoblash tugunlari;
  • Har bir hisoblash tugunida ishlaydigan Ceilometer komponenti - ceilometer-agent-hisoblash va Ceilometer API o'rnatildi va sozlandi, shuningdek quyidagi ko'rsatkichlarni to'pladi:

ko'rsatkichlar
xizmat
plaginlar
sharh

cpu_util
seilometr
hech qaysi
 

xotira.rezident
seilometr
hech qaysi
 

Saqlash hajmi balansi strategiyasi (Kuinzdan boshlab amalga oshirilgan strategiya) - strategiya Cinder hovuzlaridagi yukga qarab disklarni uzatadi. O'tkazish to'g'risida qaror hovuzdan foydalanish darajasi belgilangan chegaradan oshib ketganda qabul qilinadi. Ko'chirilayotgan disk hovuzni barcha Cinder hovuzlarining o'rtacha yukiga yaqinlashtirishi kerak.

Talablar va cheklovlar

  • Minimal ikkita Cinder hovuzi;
  • Diskni ko'chirish imkoniyati.
  • Klaster ma'lumotlar modeli - Cinder klaster ma'lumotlar modeli yig'uvchi.

Strategiya parametrlari:

parametr
Turi
sukut bo'yicha
Opisanie

hajm_bo'sagi
soni
80.0
Hajmlarni muvozanatlash uchun disklarning chegara qiymati.

Amaldagi usul - diskni ko'chirish (volume_migrate).

Shovqinli qo'shni - "shovqinli qo'shni" ni aniqlang va ko'chiring - oxirgi darajali keshdan ortiqcha foydalanish orqali IPC nuqtai nazaridan yuqori ustuvor virtual mashinaning ishlashiga salbiy ta'sir ko'rsatadigan past ustuvor virtual mashina. O‘z strategiyasi: Shovqinli qo‘shni (strategiya parametri - cache_threshold (standart qiymat 35), unumdorlik belgilangan qiymatga tushganda, migratsiya boshlanadi. Strategiya ishlashi uchun yoqilgan MChJ (oxirgi darajadagi kesh) ko'rsatkichlari, CMT-ni qo'llab-quvvatlaydigan so'nggi Intel serveri, shuningdek, quyidagi ko'rsatkichlarni to'plash:

ko'rsatkichlar
xizmat
plaginlar
sharh

cpu_l3_cache
seilometr
hech qaysi
Intel talab qilinadi CMT.

Klaster ma'lumotlar modeli (standart): Nova klaster ma'lumotlar modeli yig'uvchisi. Amaldagi usul - migratsiya.

Ushbu maqsad bilan asboblar paneli orqali ishlash Queensda to'liq amalga oshirilmagan.

Termal optimallashtirish — harorat rejimini optimallashtirish. Chiqish (chiqarish havosi) harorati serverning termal/ish yuki holatini o'lchash uchun muhim termal telemetriya tizimlaridan biridir. Maqsad bitta strategiyaga ega, u manba xostlarining chiqish harorati sozlanishi mumkin bo'lgan chegaraga yetganda, ish yuklarini termal jihatdan qulay xostlarga (eng past chiqish harorati) ko'chirishga qaror qiladigan Chiqish haroratiga asoslangan strategiya.

Strategiya ishlashi uchun sizga Intel Power Node Manager o'rnatilgan va sozlangan server kerak bo'ladi 3.0 yoki undan keyin, shuningdek, quyidagi ko'rsatkichlarni to'plash:

ko'rsatkichlar
xizmat
plaginlar
sharh

hardware.ipmi.node.outlet_temperature
seilometr
IPMI
 

Strategiya parametrlari:

parametr
Turi
sukut bo'yicha
Opisanie

eshigi
soni
35.0
Migratsiya uchun harorat chegarasi.

davr
soni
30
Metrik ma'lumotlar manbasidan statistik yig'ilishni olish uchun vaqt oralig'i soniyalarda.

Amaldagi usul - migratsiya.

Havo oqimini optimallashtirish — shamollatish rejimini optimallashtirish. O'z strategiyasi - Jonli migratsiya yordamida yagona havo oqimi. Server fanidan havo oqimi belgilangan chegaradan oshib ketganda strategiya virtual mashina migratsiyasini ishga tushiradi.

Strategiya ishlashi uchun sizga kerak bo'ladi:

  • Uskuna: hisoblash tugunlari < NodeManager 3.0 ni qo'llab-quvvatlaydi;
  • Kamida ikkita hisoblash tugunlari;
  • Har bir hisoblash tuguniga havo oqimi, tizim quvvati, kirish harorati kabi ko'rsatkichlarni muvaffaqiyatli hisobot berishi mumkin bo'lgan ceilometer-agent-comput va Ceilometer API komponenti o'rnatilgan va sozlangan:

ko'rsatkichlar
xizmat
plaginlar
sharh

apparat.ipmi.tugun.havo oqimi
seilometr
IPMI
 

apparat.ipmi.tugun.temperatura
seilometr
IPMI
 

hardware.ipmi.node.power
seilometr
IPMI
 

Strategiya ishlashi uchun sizga Intel Power Node Manager 3.0 yoki undan keyingi versiyalari oʻrnatilgan va sozlangan server kerak boʻladi.

Cheklovlar: kontseptsiya ishlab chiqarish uchun mo'ljallanmagan.

Ushbu algoritmdan doimiy tekshiruvlar bilan foydalanish taklif etiladi, chunki har bir iteratsiyada faqat bitta virtual mashinani ko'chirish rejalashtirilgan.

Jonli migratsiya mumkin.

Strategiya parametrlari:

parametr
Turi
sukut bo'yicha
Opisanie

pol_havo oqimi
soni
400.0
Migratsiya birligi uchun havo oqimi chegarasi 0.1CFM

threshold_inlet_t
soni
28.0
Migratsiya qarori uchun kirish harorati chegarasi

pol_kuch
soni
350.0
Migratsiya qarori uchun tizim quvvat chegarasi

davr
soni
30
Metrik ma'lumotlar manbasidan statistik yig'ilishni olish uchun vaqt oralig'i soniyalarda.

Amaldagi usul - migratsiya.

Uskunalarga texnik xizmat ko'rsatish — apparat taʼminoti. Ushbu maqsad bilan bog'liq bo'lgan strategiya - zona migratsiyasi. Strategiya apparat ta'minotiga muhtoj bo'lgan taqdirda virtual mashinalar va disklarni samarali avtomatik va minimal migratsiya qilish uchun vositadir. Strategiya og'irliklarga muvofiq harakatlar rejasini tuzadi: boshqalardan oldin ko'proq vaznga ega bo'lgan harakatlar to'plami rejalashtirilgan bo'ladi. Ikkita konfiguratsiya opsiyasi mavjud: action_weights va parallelization.

Cheklovlar: harakat og'irliklari va parallellashtirishni sozlash kerak.

Strategiya parametrlari:

parametr
Turi
sukut bo'yicha
Opisanie

hisoblash_tugunlari
Qator
hech qaysi
Migratsiya uchun tugunlarni hisoblash.

saqlash_hovuzlari
Qator
hech qaysi
Migratsiya uchun saqlash tugunlari.

parallel_jami
tamsayı
6
Parallel ravishda bajarilishi kerak bo'lgan tadbirlarning umumiy soni.

parallel_boshiga_tugun
tamsayı
2
Har bir hisoblash tuguniga parallel ravishda bajarilgan harakatlar soni.

parallel_har_hovuz
tamsayı
2
Har bir saqlash havzasi uchun parallel ravishda bajarilgan harakatlar soni.

ustunlik
ob'ekt
hech qaysi
Virtual mashinalar va disklar uchun ustuvorliklar ro'yxati.

biriktirilgan_jild bilan
mantiqiy
yolg'on
Noto'g'ri - virtual mashinalar barcha disklar ko'chirilgandan so'ng ko'chiriladi. To'g'ri - virtual mashinalar barcha ulangan disklar ko'chirilgandan so'ng ko'chiriladi.

Hisoblash tugunlari massivining elementlari:

parametr
Turi
sukut bo'yicha
Opisanie

src_node
string
hech qaysi
Virtual mashinalar ko'chirilayotgan hisoblash tugunlari (majburiy).

dst_tugun
string
hech qaysi
Virtual mashinalar ko'chib o'tadigan tugunni hisoblang.

Saqlash tugunlari massiv elementlari:

parametr
Turi
sukut bo'yicha
Opisanie

src_pool
string
hech qaysi
Disklar ko'chirilayotgan saqlash havzasi (majburiy).

dst_pool
string
hech qaysi
Disklar ko'chiriladigan saqlash havzasi.

src_type
string
hech qaysi
Asl disk turi (majburiy).

dst_type
string
hech qaysi
Olingan disk turi (majburiy).

Ob'ektning ustuvor elementlari:

parametr
Turi
sukut bo'yicha
Opisanie

loyiha
Qator
hech qaysi
Loyiha nomlari.

hisoblash_tugun
Qator
hech qaysi
Tugun nomlarini hisoblash.

saqlash_hovuzi
Qator
hech qaysi
Saqlash hovuzlari nomlari.

hisoblash
ro'yxatga olish
hech qaysi
Virtual mashina parametrlari [“vcpu_num”, “mem_size”, “disk_size”, “created_at”].

saqlash
ro'yxatga olish
hech qaysi
Disk parametrlari ["hajmi", "yaratilgan_at"].

Amaldagi usullar virtual mashina migratsiyasi, disk migratsiyasi.

Sınıflandırılmamış - strategiyani ishlab chiqish jarayonini osonlashtirish uchun foydalaniladigan yordamchi maqsad. Hech qanday spetsifikatsiyani o'z ichiga olmaydi va strategiya hali mavjud maqsad bilan bog'lanmagan hollarda foydalanish mumkin. Bu maqsad ham o'tish nuqtasi sifatida ishlatilishi mumkin. Ushbu maqsad bilan bog'liq strategiya aktuator hisoblanadi.   

Yangi maqsad yaratish

Watcher Decision Engine strategiya yordamida erishish mumkin bo'lgan tashqi maqsadni integratsiya qilish imkonini beruvchi "tashqi maqsad" plagin interfeysiga ega.

Yangi maqsadni yaratishdan oldin, mavjud maqsadlar sizning ehtiyojlaringizga javob bermasligiga ishonch hosil qilishingiz kerak.

Yangi plagin yaratilmoqda

Yangi maqsad yaratish uchun quyidagilar kerak: maqsadli sinfni kengaytirish, sinf usulini amalga oshirish get_name() yaratmoqchi bo'lgan yangi maqsadning noyob identifikatorini qaytarish uchun. Ushbu noyob identifikator siz keyinroq e'lon qilgan kirish nuqtasi nomiga mos kelishi kerak.

Keyinchalik siz sinf usulini amalga oshirishingiz kerak get_display_name() yaratmoqchi bo'lgan maqsadning tarjima qilingan ko'rsatilgan nomini qaytarish uchun (tarjima vositasi tomonidan avtomatik ravishda to'planishi uchun tarjima qilingan qatorni qaytarish uchun o'zgaruvchidan foydalanmang.).

Sinf usulini amalga oshirish get_translatable_display_name()yangi maqsadingizning tarjima kalitini (aslida inglizcha ko'rsatilgan nomi) qaytarish uchun. Qaytish qiymati get_display_name() ga tarjima qilingan satrga mos kelishi kerak.

Uning usulini amalga oshiring get_efficacy_specification()maqsadingiz uchun samaradorlik spetsifikatsiyasini qaytarish uchun. get_efficacy_specification() usuli Watcher tomonidan taqdim etilgan Unclassified() misolini qaytaradi. Ushbu ishlash spetsifikatsiyasi maqsadingizni ishlab chiqish jarayonida foydalidir, chunki u bo'sh spetsifikatsiyaga mos keladi.

Bu yerda ko'proq ma'lumot oling

Kuzatuvchi arxitekturasi (batafsilroq) shu yerda).

Openstack-da yuklarni muvozanatlash

komponentlar

Openstack-da yuklarni muvozanatlash

Watcher API - Watcher tomonidan taqdim etilgan REST API-ni amalga oshiradigan komponent. O'zaro ta'sir mexanizmlari: CLI, Horizon plagini, Python SDK.

Watcher DB - Kuzatuvchi ma'lumotlar bazasi.

Watcher Applier — Watcher Decision Engine komponenti tomonidan yaratilgan harakat rejasining bajarilishini amalga oshiruvchi komponent.

Watcher Decision Engine - Audit maqsadiga erishish uchun potentsial optimallashtirish harakatlari to'plamini hisoblash uchun mas'ul bo'lgan komponent. Agar strategiya belgilanmagan bo'lsa, komponent mustaqil ravishda eng mosini tanlaydi.

Watcher Metrics Publisher - Ba'zi ko'rsatkichlar yoki hodisalarni to'playdigan va hisoblaydigan va ularni CEP yakuniy nuqtasiga nashr etadigan komponent. Komponentning funksionalligi Ceilometer nashriyoti tomonidan ham ta'minlanishi mumkin.

Kompleks hodisalarni qayta ishlash (CEP) mexanizmi — hodisalarni murakkab qayta ishlash uchun vosita. Ishlash sabablariga ko'ra, bir vaqtning o'zida bir nechta CEP Engine misollari ishlayotgan bo'lishi mumkin, ularning har biri o'ziga xos metrik/hodisa turiga ishlov beradi. Watcher tizimida CEP ikki turdagi harakatlarni ishga tushiradi: - vaqt seriyalari ma'lumotlar bazasida tegishli hodisalarni / ko'rsatkichlarni qayd etish; - Openstack klasteri statik tizim emasligi sababli ushbu hodisa joriy optimallashtirish strategiyasining natijasiga ta'sir qilishi mumkin bo'lgan hollarda tegishli hodisalarni Watcher Decision Engine-ga yuboring.

Komponentlar AMQP protokoli yordamida o'zaro ta'sir qiladi.

Watcher sozlanmoqda

Watcher bilan o'zaro aloqa sxemasi

Openstack-da yuklarni muvozanatlash

Kuzatuvchi test natijalari

  1. Optimallashtirish - Harakat rejalari 500 sahifasida (ham sof Queens-da, ham Tionix modullari bo'lgan stendda), u audit boshlangandan va harakatlar rejasi yaratilgandan keyingina paydo bo'ladi; bo'sh sahifa odatdagidek ochiladi.
  2. Harakat tafsilotlari yorlig'ida xatolar mavjud, audit maqsadi va strategiyasini olish mumkin emas (ham sof Queensda, ham Tionix modulli stendda).
  3. Dummy (sinov) maqsadidagi auditlar odatdagidek tuziladi va ishga tushiriladi, harakatlar rejalari tuziladi.
  4. Tasniflanmagan maqsad uchun auditlar yaratilmaydi, chunki maqsad funktsional emas va yangi strategiyalarni yaratishda oraliq konfiguratsiya uchun mo'ljallangan.
  5. Ish yukini balanslash (Storage Capacity Balans strategiyasi) maqsadida tekshiruvlar muvaffaqiyatli yaratildi, lekin harakat rejasi yaratilmadi. Saqlash havzasini optimallashtirish shart emas.
  6. Ish yukini muvozanatlash maqsadi (Ish yuki balansi migratsiya strategiyasi) boʻyicha tekshiruvlar muvaffaqiyatli yaratildi, lekin harakat rejasi yaratilmadi.
  7. Ish yukini muvozanatlash (Ish yukini barqarorlashtirish strategiyasi) uchun tekshiruvlar muvaffaqiyatsiz tugadi.
  8. Shovqinli qo'shni maqsad uchun auditlar muvaffaqiyatli yaratildi, lekin harakat rejasi yaratilmadi.
  9. Uskunaga texnik xizmat ko'rsatish maqsadida auditlar muvaffaqiyatli tuziladi, harakatlar rejasi to'liq shakllantirilmaydi (ishlash ko'rsatkichlari shakllantiriladi, lekin harakatlar ro'yxati o'zi yaratilmaydi).
  10. Hisoblash va boshqarish tugunlaridagi nova.conf konfiguratsiyasidagi tahrirlar (standart bo'lim compute_monitors = cpu.virt_driver) xatolarni tuzatmaydi.
  11. Server konsolidatsiyasiga (asosiy strategiya) qaratilgan auditlar ham muvaffaqiyatsiz tugadi.
  12. Server konsolidatsiyasi (VM ish yukini birlashtirish strategiyasi) maqsadida tekshiruvlar xato bilan muvaffaqiyatsiz tugadi. Jurnallarda manba ma'lumotlarini olishda xatolik mavjud. Xatoni muhokama qilish, xususan shu yerda.
    Biz konfiguratsiya faylida Watcher-ni belgilashga harakat qildik (u yordam bermadi - barcha optimallashtirish sahifalarida xatolik tufayli, konfiguratsiya faylining asl tarkibiga qaytish vaziyatni tuzatmaydi):

    [watcher_strategies.basic] ma'lumotlar manbai = ceilometer, gnocchi
  13. Energiyani tejash bo'yicha tekshiruvlar muvaffaqiyatsiz tugadi. Jurnallarga qaraganda, muammo hali ham Ironic-ning yo'qligi, baremetal xizmatisiz ishlamaydi.
  14. Termal optimallashtirish uchun tekshiruvlar muvaffaqiyatsiz tugadi. Qayta kuzatish Server konsolidatsiyasi (VM ish yukini birlashtirish strategiyasi) bilan bir xil (manba maʼlumotlari xatosi)
  15. Havo oqimini optimallashtirish maqsadidagi tekshiruvlar xato bilan muvaffaqiyatsiz tugadi.

Auditni yakunlashda quyidagi xatolar ham uchraydi. Record-engine.log jurnallarida kuzatuv (klaster holati aniqlanmagan).

→ Xatoni muhokama qilish shu yerda

xulosa

Ikki oylik tadqiqotlarimiz natijasi aniq xulosaga keldiki, to'liq ish yukini muvozanatlash tizimini olish uchun biz ushbu qismda Openstack platformasi uchun asboblarni takomillashtirish ustida yaqindan ishlashimiz kerak.

Watcher o'zini jiddiy va tez rivojlanayotgan ulkan salohiyatga ega mahsulot ekanligini isbotladi, undan to'liq foydalanish ko'p jiddiy mehnatni talab qiladi.

Ammo bu haqda ko'proq seriyaning keyingi maqolalarida.

Manba: www.habr.com

a Izoh qo'shish