Koormuse jaotamine OpenStackis

Suuremates pilvesĂŒsteemides on automaatse koormuse tasakaalustamise vĂ”i jaotamise vajadus eriti terav. Meie, Tioniks, mis on pilveteenuste arendaja ja operaator, kuulume Rostelecomi kontserni, oleme sellele kĂŒsimusele tĂ€helepanu pööranud.

Kuna meie pÔhiplatvormiks on OpenStack ja me kÔik oleme loomult laisad, otsustasime kasutada mÔnda valmis moodulit, mis juba kuulub platvormi koosseisu. Meie valik langes Watcherile, mida otsustasime oma vajaduste jaoks kasutada.
Koormuse jaotamine OpenStackis
Alustame terminite ja definitsioonide selgitamisest.

Terminid ja definitsioonid

EesmĂ€rk on inimeste poolt arusaadav, jĂ€lgitav ja mÔÔdetav lĂ”pptulemus, mida tuleb saavutada. Iga eesmĂ€rgi saavutamiseks on olemas ĂŒks vĂ”i enam strateegiat. Strateegia on algoritmi rakendamine, mis suudab leida lahenduse antud eesmĂ€rgile.

Tegevus (Action) — see, et on elementaarne ĂŒlesanne, mis muudab OpenStacki klastris sihtkontrollitava ressursi praegust olekut, nagu nĂ€iteks: virtuaalmasina migratsioon (migration), sĂ”lme toiteoleku muutmine (change_node_power_state), nova teenuse oleku muutmine (change_nova_service_state), flavori muutmine (resize), NOP sĂ”numi registreerimine (nop), tegevuste puudumine teatud aja jooksul — paus (sleep), ketta ĂŒleviimine (volume_migrate).

Tegevuskava (Action Plan) — spetsiifiline tegevuste voog, mis viiakse lĂ€bi kindlas jĂ€rjekorras konkreetse EesmĂ€rgi saavutamiseks. Tegevuskava sisaldab ka hinnatud globaalset tĂ”husust koos hulkade efektiivsusnĂ€itajatega. Tegevuskava genereeritakse Watcheri poolt pĂ€rast edukat auditi, mille kĂ€igus leiab kasutatud strateegia lahenduse eesmĂ€rgi saavutamiseks. Tegevuskava koosneb jĂ€rjestikuste tegevuste loendist.

Audit (Audit) — see on soovitus klastrite optimeerimiseks. Optimeerimine viiakse lĂ€bi, et saavutada ĂŒks EesmĂ€rk selles klastri. Iga eduka auditi korral genereerib Watcher Tegevuskava.

Auditi piirkond (Audit Scope) — see on ressursside kogum, mille raames toimub auditeerimine (kĂ€ttesaadavusala(d), sĂ”lmpunktide agregaat, ĂŒksikud arvutusĂŒksused vĂ”i salvestussĂ”lmed jne). Auditiala on mÀÀratletud igas ĆĄabloonis. Kui auditiala pole mĂ€rgitud, auditeeritakse kogu klastri ulatust.

Auditimal (Audit Template) — salvestatud seadistuste kogum auditi lĂ€biviimiseks. Ć abloonid on vajalikud, et saaks korduvalt audite teha sama seadistusiga. Ć abloon peab kindlasti sisaldama auditi eesmĂ€rki; kui strateegiaid ei mÀÀratleta, valitakse olemasolevatest strateegiatest sobivaimad.

Klaster (Cluster) — see on fĂŒĂŒsiliste masinate kogum, mis pakub arvutusressursse, salvestusressursse ja vĂ”rgurressursse ning mida haldab sama OpenStack'i juhtimisseade.

Klastri andmemudel (Cluster Data Model, CDM) — see on loogiline ettekujutus hetke seisundist ja sĂŒstematiseeritud haldamise all olevate ressursside topoloogiast.

TĂ”hususe nĂ€itaja (Efficacy Indicator) — nĂ€itaja, mis nĂ€itab, kuidas lahendus, mis on loodud selle strateegia abil, toimib. Tulemuslikkuse nĂ€itajad on spetsiifilised konkreetsele eesmĂ€rgile ja neid kasutatakse tavaliselt lĂ”pliku tegevuskava globaalse tĂ”hususe arvutamisel.

Tulemuslikkuse spetsifikatsioon (Efficacy Specification) — see on spetsiifiliste omaduste kogum, mis on seotud iga EesmĂ€rgiga ja mis mÀÀratleb erinevad tulemuslikkuse nĂ€itajad, mida strateegia, mis tagab vastava eesmĂ€rgi saavutamise, peab oma lahenduses tagama. Tegelikult kontrollitakse igat lahendust, mille strateegia pakub, spetsifikatsiooniga kooskĂ”la osas, enne kui arvutatakse selle globaalne tĂ”husus.

„Arvestav” mootor (Scoring Engine) — see on teostust fail, millel on selgelt mÀÀratletud sisendid, selgelt mÀÀratletud vĂ€ljundid ning mis tĂ€idab rangelt matemaatilist ĂŒlesannet. Seega ei sĂ”ltu arvutus keskkonnast, kus see toimub — see annab igal pool sama tulemuse.

Watcher planeerija (Watcher Planner) — osa Watcher'iga seotud otsustusprotsessist. See moodul vĂ”tab vastu strateegia genereeritud tegevuste kogumi ja loob töövoo plaani, mis mÀÀratleb, kuidas ajas planeerida neid erinevaid tegevusi ning iga tegevuse puhul, millised on eeltingimused.

Watcher'i eesmÀrgid ja strateegiad

EesmÀrk
Strateegiad

Dummy eesmÀrk
Dummy strateegia 

Dummy strateegia, mis kasutab nÀidisreitingumootoreid

Dummy strateegia, mis kasutab suurendamist

Energia sÀÀstmine
Energia sÀÀstmise strateegia

Serverite konsolideerimine
PÔhjalik offline serverite konsolideerimine

VM töökoormuse konsolideerimise strateegia

Töökoormuse tasakaalustamine
Töökoormuse tasakaalu migreerimise strateegia

Salvestusmahu tasakaalu strateegia

Töökoormuse stabiliseerimine

MĂŒrarikka naabri probleem
MĂŒrarikka naabri probleem

Termiline optimeerimine
VÀljundi temperatuuri pÔhine strateegia

Õhuvoolu optimeerimine
Ühtne Ă”huvoolu migreerimise strateegia

Riistvara hooldus
Tsooni migreerimine

Klassifitseerimata
Toimimisseade

Dummy eesmĂ€rk — reservi eesmĂ€rk, mida kasutatakse testimise jaoks.

Seondunud strateegiad: Dummy Strategy, Dummy Strategy using sample Scoring Engines ja Dummy strategy with resize. Dummy strateegia — fiktiivne strateegia, mida kasutatakse integreerimistestide lĂ€biviimiseks Tempesti kaudu. See strateegia ei paku mingit kasulikku optimeerimist, selle ainus eesmĂ€rk on kasutada Tempesti teste.

Dummy strateegia, mis kasutab prooviskoorimisjĂ”ude — strateegia on sarnane eelnevale, erinedes vaid prooviskoorimise mootori kasutamisest, mis arvutab tulemusi masinĂ”ppe meetodite abil.

Dummy strateegia muutmisega — strateegia on sarnane eelnevale, erinedes vaid flaavori muutmisest (migratsioon ja suurendamine).

Ei kasutata tootmises.

Energia sÀÀstmine — energiatarbimise vĂ€hendamine. Selle eesmĂ€rgi Saving Energy Strategy strateegia koos VM Workload Consolidation Strategy (Server Consolidation) strateegiaga suudab tĂ€ita dĂŒnaamilise energiakasutuse juhtimise (DPM) funktsioone, mis sÀÀstab elektrit dĂŒnaamilise koormuste konsolideerimise kaudu isegi madalaressursi kasutuse perioodidel: virtuaalmasinad liiguvad vĂ€iksema arvu sĂ”lmede juurde ja mittevajalikud sĂ”lmed lĂŒlitatakse vĂ€lja. PĂ€rast konsolideerimist pakub strateegia lahendust sĂ”lmede sisselĂŒlitamiseks/vĂ€ljalĂŒlitamiseks vastavalt mÀÀratud parameetritele: “min_free_hosts_num” — vaba sisselĂŒlitatud sĂ”lmede arv, mis ootavad koormust, ja “free_used_percent” — vaba sisselĂŒlitatud sĂ”lmede protsent suhtega sĂ”lmede koguarvuga, mis on masinate poolt hĂ”ivatud. Strateegia tööks peab olema Ironic sisse lĂŒlitatud ja seadistatud sĂ”lmede sisselĂŒlitamiseks/vĂ€ljalĂŒlitamiseks.

strateegia parameetrid

parameeter
tĂŒĂŒp
vaikimisi
kirjeldus

free_used_percent
Number
10.0
vabade arvutussÔlmede suhe arvutussÔlmede arvuga, kus on virtuaalmasinad

min_free_hosts_num
Int
1
minimaalne vabade arvutussÔlmede arv

Pilves peab olema vÀhemalt kaks sÔlme. Kasutatav meetod on sÔlme toiteoleku muutmine (change_node_power_state). Kogumisstrateegia ei nÔua metrikat.

Serveri konsolideerimine — arvutussĂ”lmede arvu minimeerimine (konsolideerimine). Sel on kaks strateegiat: Basic Offline Server Consolidation ja VM Workload Consolidation Strategy.

Strateegia Basic Offline Server Consolidation minimeerib kasutatavate serverite koguarvu ning vÀhendab ka migratsioonide arvu.

PÔhistrateegia nÔuab jÀrgmisi metrikasid:

metrika
teenus
pluginate
kommentaar

compute.node.cpu.percent
ceilometer
ei midagi
 

cpu_util
ceilometer
ei midagi
 

Strateegia parameetrid: migration_attempts — kandidaatide vĂ€ljalĂŒlitamiseks otsitavate kombinatsioonide arv (vaikimisi 0, piiranguid pole), period — ajavahemik sekundites, mil saadakse staatiline agregatsioon metrikate andmeallikast (vaikimisi 700).

Kasutatavad meetodid: migratsioon, nova teenuse oleku muutmine (change_nova_service_state).

VM Workload Consolidation Strategy strateegia pĂ”hineb esimese sobiva (first-fit) heuristilise algoritmi peal, mis keskendub mÔÔdetud CPU koormusele ning pĂŒĂŒab minimeerida sĂ”lmi, millel on liiga suur vĂ”i liiga vĂ€ike koormus, arvestades ressursside mahutavuse piire. See strateegia pakub lahendust, mis viib klastrite ressursside tĂ”husama kasutamiseni, kasutades jĂ€rgmisi nelja etappi:

  1. Vabastusfaas — ĂŒletarbimisega ressursside töötlemine;
  2. Konsolideerimise faas — alakasutatud ressursside töötlemine;
  3. Lahenduse optimeerimine — migreerimiste arvu vĂ€hendamine;
  4. Kasutamata arvutussĂ”lmede vĂ€ljalĂŒlitamine.

Strateegia nÔuab jÀrgmisi mÔÔdikuid:

metrika
teenus
pluginate
kommentaar

memory
ceilometer
ei midagi
 

disk.root.size
ceilometer
ei midagi
 

JÀrgmised mÔÔdikud ei ole kohustuslikud, kuid suurendavad strateegia tÀpsust, kui need on saadaval:

metrika
teenus
pluginate
kommentaar

memory.resident
ceilometer
ei midagi
 

cpu_util
ceilometer
ei midagi
 

Strateegia parameetrid: period — aja vahemik sekundites, et saada staatilisi kogutud andmeid mÔÔdikate allikast (vaikimisi 3600).

Kasutab samu meetodeid nagu eelmine strateegia. Lisainfot siit.

Töökoormuse tasakaalustamine — töökoormuse tasakaalustamine arvutuslike sĂ”lmede vahel. EesmĂ€rk sisaldab kolme strateegiat: töökoormuse tasakaalu migreerimise strateegia, töökoormuse stabiliseerimine, salvestusmahu tasakaalu strateegia.

Töökoormuse tasakaalu migreerimise strateegia kĂ€ivitab virtuaalmasinate migreerimised sĂ”lmde töökoormuse alusel. Otsus migreerimise kohta tehakse iga kord, kui sĂ”lme % CPU vĂ”i RAM kasutus ĂŒletab mÀÀratud lĂ€vendi. Sel juhul peab migreeritav virtuaalmasin tĂ”mbama sĂ”lme kĂ”igi sĂ”lmede keskmisele töökoormusele lĂ€hemale.

NÔuded

  • FĂŒĂŒsiliste protsessorite kasutamine;
  • Kaks fĂŒĂŒsilist arvutuslikku sĂ”lme vĂ€hemalt;
  • Paigaldatud ja konfigureeritud Ceilometer komponent — ceilometer-agent-compute, töötades igas arvutuslikus sĂ”lmes, ja Ceilometer API, samuti jĂ€rgmiste mÔÔdikute kogumine:

metrika
teenus
pluginate
kommentaar

cpu_util
ceilometer
ei midagi
 

memory.resident
ceilometer
ei midagi
 

Strateegia parameetrid:

parameeter
tĂŒĂŒp
vaikimisi
kirjeldus

mÔÔdikutest
String
‘cpu_util’
MÔÔdikud, mis pĂ”hinevad: ‘cpu_util’, ‘memory.resident’.

lÀvend
Number
25.0
Töökoormuse lÀvend migreerimiseks.

periood
Number
300
Ceilometeri koguperiood.

Kasutatud meetod on migreerimine.

Töökoormuse stabiliseerimine — strateegia, mille eesmĂ€rk on töökoormuse stabiliseerimine elava rĂ€nde abil. Strateegia pĂ”hineb standardhĂ€lbe algoritmil ja mÀÀrab, kas klastris on ĂŒlekoormus, ning reageerib sellele masinate rĂ€nde kĂ€ivitamise kaudu, et klastrit stabiliseerida.

NÔuded

  • FĂŒĂŒsiliste protsessorite kasutamine;
  • Kaks fĂŒĂŒsilist arvutuslikku sĂ”lme vĂ€hemalt;
  • Paigaldatud ja konfigureeritud Ceilometer komponent — ceilometer-agent-compute, töötades igas arvutuslikus sĂ”lmes, ja Ceilometer API, samuti jĂ€rgmiste mÔÔdikute kogumine:

metrika
teenus
pluginate
kommentaar

cpu_util
ceilometer
ei midagi
 

memory.resident
ceilometer
ei midagi
 

Salvestuskapasiteedi tasakaalu strateegia (strateegia on rakendatud alates Queens'ist) — strateegia, mis viib kettad ĂŒle sĂ”ltuvalt Cinder'i basseinide koormusest. Üleviimise otsus tehakse igal korral, kui basseinide kasutusmÀÀr ĂŒletab mÀÀratud piirvÀÀrtuse. Üleviidud ketas peab viima basseini Cinder'i kĂ”igi basseinide keskmise koormuse lĂ€hedale.

NÔuded ja piirangud

  • Minimaalselt kaks Cinder'i basseini;
  • Ketaste rĂ€nde vĂ”imalus.
  • Klastri andmemudel — Cinder'i klastrite andmemudeli kogujad.

Strateegia parameetrid:

parameeter
tĂŒĂŒp
vaikimisi
kirjeldus

volume_threshold
Number
80.0
Kettaste piirvÀÀrtus mahtude tasakaalustamiseks.

Kasutatav meetod — ketta rĂ€nne (volume_migrate).

Noisy Neighbor — tuvastada ja viia "mĂŒrarikka naaber" – madala prioriteediga virtuaalmasin, mis negatiivselt mĂ”jutab kĂ”rge prioriteediga virtuaalmasina jĂ”udlust IPC kontekstis, liialdades viimase taseme vahemĂ€lu kasutamisega. OmandipĂ”hine strateegia: Noisy Neighbor (kasutatud strateegia parameeter — cache_threshold (vaikevÀÀrtus — 35), jĂ”udluse langemise korral mÀÀratud vÀÀrtusele kĂ€ivitub migreerimine. Strateegia tööks on vajalikud aktiveeritud LLC (Last Level Cache) mÔÔdikud, viimane Intel server CMT toe jaotusega, , samuti jĂ€rgmiste mÔÔdikutega kogumine:cpu_l3_cache

metrika
teenus
pluginate
kommentaar

NÔutav Intel
ceilometer
ei midagi
CMT Klastri andmemudel (vaikevÀÀrtus): Nova cluster data model collector. Kasutatud meetod — migreerimine..

Selle eesmÀrgiga töötlus Dashboardi kaudu ei ole Queensis tÀielikult rakendatud.

Selle eesmÀrgi tÀitmine Dashboardi kaudu ei ole Queensis tÀielikult teostatav.

Termiline optimeerimine — optimeerida temperatuurireĆŸiimi. VĂ€ljaheite temperatuur (vĂ€ljuv Ă”hk) on ĂŒks olulisemaid soojusmonitorimise sĂŒsteeme serveri soojuse / töökoormuse seisundi mÔÔtmiseks. Selle eesmĂ€rgi saavutamiseks on olemas ĂŒks strateegia — vĂ€ljalaske temperatuuri pĂ”hine strateegia, mis langetab otsuseid töökoormuse hilisemiseks ĂŒleviimiseks sĂ”lmedesse, kus on soodsad temperatuurireĆŸiimid (madalaim vĂ€ljalaske temperatuur), kui algsete hostide vĂ€ljalaske temperatuur saavutab seadistatava lĂ€ve.

Strateegia tööks on vajalik server, millel on installitud ja seadistatud Intel Power Node Manager. 3.0 vÔi uuema versiooni.cpu_l3_cache

metrika
teenus
pluginate
kommentaar

hardware.ipmi.node.outlet_temperature
ceilometer
IPMI
 

Strateegia parameetrid:

parameeter
tĂŒĂŒp
vaikimisi
kirjeldus

lÀvend
Number
35.0
Temperatuuriline lÀvi migreerimiseks.

periood
Number
30
Aeg intervalli sekundites statistilise kogumise saamiseks andmeallika metrikast.

Kasutatud meetod on migreerimine.

Õhuvoolu optimeerimine — optimeerida ventilatsioonireĆŸiimi. Strateegia — Ühtlane Ă”huvool, kasutades elus migratsiooni. Strateegia kĂ€ivitab virtuaalmasina migratsiooni iga kord, kui serveri ventilaatori Ă”huvool ĂŒletab mÀÀratud lĂ€ve.

Strateegia tööks on vajalik:

  • Riistvara: arvutusĂŒksused <NodeManager 3.0 toe all;
  • Kaks vĂ”i enam arvutusĂŒksust;
  • Iga arvutusĂŒksuse peal on installitud ja seadistatud komponent ceilometer-agent-compute ning Ceilometer API, mis suudab edastada selliseid mÔÔdikuid nagu Ă”huvool, sĂŒsteemi energia ja sissetuleku temperatuur:

metrika
teenus
pluginate
kommentaar

hardware.ipmi.node.airflow
ceilometer
IPMI
 

hardware.ipmi.node.temperature
ceilometer
IPMI
 

hardware.ipmi.node.power
ceilometer
IPMI
 

Strateegia rakendamiseks on vajalik server, kuhu on installitud ja seadistatud Intel Power Node Manager versioon 3.0 vÔi uuem.

Piirangud: Konseptsioon ei ole mÔeldud tootmis kasutuseks.

Soovitame kasutada seda algoritmi pidevate audititega, kuna ĂŒhe iteratsiooni jooksul on plaanis migreerida ainult ĂŒks virtuaalne masin.

Elumigatsioonid on vÔimalikud.

Strateegia parameetrid:

parameeter
tĂŒĂŒp
vaikimisi
kirjeldus

threshold_airflow
Number
400.0
Õhuvoolu lĂ€vi migreerimise jaoks on ĂŒhik 0.1CFM

threshold_inlet_t
Number
28.0
Sissetuleku temperatuurilÀvi migratsioonitehtes

threshold_power
Number
350.0
SĂŒsteemi energialĂ€vi migratsioonitehtes

periood
Number
30
Aeg intervalli sekundites statistilise kogumise saamiseks andmeallika metrikast.

Kasutatud meetod on migreerimine.

Riistvara hooldus — riistvara hooldus. Stratēģija, kas attiecas uz ĆĄo mērÄ·i, ir Zone migration. Ć Ä« stratēģija ir rÄ«ks efektÄ«vai automātiskai un minimālai virtuālo maĆĄÄ«nu un disku migrācijai, ja ir nepiecieĆĄama riistvara apkope. Stratēģija izstrādā rÄ«cÄ«bas plānu atbilstoĆĄi svaram: pasākumu komplekts, kam ir lielāks svars, tiks plānots pirms citiem. Ir divi konfigurācijas parametri: rÄ«cÄ«bu svari (action_weights) un paralelizācija (parallelization).

IerobeĆŸojumi: nepiecieĆĄama rÄ«cÄ«bu svaru un paralelizācijas iestatīƥana.

Strateegia parameetrid:

parameeter
tĂŒĂŒp
vaikimisi
kirjeldus

compute_nodes
array
Puudub
Migrācijai paredzēti aprēķinu mezgli.

storage_pools
array
Puudub
Migrācijai paredzētie krātuves mezgli.

parallel_total
integer
6
Kopējais darbību skaits, kas jāveic paralēli.

parallel_per_node
integer
2
Darbību skaits, kas tiek veikts paralēli katram aprēķinu mezglam.

parallel_per_pool
integer
2
Darbību skaits, kas tiek veikts paralēli katram krātuves pulkam.

prioriteet
object
Puudub
Prioritāƥu saraksts virtuālajām maƥīnām un diskiem.

with_attached_volume
boolean
False
Vale — virtuaalsed masinad liiguvad pĂ€rast kĂ”igi diskide liikumist. TĂ”si — virtuaalsed masinad liiguvad pĂ€rast kĂ”igi ĂŒhendatud diskide migratsiooni.

Arvutusnodestruktuuri elemendid:

parameeter
tĂŒĂŒp
vaikimisi
kirjeldus

src_node
string
Puudub
Arvutusnode, kust virtuaalsed masinad liiguvad (kohustuslik).

dst_node
string
Puudub
Arvutusnode, kuhu virtuaalsed masinad migreruvad.

Salvestusturunduse elementide elemendid:

parameeter
tĂŒĂŒp
vaikimisi
kirjeldus

src_pool
string
Puudub
Salvestusturundus, kust diskid liiguvad (kohustuslik).

dst_pool
string
Puudub
Salvestusturundus, kuhu diskid liiguvad.

src_type
string
Puudub
Algne diski tĂŒĂŒp (kohustuslik).

dst_type
string
Puudub
LĂ”pptĂŒĂŒpi diski tĂŒĂŒp (kohustuslik).

Objektide prioriteetsuse elemendid:

parameeter
tĂŒĂŒp
vaikimisi
kirjeldus

project
array
Puudub
Projektide nimed.

compute_node
array
Puudub
Arvutusnode'de nimed.

storage_pool
array
Puudub
Salvestusturunduse nimed.

compute
enum
Puudub
Virtuaalmasina parameetrid [“vcpu_num”, “mem_size”, “disk_size”, “created_at”].

storage
enum
Puudub
Diskide parameetrid [“size”, “created_at”].

Kasutatud meetodid — virtuaalmasinate migratsioon, diskide migratsioon.

Klassifitseerimata — abistav eesmĂ€rk, mida kasutatakse strateegia arendamise protsessi lihtsustamiseks. Ei sisalda spetsifikatsioone ja vĂ”ib olla kasutusel iga kord, kui strateegia ei ole veel seotud olemasoleva eesmĂ€rgiga. Seda eesmĂ€rki saab kasutada ka ĂŒleminekuastmena. Selle eesmĂ€rgiga seotud strateegia on Actuator.   

Uue eesmÀrgi loomine

Watcher Decision Engine omab „vĂ€list eesmĂ€rki” pluginaliidest, mis vĂ”imaldab integreerida vĂ€lise eesmĂ€rgi, mis on saavutatav strateegia abil.

Enne uue eesmĂ€rgi loomist peaksite veenduma, et ĂŒkski olemasolev eesmĂ€rk ei vasta teie vajadustele.

Uue plugina loomine

Uue eesmÀrgi loomiseks peate: laiendama eesmÀrgi klassi, rakendama klassi meetodi get_name () tagastamaks uue eesmÀrgi unikaalse identifikaatori, mille soovite luua. See unikaalne identifikaator peab vastama hiljem kuulutatud sisenemispunkti nimele.

SeejÀrel peate rakendama klassi meetodi get_display_name () sihtmÀrgi tÔlgitud kuvamise nime tagastamiseks, mille soovite luua (Àrge kasutage muutujaid tÔlgitud stringi tagastamiseks, et see saaks automaatselt tÔlke tööriista poolt kokku pannud.).

Rakenda klassi meetod get_translatable_display_name (), et tagastada tÔlke vÔti (tegelikult ingliskeelne kuvamisnimi) uue sihtmÀrgi jaoks. Tagastatav vÀÀrtus peab vastama stringile, mis on tÔlgitud meetodis get_display_name ().

Rakenda selle meetod get_efficacy_specification (), et tagastada sihtmĂ€rgi tĂ”hususe spetsifikatsioon. Meetod get_efficacy_specification () tagastab Watcher'i poolt antud Unclassified () eksemplari. See tĂ”hususe spetsifikatsioon on kasulik teie sihtmĂ€rgi arendamise protsessis, kuna see vastab tĂŒhjale spetsifikatsioonile.

→ Loe lĂ€hemalt siit

Watcheri arhitektuur (lisateave siit).

Koormuse jaotamine OpenStackis

Komponendid

Koormuse jaotamine OpenStackis

Watcher API — komponent, mis rakendab REST API, mida pakub Watcher. Suhtlemismehhanismid: CLI, Horizon plugin, Python SDK.

Watcher DB — Watcheri andmebaas.

Watcher Applier — komponent, mis rakendab tegevusplaani tĂ€itmist, mille on koostanud Watcher Decision Engine.

Watcher Decision Engine — komponent, mis vastutab auditi eesmĂ€rgi tĂ€itmiseks optimeerimisvĂ”imaluste komplekti arvutamise eest. Kui strateegia pole mÀÀratud, valib komponent ise sobivama.

Watcher Metrics Publisher — komponent, mis kogub ja arvutab mĂ”ned mÔÔdikud vĂ”i sĂŒndmused ning avaldab need CEP lĂ”pp-punktis. Komponendi funktsionaalsust saab pakkuda ka Ceilometer publisher.

Kompleksne SĂŒndmuste Töötlus (CEP) Mootor — kompleksne sĂŒndmuste töötlemise mootori. JĂ”udluse kaalutlustel vĂ”ib olla mitu CEP mootori eksemplari, mis töötavad samal ajal, igaĂŒks neist töötleb teatud tĂŒĂŒpi mÔÔdikuid/sĂŒndmusi. Watcheri sĂŒsteemis kĂ€ivitab CEP kaks tĂŒĂŒpi toiminguid: — salvestada vastavad sĂŒndmused/mÔÔdikud ajareale andmebaasi; — saata vastavad sĂŒndmused Watcher Decision Engine komponenti, kui see sĂŒndmus vĂ”ib mĂ”jutada olemasoleva optimeerimisstrateegia tulemust, kuna Openstacki klaster pole staatiline sĂŒsteem.

Komponentide vaheline suhtlemine toimub AMQP protokolli kaudu.

→ Watcheri konfigureerimine

Watcheri interaktsiooni skeem

Koormuse jaotamine OpenStackis

Watcheri testimise tulemused

  1. Lehe Optimization — Action plans 500 viga (nii puhtal Queensil kui ka Tiionixi moodulitega seistes) ilmneb ainult pĂ€rast auditit ja tegevuskava genereerimist, tĂŒhi avaneb normaalselt.
  2. Action details vahekaardil vigu, sihtmÀrki ja auditistrateegiat ei Ônnestu saada (nii puhtal Queensil kui ka Tiionixi moodulitega seistes).
  3. Auditid sihiga Dummy (testimiseks) luuakse ja kÀivitatakse normaalselt, tegevuskavad genereeritakse.
  4. Auditid sihiga Unclassified ei loo, kuna sihtmÀrk ei ole funktsionaalne ja on mÔeldud vahepealse seadistamise jaoks uute strateegiate loomisel.
  5. Auditid sihiga Workload Balancing (Storage Capacity balance strateegia) luuakse edukalt, kuid tegevuskava ei genereerita. Salvestuspulkade optimeerimine ei ole vajalik.
  6. Auditid sihiga Workload Balancing (Workload Balance Migration Strategy strateegia) luuakse edukalt, kuid tegevuskava ei genereerita.
  7. Auditid sihiga Workload Balancing (Workload Stabilization Strategy strateegia) lÔpetatakse veaga.
  8. Auditid sihiga Noisy Neighbor luuakse edukalt, kuid tegevuskava ei genereerita.
  9. Riistvara hoolduse auditid luuakse edukalt, tegevusplaan genereeritakse mittetÀielikult (tulemusnÀitajad genereeritakse, kuid tegevuste loetelu ise ei genereeru).
  10. Muutused nova.conf konfiguratsioonifailides (default sektsioonis compute_monitors = cpu.virt_driver) arvutus- ja juhtimismoodulites ei paranda vigu.
  11. Serveri konsolideerimise auditid (baastrateegia) lÔppevad samuti tÔrkega.
  12. Serveri konsolideerimise auditid (VM töökoormuse konsolideerimise strateegia) lÔppevad tÔrkega. Logides on viga algandmete saamisel. Probleemi arutelu, eelkÔige, siit.
    Proovisime konfiguraatoris Watcher mÀÀrata (ei aidanud — kĂ”ikide Optimiseerimise lehtede vead ei kao, tagasipöördumine algsetesse konfiguraatorifailidesse ei paranda olukorda):

    [watcher_strategies.basic]
    datasource = ceilometer, gnocchi

  13. Energiat sÀÀstmise auditid lÔppevad tÔrkega. Logide pÔhjal tundub, et probleem on siiski Ironicu puudumises, ilma baremetal teenuseta ei tööta.
  14. Termilise optimeerimise auditid lÔppevad tÔrkega. JÀlgimine on sama, mis serveri konsolideerimise puhul (VM töökoormuse konsolideerimise strateegia) (algandmete viga).
  15. Airflow optimeerimise auditid lÔppevad tÔrkega.

Audit jÀrelkontrolli kÀigus vÔivad ilmneda jÀrgmised tÔrketeated. Otsustuste loomise logides on jÀlgimise jÀljed (klastri olekut ei ole kindlaks tehtud).

→ TĂ”rke arutelu siit

KokkuvÔte

Kaks kuud kestnud uuringute tulemusena on meie jĂ€reldus selge: et saada tĂ”hus ja töökorras koormuse tasakaalustamise sĂŒsteem, tuleb meil tegeleda OpenStacki platvormi tööriista tĂ€iendamisega.

Watcher on end tÔestanud kui tÔsine ja kiiresti arenev toode, mille tÀieÔiguslikuks kasutamiseks on vajalik intensiivne ja pÔhjalik töö.

Kuid sellest rÀÀgime jÀrgnevates artiklites.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster