Suurtes pilvesĂŒsteemides on automaatse koormuse tasakaalu vĂ”i jaotamise vajadus eriti aktuaalne. Meie, Tionixis (pilveteenuste arendaja ja operaator, kuulume Rostelecomi kontserni), oleme sellele kĂŒsimusele samuti tĂ€helepanu pööranud.
Kuna meie peamine arendusplatvorm on Openstack ning me, nagu kÔik inimesed, oleme laisad, otsustasime leida valmis mooduli, mis juba platvormil olemas. Meie valik langes Watcherile, mida otsustasime oma vajaduste jaoks kasutada.
Alustuseks selgitame vÀlja mÔisted ja mÀÀratlused.
MÔisted ja mÀÀratlused
EesmĂ€rk â see on inimeste jaoks arusaadav, jĂ€lgitav ja mÔÔdetav lĂ”ppresultaat, mida tuleb saavutada. Iga eesmĂ€rgi saavutamiseks on olemas ĂŒks vĂ”i mitu strateegiat. Strateegia on algoritmi elluviimine, mis suudab leida lahenduse antud eesmĂ€rgile.
Tegevus (Action) â see on elementaarne ĂŒlesanne, mis muudab OpenStacki klastris sihitud hallatava ressursi praegust seisundit, nĂ€iteks: virtuaalmasina migreerimine (migration), sĂ”lme toiteoleku muutmine (change_node_power_state), nova teenuse oleku muutmine (change_nova_service_state), flavouri muutmine (resize), NOP sĂ”numi registreerimine (nop), tegevuste puudumine teatud aja jooksul â paus (sleep), ketta edasiviimine (volume_migrate).
Tegevusplaan (Action Plan) â see on konkreetse EesmĂ€rgi saavutamiseks eriline tegevuste voog, mis viiakse lĂ€bi teatud jĂ€rjekorras. Tegevusplaan sisaldab ka hinnatud globaalset tĂ”husust koos tĂ”hususe nĂ€itajatega. Tegevusplaan genereeritakse Watcheri poolt pĂ€rast edukat auditi lĂ€biviimist, mille tulemusena kasutatud strateegia leiab lahenduse eesmĂ€rgi saavutamiseks. Tegevusplaan koosneb jĂ€rjestikuste tegevuste loendist.
Audit (Audit) â see on taotlus klastrite optimeerimiseks. Optimeerimine viiakse lĂ€bi, et saavutada ĂŒks EesmĂ€rk antud klastris. Iga eduka auditi jaoks genereerib Watcher Tegevusplaani.
Auditi ulatus (Audit Scope) â see ressursside kogum, mille raames toimub audit (saadavusala(d), sĂ”lmede agregatorid, eraldi arvutuspunktid vĂ”i salvestussĂ”lmed jne). Audiitmise ala on mÀÀratletud igas ĆĄablonis. Kui auditiala ei ole mÀÀratud, auditeeritakse kogu klastrit.
Auditite ĆĄabloon (Audit Template) â salvestatud seadistuste kogum auditi kĂ€ivitamiseks. Ć ablonid on vajalikud selleks, et viia mitmeid kordi lĂ€bi auditeid sama seadistusega. Ć ablon peab tingimata sisaldama auditi eesmĂ€rki, kui strateegiaid ei mÀÀrata, valitakse kĂ”ige sobivamad olemasolevatest strateegiatest.
Klaster (Cluster) â see on fĂŒĂŒsiliste masinate kogum, mis pakub arvutusressursse, salvestusressursse ja vĂ”rguressursse ning mida haldab sama OpenStacki juhtimispunkt.
Klastri andmemudel (Cluster Data Model, CDM) â see on loogiline esitus hallatava klastriga seotud ressursside praegusest seisundist ja topoloogiast.
TĂ”hususe nĂ€itaja (Efficacy Indicator) â nĂ€itaja, mis osutab sellele, kui hĂ€sti saavutatakse antud strateegia jĂ€rgi loodud lahendus. TĂ”hususe nĂ€itajad on spetsiifilised konkreetse eesmĂ€rgi jaoks ja neid kasutatakse tavaliselt lĂ”pliku tegevusplaani globaalsete tĂ”hususe arvutamiseks.
TĂ”hususe spetsifikatsioon (Efficacy Specification) â see on iga EesmĂ€rgiga seotud spetsiifiliste omaduste kogum, mis mÀÀratleb erinevad tĂ”hususe nĂ€itajad, mida strateegia, mis tagab vastava eesmĂ€rgi saavutamise, peab oma lahenduses tagama. Tegelikult kontrollitakse iga strateegia pakutud lahendust spetsifikatsiooniga enne globaalsete tĂ”hususe arvutamist.
âArvutavâ mootor (Scoring Engine) â see on teostatav fail, millel on selgelt mÀÀratletud sisendid, selgelt mÀÀratletud vĂ€ljud ja mis tĂ€idab ranget matemaatilist ĂŒlesannet. Seega ei sĂ”ltu arvutus keskkonnast, kus see toimub â see annab igal pool sama tulemuse.
Watcher planeerija (Watcher Planner) â osa Watcher'i otsuste tegemise mehhanismist. See moodul vĂ”tab vastu strateegia genereeritud tegevuste kogumi ja loob töövoo plaani, mis mÀÀratleb, kuidas ajas neid erinevaid tegevusi planeerida ning millised on iga tegevuse eeltingimused.
Watcher'i eesmÀrgid ja strateegiad
EesmÀrk
Strateegiad
Dummy eesmÀrk
Dummy strateegiaÂ
Dummy strateegia nÀidise hindamismootoritega
Dummy strateegia muutmisega
EnergiasÀÀst
EnergiasÀÀstu strateegia
Serverite konsolideerimine
PÔhjalik offline serverite konsolideerimine
VM-i töökoormuse konsolideerimise strateegia
Töökoormuse tasakaalustamine
Töökoormuse tasakaalu migratsiooni strateegia
Salvestusmahu tasakaalu strateegia
Töökoormuse stabiliseerimine
MĂŒra tekitav naaber
MĂŒra tekitav naaber
Termiline optimeerimine
VÀljalaske temperatuuri pÔhine strateegia
Ăhuvoo optimeerimine
Ăhtlane Ă”huvoo migratsiooni strateegia
Riistvara hooldus
Zone migratsioon
Klassifitseerimata
Aktivaator
Dummy eesmĂ€rk â reserv eesmĂ€rk, mida kasutatakse testimise eesmĂ€rgil.
Seotud strateegiad: Dummy strateegia, Dummy strateegia nÀidise hindamismootoritega ja Dummy strateegia muutmisega. Dummy strateegia on fiktiivne strateegia, mis on mÔeldud integreerimistestimiseks Tempesti kaudu. See strateegia ei paku mingit kasulikku optimeerimist, selle ainus eesmÀrk on kasutada Tempesti teste.
Dummy strateegia nÀidise hindamismootoritega on strateegia, mis on eelnevale sarnane, erineb vaid nÀidise "hindamismootorite" kasutamisest, mis arvutab vÀljundi masinÔppe meetoditega.
Dummy strateegia muutmisega on strateegia, mis on eelnevale sarnane, erineb vaid flööri muutmise (migratsiooni ja muutmise) kasutamisest.
Ei kasutata tootmises.
EnergiasÀÀst â minimeerida energiatarbimist. EnergiasÀÀstu strateegia koos VM-i töökoormuse konsolideerimise strateegiaga (Serverite konsolideerimine) on vĂ”imeline tĂ€itma dĂŒnaamilise toitehalduse (DPM) funktsioone, mis sÀÀstab energiat töökoormuste dĂŒnaamilise konsolideerimise kaudu ka madala ressursikoormuse perioodidel: virtuaalmasinad kantakse ĂŒle vĂ€iksemasse arvutideriiki ja tarbetud sĂ”lmed sulgedakse. PĂ€rast konsolideerimist pakub strateegia lahendust sĂ”lmede sisse-/vĂ€ljalĂŒlitamiseks vastavalt mÀÀratletud parameetritele: "min_free_hosts_num" â vabade sisse lĂŒlitatud sĂ”lmede arv, mis ootavad koormust, ja "free_used_percent" â vabade sisse lĂŒlitatud sĂ”lmede protsent sĂ”lmede arvust, mida masinad kasutavad. Strateegia tööks peab olema aktiveeritud ja seadistatud Ironic, et vĂ”imaldada sĂ”lmede sisse-/vĂ€ljalĂŒlitamist.
Strateegia parameetrid
parameeter
tĂŒĂŒp
vaikimisi
kirjeldus
vaba_kasutatud_protsent
Number
10.0
vabade arvutusnodeâde suhe arvutusnodeâdega, kus on virtuaalmasinad
min_vaba_hosts_arv
Int
1
minimaalne vabade arvutusnodeâde arv
Pilves peab olema vĂ€hemalt kaks nodeât. Kasutatav meetod on nodeâi toiteoleku muutmine (change_node_power_state). Metrikate kogumine ei ole strateegiale kohustuslik.
Serverite konsolideerimine â arvutusnodeâde arvu minimaalne vĂ€hendamine (konsolideerimine). Sellel on kaks strateegiat: Basic Offline Server Consolidation ja VM Workload Consolidation Strategy.
Basic Offline Server Consolidation strateegia minimaliseerib kasutatavate serverite koguarvu ja samuti ka migreerimise arvu.
PÔhistrateegia nÔuab jÀrgmisi metrikaid:
metrika
teenus
pluginad
kommentaar
compute.node.cpu.percent
none
Â
cpu_util
none
Â
Strateegia parameetrid: migration_attempts â kombinatsioonide arv potentsiaalsete vĂ€lja lĂŒlitamise kandidaatide otsimiseks (vaikimisi, 0, piirmata), period â ajavahemik sekundites, et saada staatiline agregaadi allikast (vaikimisi, 700).
Kasutatavad meetodid: migreerimine, nova teenuse oleku muutmine (change_nova_service_state).
VM Workload Consolidation Strategy strateegia pĂ”hineb esimese sobiva (first-fit) heuristilise algoritmil, mis keskendub mÔÔdetud CPU koormusele ja pĂŒĂŒab vĂ€hendada nodeâsid, millel on liiga suur vĂ”i liiga vĂ€ike koormus, arvestades ressursside mahtude piire. See strateegia pakub lahendust, mis viib klastrite ressursside efektiivsema kasutamiseni, kasutades jĂ€rgmisi nelja etappi:
- Eraldamise etapp â ĂŒlekoormatud ressursside töötlemine;
- Konsolideerimise etapp â alakasutatud ressursside töötlemine;
- Lahenduse optimeerimine â migreerimise arvu vĂ€hendamine;
- Kasutamata arvutusnodeâde vĂ€lja lĂŒlitamine.
Strateegia nÔuab jÀrgmisi metrikaid:
metrika
teenus
pluginad
kommentaar
memory
none
Â
disk.root.size
none
Â
JÀrgmised metrikad ei ole kohustuslikud, kuid suurendavad strateegia tÀpsust, kui need on saadaval:
metrika
teenus
pluginad
kommentaar
memory.resident
none
Â
cpu_util
none
Â
Strateegia parameetrid: period â ajavahemik sekundites, et saada staatiline agregaadi allikast (vaikimisi, 3600).
Kasutab samu meetodeid nagu eelmine strateegia. TĂ€iendavalt .
Töökoormuse tasakaalustamine â tasakaalu töökoormust arvutuspunktide vahel. EesmĂ€rk sisaldab kolme strateegiat: Töökoormuse tasakaalu rĂ€nde strateegia, Töökoormuse stabiliseerimine, Salvestuskapasiteedi tasakaalu strateegia.
Töökoormuse tasakaalu rĂ€nde strateegia kĂ€ivitab virtuaalmasinate rĂ€nde vastavalt virtuaalmasinate töökoormusele. Otsus rĂ€nde ĂŒle tehakse iga kord, kui % CPU vĂ”i RAM kasutus node'is ĂŒletab mÀÀratud piiri. Samuti peab rĂ€ndamiseks valitud virtuaalmasin viima node'i kĂ”igi node'ide keskmise töökoormuse lĂ€hedale.
NÔuded
- FĂŒĂŒsiliste protsessorite kasutamine;
- Kaks vĂ”i enam fĂŒĂŒsilist arvutuspunkti;
- Paigaldatud ja konfigureeritud Ceilometer-komponent â ceilometer-agent-compute, mis töötab igas arvutuspunktis, ja Ceilometer API, samuti jĂ€rgmiste mÔÔdikute kogumine:
metrika
teenus
pluginad
kommentaar
cpu_util
none
Â
memory.resident
none
Â
Strateegia parameetrid:
parameeter
tĂŒĂŒp
vaikimisi
kirjeldus
, ja seejÀrel mÀÀrake lisamÔÔdikud, mida soovite koguda, funktsioone dekoreerides:
String
'cpu_util'
MÔÔdikud, millega arvestatakse: 'cpu_util', 'memory.resident'.
threshold
Number
25.0
Töökoormuse lÀvi rÀnde jaoks.
period
Number
300
Ceilometeri koguperiood.
Kasutatud meetod â rĂ€nde.
Töökoormuse stabiliseerimine â strateegia, mis on suunatud töökoormuse stabiliseerimisele elurĂ€nde abil. Strateegia pĂ”hineb standardhĂ€lbe algoritmil ja mÀÀratleb, kas klastris on ĂŒlekoormus, ning reageerib sellele, kĂ€ivitades masinate rĂ€nde klastrite stabiliseerimiseks.
NÔuded
- FĂŒĂŒsiliste protsessorite kasutamine;
- Kaks vĂ”i enam fĂŒĂŒsilist arvutuspunkti;
- Paigaldatud ja konfigureeritud Ceilometer-komponent â ceilometer-agent-compute, mis töötab igas arvutuspunktis, ja Ceilometer API, samuti jĂ€rgmiste mÔÔdikute kogumine:
metrika
teenus
pluginad
kommentaar
cpu_util
none
Â
memory.resident
none
Â
Salvestuskapasiteedi tasakaalu strateegia (strateegia on rakendatud alates Queens'i vĂ€ljaandest) â strateegia viib kettad ĂŒle vastavalt Cinder'i basseinide koormusele. Otsus rĂ€nde ĂŒle tehakse iga kord, kui basseini kasutusmÀÀr ĂŒletab mÀÀratud piiri. Ălekantav ketas peab viima basseini kĂ”igi Cinder'i basseinide keskmise koormuse lĂ€hedale.
NÔuded ja piirangud
- Kaks vÔi enam Cinder'i basseini;
- Ketaste rÀnde vÔimalus.
- Klastri andmemudel â Cinder klastrite andmemudeli koguja.
Strateegia parameetrid:
parameeter
tĂŒĂŒp
vaikimisi
kirjeldus
volume_threshold
Number
80.0
Ketaste lÀve vÀÀrtus mahude tasakaalustamiseks.
Kasutatud meetod â ketta rĂ€nde meetod (volume_migrate).
Noisy Neighbor â identifitseerige ja viige ĂŒle "möirgav naaber" â madala prioriteediga virtuaalmasin, mis mĂ”jutab negatiivselt kĂ”rge prioriteediga virtuaalmasina jĂ”udlust IPC seisukohalt, kasutades liialt Ă€ra viimase taseme vahemĂ€lu. Oma strateegia: Noisy Neighbor (kasutatav strateegia parameeter â cache_threshold (vaikimisi vÀÀrtus â 35), kui jĂ”udlus langeb mÀÀratud vÀÀrtusele, kĂ€ivitatakse migratsioon. Strateegia töötamiseks on vajalikud sisse lĂŒlitatud LLC (Last Level Cache) meetrikad, viimane Intel server CMT toega, samuti jĂ€rgmiste meetrikate kogumine:
metrika
teenus
pluginad
kommentaar
cpu_l3_cache
none
On vajalik Intel .
Klastri andmemudel (vaikimisi): Nova klastri andmemudeli koguja. Kohaldatav meetod â migratsioon.
Selle eesmÀrgi töötlemine Dashboardi kaudu ei ole Queensis tÀielikult teostatud.
Termiline optimeerimine â optimeerida temperatuurireĆŸiimi. VĂ€ljamineva Ă”hu temperatuur on ĂŒks olulisi soojusliku telemeetriĂ€ri sĂŒsteeme serveri soojuse / töökoormuse oleku mÔÔtmiseks. EesmĂ€rgil on ĂŒks strateegia â VĂ€ljamineva Temperatuuri pĂ”hine strateegia, mis teeb otsuseid töökoormuste ĂŒleviimiseks sĂ”lmedesse, kus on soodne temperatuurireĆŸiim (madalaim vĂ€ljaminev temperatuur), kui alghostide vĂ€ljaminev temperatuur saavutab kohandatava piiri.
Strateegia töötamiseks on vajalik server, kus on installitud ja seadistatud Intel Power Node Manager , samuti jÀrgmiste meetrikate kogumine:
metrika
teenus
pluginad
kommentaar
hardware.ipmi.node.outlet_temperature
IPMI
Â
Strateegia parameetrid:
parameeter
tĂŒĂŒp
vaikimisi
kirjeldus
threshold
Number
35.0
Temperatuuripiir migratsiooniks.
period
Number
30
Aeg sekundites statistilise agregatsiooni saamiseks andmeallikast.
Kasutatud meetod â rĂ€nde.
Ăhuvoo optimeerimine â optimeerida ventilatsiooni reĆŸiimi. Oma strateegia â Ăhtlane Ăhuringlus kasutades elavat migratsiooni. Strateegia kĂ€ivitab virtuaalmasina migratsiooni iga kord, kui serveri ventilaatori Ă”huvool ĂŒletab mÀÀratud piiri.
Strateegia töötamiseks on vajalik:
- Riistvara: arvutus-sÔlmed <NodeManager 3.0 toega;
- VÀhemalt kaks arvutus-sÔlme;
- Igal arvutus-sĂ”lmel peab olema installitud ja seadistatud komponent ceilometer-agent-compute ning Ceilometer API, mis suudab edastada selliseid mÔÔdikuid nagu Ă”huvool, sĂŒsteemi vĂ”imsus, sisse tuleva tarnetemperatuur:
metrika
teenus
pluginad
kommentaar
hardware.ipmi.node.airflow
IPMI
Â
hardware.ipmi.node.temperature
IPMI
Â
hardware.ipmi.node.power
IPMI
Â
Strateegia jaoks on vajalik server, kus on installitud ja seadistatud Intel Power Node Manager 3.0 vÔi uuem versioon.
Piirangud: Kontseptsioon pole ette nÀhtud tootmises kasutamiseks.
Soovitame kasutada seda algoritmi pidevate audititega, kuna ĂŒhes iteratsioonis on plaanis migreerida ainult ĂŒks virtuaalmasin.
Elu migreerimised on vÔimalikud.
Strateegia parameetrid:
parameeter
tĂŒĂŒp
vaikimisi
kirjeldus
threshold_airflow
Number
400.0
Migreerimise Ôhuvoolu lÀvivÀÀrtus on 0.1 CFM.
threshold_inlet_t
Number
28.0
Sissetuleku temperatuuri lÀvivÀÀrtus migreerimisotsuse jaoks.
threshold_power
Number
350.0
SĂŒsteemi vĂ”imsuse lĂ€vivÀÀrtus migreerimisotsuse jaoks.
period
Number
30
Aeg sekundites statistilise agregatsiooni saamiseks andmeallikast.
Kasutatud meetod â rĂ€nde.
Riistvara hooldus â riistvara hooldus. Antud eesmĂ€rgiga seotud strateegia on Zone migration. Strateegia on vahend virtuaalmasinate ja diskide tĂ”husaks automaatseks ja minimaalsete migreerimisteks riistvara hoolduse ajal. Strateegia koostab tegevusplaani vastavalt kaaludele: tegevuste kogum, millel on suurem kaal, planeeritakse varem kui teised. Seal on kaks konfiguratsiooniparametrit: tegevuste kaalud (action_weights) ja paralleelsus (parallelization).
Piirangud: nÔutav tegevuste kaalude ja paralleelsuse seadistamine.
Strateegia parameetrid:
parameeter
tĂŒĂŒp
vaikimisi
kirjeldus
compute_nodes
array
None
Migreerimiseks mÔeldud arvutusotsad.
storage_pools
array
None
Migreerimise salvestusotsad.
parallel_total
integer
6
Tegevuste koguarv, mida tuleb teha paralleelselt.
parallel_per_node
integer
2
Iga arvutusotsa jaoks paralleelselt teostatavate tegevuste arv.
parallel_per_pool
integer
2
Iga salvestuspoole jaoks paralleelselt teostatavate tegevuste arv.
priority
objekt
None
Virtuaalmasinate ja diskide prioriteetide loend.
with_attached_volume
boolean
Vale
False â virtuaalmasinad migreeritakse pĂ€rast kĂ”igi diskide migreerimist. True â virtuaalmasinad migreeritakse pĂ€rast kĂ”igi kĂŒlge connected diskide migreerimist.
Arvutusotsade massiivi elemendid:
parameeter
tĂŒĂŒp
vaikimisi
kirjeldus
src_node
string
None
Arvutusots, kust virtuaalmasinad migreeruvad (kohustuslik).
dst_node
string
None
Arvutusots, kuhu virtuaalmasinad migreeritakse.
Salvestusotsade massiivi elemendid:
parameeter
tĂŒĂŒp
vaikimisi
kirjeldus
src_pool
string
None
Salvestuspool, kust diskid migreeruvad (kohustuslik).
dst_pool
string
None
Salvestuspool, kuhu diskid migreeritakse.
src_type
string
None
Algne diskitĂŒĂŒp (kohustuslik).
dst_type
string
None
LĂ”plik diskitĂŒĂŒp (kohustuslik).
Objektide prioriteetsuse elemendid:
parameeter
tĂŒĂŒp
vaikimisi
kirjeldus
project
array
None
Projektide nimed.
compute_node
array
None
Arvutusotsade nimed.
storage_pool
array
None
Salvestuspankade nimed.
compute
enum
None
Virtuaalmasina parameetrid [âvcpu_numâ, âmem_sizeâ, âdisk_sizeâ, âcreated_atâ].
salvestusruum
enum
None
Kettaparametrid [âsizeâ, âcreated_atâ].
Kasutatud meetodid â virtuaalmasinate migreerimine, ketaste migreerimine.
Klassifitseerimata â abieesmĂ€rk, mida kasutatakse strateegia arendamise protsessi lihtsustamiseks. Ei sisalda spetsifikatsioone ja vĂ”ib kasutada iga kord, kui strateegia pole veel seotud olemasoleva eesmĂ€rgiga. Seda eesmĂ€rki saab kasutada ka ĂŒleminekuetapina. Sellega seotud strateegia on Actuator.  Â
Uue eesmÀrgi loomine
Watcher Decision Engine omab âvĂ€line eesmĂ€rkâ pistikprogrammi liidest, mis vĂ”imaldab integreerida vĂ€list eesmĂ€rki, mis vĂ”ib olla saavutatud strateegia abil.
Enne uue eesmĂ€rgi loomist tuleks veenduda, et ĂŒkski olemasolev eesmĂ€rk ei vasta teie vajadustele.
Uue pistikprogrammi loomine
Uue eesmĂ€rgi loomiseks peate: laiendama eesmĂ€rgiklassi, rakendama klassi meetodi get_name () , et tagastada uus eesmĂ€rgi unikaalne ĐžĐŽĐ”ĐœŃĐžŃĐžĐșаŃĐŸŃ, mille soovite luua. See unikaalne ĐžĐŽĐ”ĐœŃĐžŃĐžĐșаŃĐŸŃ peab vastama hiljem deklareeritava sisenemispunkti nimele.
Edasi tuleb rakendada klassi meetod get_display_name () , et tagastada loodava eesmÀrgi tÔlgitud kuvamene nimi (Àrge kasutage muutujaid tÔlgitud stringi tagastamiseks, et see saaks tÔlkijate tööriista abil automaatselt kokku panna.).
Rakendage klassi meetod get_translatable_display_name (), et tagastada tÔlkevÔti (tegelikult ingliskeelne kuvamisnimi) teie uue eesmÀrgi jaoks. Tagastatav vÀÀrtus peab vastama stringile, mis on tÔlgitud meetodis get_display_name ().
Rakendage selle meetod get_efficacy_specification (), et tagastada teie eesmĂ€rgi efektiivsuse spetsifikatsioon. Meetod get_efficacy_specification () tagastab Watcheri poolt esitatud Unclassified () eksemplari. See efektiivsuse spetsifikatsioon on kasulik teie eesmĂ€rgi arendamise protsessis, kuna see vastab tĂŒhjale spetsifikatsioonile.
â
Watcher arhitektuur (lisaks ).

Komponendid

Watcher API â komponent, mis rakendab Watcher pakutud REST API. Koostoime mehhanismid: CLI, Horizon pistikprogramm, Python SDK.
Watcher DB â Watcher andmebaas.
Watcher Applier â komponent, mis rakendab tegevuskava tĂ€itmist, mille on loonud Watcher Decision Engine komponent.
Watcher Decision Engine â komponent, mis vastutab optimeerimise vĂ”imalike tegevuste komplekti arvutamise eest auditi eesmĂ€rke silmas pidades. Kui strateegia ei ole nĂ€idatud, valib komponent iseseisvalt sobivama.
Watcher Metrics Publisher â komponent, mis kogub ja arvutab vĂ€lja teatud mÔÔdikud vĂ”i sĂŒndmused ning avaldab need CEP lĂ”pp-punktis. Komponendi funktsionaalsust vĂ”ib pakkuda ka Ceilometer publisher.
Complex Event Processing (CEP) Engine â komplekssete sĂŒndmuste töötlemise mootor. Tootlikkuse kaalutlustel vĂ”ib samaaegselt töötada mitu CEP mootorit, millest igaĂŒht kasutatakse teatud tĂŒĂŒpi mÔÔdikute/sĂŒndmuste töötlemiseks. Watcher CEP sĂŒsteemis kĂ€ivitab kaks tĂŒĂŒpi tegevusi: â vastavate sĂŒndmuste/mÔÔdikute salvestamine ajareaga andmebaasi; â vastavate sĂŒndmuste saatmine Watcher Decision Engine'i, kui see sĂŒndmus vĂ”ib mĂ”jutada praeguse optimeerimisstrateegia tulemust, kuna Openstacki klaster ei ole staatiline sĂŒsteem.
Komponentide omavaheline suhtlemine toimub AMQP protokolli kaudu.
â
Skeem suhtlemiseks Watcheriga

Watcheri testimise tulemused
- Optimeerimise lehel â Action plans ilmub 500 viga (nii puhtal Queens'il kui ka Tiionixi moodulitega seadmel) ainult pĂ€rast auditi kĂ€ivitamist ja tegevusplaani genereerimist, tĂŒhi avatakse normaalselt.
- Action details vahekaart nÀitab vigu, ei suuda vÀlja selgitada auditi eesmÀrki ja strateegiat (nii puhtal Queens'il kui ka Tiionixi moodulitega seadmel).
- Dummy (test) eesmÀrgiga auditid luuakse ja kÀivitatakse normaalselt, tegevusplaanid genereeritakse.
- Unclassified eesmÀrgiga auditid ei genereerita, kuna eesmÀrk ei ole funktsionaalne ja on mÔeldud vahepealse seadistamise jaoks uute strateegiate loomisel.
- Workload Balancing eesmÀrgiga auditid (Storage Capacity balance strateegia) luuakse edukalt, kuid tegevusplaani ei genereerita. Salvestuspaakide optimeerimine ei ole vajalik.
- Workload Balancing eesmÀrgiga auditid (Workload Balance Migration Strategy strateegia) luuakse edukalt, kuid tegevusplaani ei genereerita.
- Workload Balancing eesmÀrgiga auditid (Workload Stabilization Strategy strateegia) lÔpetatakse veaga.
- Noisy Neighbor eesmÀrgiga auditid luuakse edukalt, kuid tegevusplaani ei genereerita.
- Riistade hoolduse auditeid luuakse edukalt, tegevusplaan genereeritakse mitte tÀielikult (genereeritakse efektiivsuse nÀitajad, kuid tegevuste nimekiri ei genereerita).
- Muudatused nova.conf konfiguratsioonides (default sektsioonis compute_monitors = cpu.virt_driver) arvutus- ja juhtimissÔlmes ei paranda vigu.
- Serveri konsolideerimise auditeid (Basic strateegia) lÔpetatakse samuti veaga.
- Serveri konsolideerimise auditeid (VM töökoormuse konsolideerimise strateegia) lÔpetatakse veaga. Logides on probleem algandmete hankimisel. Vigade arutelu, eelkÔige, .
Proovisime mÀÀrata Watcheri konfiguratsioonifailis (ei aidanud - tulemusena vigade tÔttu kÔikides Optimisation lehtedes, tagasi algse konfiguratsioonifaili sisu ei paranda olukorda):[watcher_strategies.basic]
datasource = ceilometer, gnocchi - Energia sÀÀstmise auditeid lÔpetatakse veaga. Pidades silmas logisid, on probleem siiski Ironicu puudumises, ei tööta ilma baremetal teenuseta.
- Termilise optimeerimise auditeid lÔpetatakse veaga. TÔrge on sama mis Serveri konsolideerimisel (VM töökoormuse konsolideerimise strateegia) (algandmete viga)
- Ăhuvoo optimeerimise auditeid lĂ”petatakse veaga.
Esinevad ka jÀrgmised auditi lÔpetamise vead. TÔrke jÀlg logides decision-engine.log (klaster ei ole mÀÀratletud).
â Vigade arutelu
KokkuvÔte
Meie kahekuuliste uurimiste tulemusena on selge jĂ€reldus, et tĂ€ies mahus töötava koormuse tasakaalustamise sĂŒsteemi saamiseks peame selles osas tĂ”siselt tegelema Openstacki platvormi tööriistade tĂ€iustamisega.
Watcher on nÀidanud end tÔsise ja kiiresti areneva tootena, millel on tohutu potentsiaal, mille tÀielikuks kasutamiseks on vajalik suur ja tÔsine töö.
Aga sellest - jÀrgmistes artiklites seerias.
Allikas: habr.com
