Ibbilanċjar tat-Tagħbija f'Openstack

F'sistemi ta 'sħab kbar, il-kwistjoni tal-ibbilanċjar awtomatiku jew il-livellar tat-tagħbija fuq ir-riżorsi tal-kompjuter hija speċjalment akuta. Tionix (iżviluppatur u operatur ta 'servizzi cloud, parti mill-grupp ta' kumpaniji Rostelecom) ħa ħsieb ukoll din il-kwistjoni.

U, peress li l-pjattaforma ta 'żvilupp prinċipali tagħna hija Openstack, u aħna, bħan-nies kollha, għażżien, ġie deċiż li tagħżel xi tip ta' modulu lest li diġà huwa inkluż fil-pjattaforma. L-għażla tagħna waqgħet fuq Watcher, li ddeċidejna li nużaw għall-bżonnijiet tagħna.
Ibbilanċjar tat-Tagħbija f'Openstack
L-ewwel, ejja nħarsu lejn it-termini u d-definizzjonijiet.

Termini u Definizzjonijiet

Goal huwa riżultat aħħari li jista' jinqara mill-bniedem, li jista' jiġi osservat u li jista' jitkejjel li jrid jinkiseb. Hemm strateġija waħda jew aktar biex jintlaħaq kull għan. Strateġija hija l-implimentazzjoni ta 'algoritmu li huwa kapaċi jsib soluzzjoni għal għan partikolari.

Azzjoni huwa kompitu elementari li jibdel l-istat attwali tar-riżorsa ġestita fil-mira tal-cluster OpenStack, bħal: migrazzjoni ta 'magna virtwali (migrazzjoni), tibdil tal-istat tal-enerġija ta' node (change_node_power_state), tibdil tal-istat tas-servizz nova (change_nova_service_state) ), tibdil fit-togħma (resize), reġistrazzjoni ta 'messaġġi NOP (nop), nuqqas ta' azzjoni għal ċertu tul ta 'żmien - pause (irqad), trasferiment tad-disk (volume_migrate).

Pjan ta' Azzjoni - fluss speċifiku ta' azzjonijiet imwettqa f'ċertu ordni biex jintlaħaq Għan speċifiku. Il-Pjan ta' Azzjoni fih ukoll prestazzjoni globali mkejla b'sett ta' indikaturi tal-prestazzjoni. Pjan ta' azzjoni jiġi ġġenerat minn Watcher wara verifika ta' suċċess, li b'riżultat ta' dan l-istrateġija użata ssib soluzzjoni biex tilħaq l-għan. Pjan ta' azzjoni jikkonsisti f'lista ta' azzjonijiet sekwenzjali.

Verifika hija talba biex jiġi ottimizzat il-cluster. L-ottimizzazzjoni titwettaq sabiex jintlaħaq Għan wieħed f'grupp partikolari. Għal kull verifika ta' suċċess, Watcher jiġġenera Pjan ta' Azzjoni.

Skop tal-Verifika huwa sett ta' riżorsi li fihom titwettaq il-verifika (żona(jiet ta' disponibbiltà), aggregaturi ta' nodi, nodi ta' komputazzjoni individwali jew nodi ta' ħażna, eċċ.). L-ambitu tal-verifika huwa definit f'kull mudell. Jekk ma jiġi speċifikat l-ebda ambitu tal-verifika, il-cluster kollu jiġi vverifikat.

Mudell tal-Verifika — sett ta' settings salvati għat-tnedija ta' verifika. Il-mudelli huma meħtieġa biex imexxu verifiki diversi drabi bl-istess settings. Il-mudell għandu neċessarjament ikun fih l-iskop tal-verifika; jekk l-istrateġiji mhumiex speċifikati, allura jintgħażlu l-istrateġiji eżistenti l-aktar adattati.

Cluster hija ġabra ta’ magni fiżiċi li jipprovdu riżorsi ta’ komputazzjoni, ħażna u netwerking u huma ġestiti mill-istess nodu ta’ ġestjoni OpenStack.

Mudell tad-Dejta tal-Kluster (CDM) hija rappreżentazzjoni loġika tal-istat attwali u t-topoloġija tar-riżorsi ġestiti mill-cluster.

Indikatur tal-Effiċjenza - indikatur li jindika kif titwettaq is-soluzzjoni maħluqa bl-użu ta' din l-istrateġija. L-indikaturi tal-prestazzjoni huma speċifiċi għal għan partikolari u huma tipikament użati biex tiġi kkalkulata l-effettività globali tal-pjan ta’ azzjoni li jirriżulta.

Speċifikazzjoni tal-Effikaċja huwa sett ta’ karatteristiċi speċifiċi assoċjati ma’ kull Għan li jiddefinixxi d-diversi indikaturi tal-prestazzjoni li strateġija biex tikseb l-Għan korrispondenti trid tikseb fis-soluzzjoni tagħha. Tabilħaqq, kull soluzzjoni proposta mill-istrateġija se tiġi vverifikata mal-ispeċifikazzjoni qabel ma tiġi kkalkulata l-effettività globali tagħha.

Scoring Engine huwa fajl eżekutibbli li għandu inputs definiti sew, outputs definiti sew, u jwettaq kompitu purament matematiku. Dan il-mod, il-kalkolu huwa indipendenti mill-ambjent li fih jitwettaq—se jagħti l-istess riżultat kullimkien.

Watcher Planner - parti mill-magna tat-teħid tad-deċiżjonijiet tal-Watcher. Dan il-modulu jieħu sett ta 'azzjonijiet ġġenerati minn strateġija u joħloq pjan ta' fluss tax-xogħol li jispeċifika kif jiġu skedati dawn l-azzjonijiet differenti fil-ħin u għal kull azzjoni, x'inhuma l-prekundizzjonijiet.

Għanijiet u Strateġiji tal-Għassa

Goal
Strateġija

Għan finta
Manikin Strateġija 

Dummy Strategy bl-użu ta' Magni ta' Punteġġ ta' kampjun

Strateġija finta ma resize

Iffrankar tal-Enerġija
Strateġija ta' Iffrankar tal-Enerġija

Konsolidazzjoni tas-Server
Konsolidazzjoni Bażika ta' Server Offline

Strateġija ta' Konsolidazzjoni tal-Volturi tax-Xogħol tal-VM

Ibbilanċjar tal-piż tax-xogħol
Istrateġija ta' Migrazzjoni tal-Bilanċ tal-Ħidma tax-Xogħol

Strateġija ta' Bilanċ tal-Kapaċità tal-Ħżin

Stabbilizzazzjoni tal-piż tax-xogħol

Ġar Storbjuż
Ġar Storbjuż

Ottimizzazzjoni Termali
Strateġija bbażata fuq it-temperatura tal-ħruġ

Ottimizzazzjoni tal-fluss tal-arja
Strateġija uniformi tal-migrazzjoni tal-fluss tal-arja

Manutenzjoni tal-ħardwer
Migrazzjoni taż-żona

Mhux ikklassifikat
Attwatur

Għan finta — għan riżervat li jintuża għal skopijiet ta' ttestjar.

Strateġiji relatati: Dummy Strategy, Dummy Strategy bl-użu ta' kampjuni ta' Scoring Engines u Dummy strategy b'resize. L-istrateġija finta hija strateġija finta użata għall-ittestjar tal-integrazzjoni permezz tat-Tempest. Din l-istrateġija ma tipprovdi l-ebda ottimizzazzjoni utli, l-uniku għan tagħha huwa li tuża testijiet Tempest.

Strateġija finta bl-użu ta' Magni ta' Punteġġ ta' kampjun - l-istrateġija hija simili għal dik preċedenti, l-unika differenza hija l-użu ta '"magna ta' punteġġ" ta 'kampjun li twettaq kalkoli bl-użu ta' metodi ta 'tagħlim bil-magni.

Strateġija finta ma 'resize - l-istrateġija hija simili għal dik ta' qabel, l-unika differenza hija l-użu li tinbidel it-togħma (migrazzjoni u resize).

Mhux użat fil-produzzjoni.

Iffrankar tal-Enerġija — jimminimizzaw il-konsum tal-enerġija. L-Istrateġija ta' Saving Energy ta' dan il-għan, flimkien mal-VM Workload Consolidation Strategy (Server Consolidation), hija kapaċi għal karatteristiċi ta' ġestjoni dinamika tal-enerġija (DPM) li jiffrankaw l-enerġija billi jikkonsolidaw b'mod dinamiku l-piżijiet tax-xogħol anke waqt perjodi ta' utilizzazzjoni baxxa tar-riżorsi: magni virtwali jiġu mċaqalqa għal inqas nodi , u nodi mhux meħtieġa huma diżattivati. Wara l-konsolidazzjoni, l-istrateġija toffri deċiżjoni dwar li jinxtegħlu/itfi n-nodi skont il-parametri speċifikati: “min_free_hosts_num” - in-numru ta’ nodi attivati ​​b’xejn li qed jistennew it-tagħbija, u “free_used_percent” - il-perċentwal ta’ hosts attivati ​​b’xejn għall- numru ta' nodi li huma okkupati minn magni. Biex l-istrateġija taħdem irid ikun hemm ppermettiet u kkonfigurat Ironic biex jimmaniġġja ċ-ċikli tal-enerġija fuq in-nodi.

Parametri ta' l-istrateġija

parametru
Tip
b'kontumaċja
описание

free_used_percent
Numru
10.0
proporzjon tan-numru ta 'nodi tal-kompjuter b'xejn għan-numru ta' nodi tal-kompjuter b'magni virtwali

min_free_hosts_num
Int
1
numru minimu ta' nodi tal-kompjuters b'xejn

Is-sħaba għandu jkollha mill-inqas żewġ nodi. Il-metodu użat huwa li jbiddel l-istat tal-enerġija tan-node (change_node_power_state). L-istrateġija ma teħtieġx ġbir ta 'metriċi.

Konsolidazzjoni tas-Server - jimminimizza n-numru ta 'nodi tal-kompjuters (konsolidazzjoni). Għandu żewġ strateġiji: Konsolidazzjoni Bażika ta' Server Offline u Strateġija ta' Konsolidazzjoni tal-Volturi tax-Xogħol VM.

L-istrateġija Basic Offline Server Consolidation timminimizza n-numru totali ta 'servers użati u timminimizza wkoll in-numru ta' migrazzjonijiet.

L-istrateġija bażika teħtieġ il-metriċi li ġejjin:

metriċi
servizz
plugins
kummentarju

compute.node.cpu.percent
ceilometer
xejn
 

cpu_util
ceilometer
xejn
 

Parametri ta 'strateġija: migration_attempts - numru ta' kombinazzjonijiet biex tfittex kandidati potenzjali għall-għeluq (default, 0, l-ebda restrizzjonijiet), perjodu - intervall ta 'ħin f'sekondi biex tinkiseb aggregazzjoni statika mis-sors tad-dejta metrika (default, 700).

Metodi użati: migrazzjoni, tibdil tal-istat tas-servizz nova (change_nova_service_state).

L-Istrateġija ta' Konsolidazzjoni tal-Ħidma tax-Xogħol tal-VM hija bbażata fuq euristiku tal-ewwel li jiffoka fuq it-tagħbija mkejla tas-CPU u tipprova timminimizza n-nodi li għandhom tagħbija wisq jew ftit wisq minħabba r-restrizzjonijiet tal-kapaċità tar-riżorsi. Din l-istrateġija tipprovdi soluzzjoni li tirriżulta f'użu aktar effiċjenti tar-riżorsi tal-cluster bl-użu tal-erba' passi li ġejjin:

  1. Fażi tal-ħatt - ipproċessar ta 'riżorsi użati żżejjed;
  2. Fażi ta' konsolidazzjoni - l-immaniġġjar ta' riżorsi mhux utilizzati biżżejjed;
  3. Ottimizzazzjoni tas-soluzzjoni - tnaqqis tan-numru ta' migrazzjonijiet;
  4. Inkontabilità nodi tal-komputazzjoni mhux użati.

L-istrateġija teħtieġ il-metriċi li ġejjin:

metriċi
servizz
plugins
kummentarju

memorja
ceilometer
xejn
 

disk.root.size
ceilometer
xejn
 

Il-metriċi li ġejjin huma fakultattivi iżda se jtejbu l-eżattezza tal-istrateġija jekk disponibbli:

metriċi
servizz
plugins
kummentarju

memorja.resident
ceilometer
xejn
 

cpu_util
ceilometer
xejn
 

Parametri ta' l-istrateġija: perjodu — intervall ta' ħin f'sekondi biex tinkiseb aggregazzjoni statika mis-sors tad-dejta metrika (default, 3600).

Juża l-istess metodi bħall-istrateġija preċedenti. Iktar dettalji hawn.

Ibbilanċjar tal-piż tax-xogħol — tibbilanċja l-piż tax-xogħol bejn in-nodi tal-kompjuter. L-għan għandu tliet strateġiji: Strateġija ta 'Migrazzjoni tal-Bilanċ tal-Ħarsien tax-Xogħol, Stabbilizzazzjoni tal-piż tax-xogħol, Strateġija tal-Bilanċ tal-Kapaċità tal-Ħażna.

L-Istrateġija tal-Migrazzjoni tal-Bilanċ tal-Ħidma tax-Xogħol tmexxi migrazzjonijiet tal-magni virtwali bbażati fuq il-piż tax-xogħol tal-magna virtwali ospitanti. Tittieħed deċiżjoni ta' migrazzjoni kull meta l-utilizzazzjoni % tas-CPU jew RAM ta' nodu jaqbeż il-limitu speċifikat. F'dan il-każ, il-magna virtwali mċaqalqa għandha tressaq in-nodu eqreb lejn l-ammont ta 'xogħol medju tan-nodi kollha.

Rekwiżiti

  • Użu ta' proċessuri fiżiċi;
  • Mill-inqas żewġ nodi tal-kompjuters fiżiċi;
  • Installa u kkonfigurat il-komponent Ceilometer - ceilometer-agent-compute, li jaħdem fuq kull compute node, u l-API Ceilometer, kif ukoll ġabar il-metriċi li ġejjin:

metriċi
servizz
plugins
kummentarju

cpu_util
ceilometer
xejn
 

memorja.resident
ceilometer
xejn
 

Parametri tal-istrateġija:

parametru
Tip
b'kontumaċja
описание

metriċi
String
'cpu_util'
Il-metriċi sottostanti huma: 'cpu_util', 'memory.resident'.

limitu minimu
Numru
25.0
Limitu tal-ammont ta' xogħol għall-migrazzjoni.

perjodu
Numru
300
Perjodu ta' żmien kumulattiv Ceilometer.

Il-metodu użat huwa l-migrazzjoni.

L-istabbilizzazzjoni tal-piż tax-xogħol hija strateġija mmirata biex tistabbilizza l-piż tax-xogħol bl-użu ta' migrazzjoni diretta. L-istrateġija hija bbażata fuq algoritmu ta 'devjazzjoni standard u tiddetermina jekk hemmx konġestjoni fil-cluster u tirrispondi għaliha billi tiskatta l-migrazzjoni tal-magni biex tistabbilizza l-cluster.

Rekwiżiti

  • Użu ta' proċessuri fiżiċi;
  • Mill-inqas żewġ nodi tal-kompjuters fiżiċi;
  • Installa u kkonfigurat il-komponent Ceilometer - ceilometer-agent-compute, li jaħdem fuq kull compute node, u l-API Ceilometer, kif ukoll ġabar il-metriċi li ġejjin:

metriċi
servizz
plugins
kummentarju

cpu_util
ceilometer
xejn
 

memorja.resident
ceilometer
xejn
 

Strateġija tal-Bilanċ tal-Kapaċità tal-Ħżin (strateġija implimentata li tibda minn Queens) - l-istrateġija tittrasferixxi d-diski skont it-tagħbija fuq il-pools Cinder. Tittieħed deċiżjoni ta' trasferiment kull meta r-rata ta' utilizzazzjoni tal-pool taqbeż limitu speċifikat. Id-disk li qed jiġi mċaqlaq għandu jġib il-pool eqreb lejn it-tagħbija medja tal-pools kollha Cinder.

Ħtiġiet u restrizzjonijiet

  • Minimu żewġ pools Cinder;
  • Possibbiltà tal-migrazzjoni tad-disk.
  • Mudell tad-dejta tal-cluster - Kollettur tal-mudell tad-dejta tal-cluster Cinder.

Parametri tal-istrateġija:

parametru
Tip
b'kontumaċja
описание

volum_threshold
Numru
80.0
Valur limitu tad-diski għall-ibbilanċjar tal-volumi.

Il-metodu użat huwa l-migrazzjoni tad-disk (volume_migrate).

Ġar Storbjuż - Identifika u emigra "proxxmu storbjuż" - magna virtwali ta 'prijorità baxxa li qed taffettwa b'mod negattiv il-prestazzjoni ta' magna virtwali ta 'prijorità għolja f'termini ta' IPC billi tuża żżejjed Last Level Cache. Strateġija proprja: Ġar storbjuż (il-parametru tal-istrateġija użat huwa cache_threshold (il-valur default huwa 35), meta l-prestazzjoni tinżel għall-valur speċifikat, tinbeda l-migrazzjoni. Biex l-istrateġija taħdem, attivata Il-metriċi tal-LLC (Last Level Cache), l-aħħar server Intel b'appoġġ CMT, kif ukoll tiġbor il-metriċi li ġejjin:

metriċi
servizz
plugins
kummentarju

cpu_l3_cache
ceilometer
xejn
Intel meħtieġa CMT.

Mudell tad-dejta tal-cluster (default): Kollettur tal-mudell tad-dejta tal-cluster Nova. Il-metodu użat huwa l-migrazzjoni.

Il-ħidma b'dan il-għan permezz tad-Dashboard mhix implimentata bis-sħiħ f'Queens.

Ottimizzazzjoni Termali — jottimizzaw ir-reġim tat-temperatura. It-temperatura tal-ħruġ (arja ta 'l-exhaust) hija waħda mis-sistemi ta' telemetrija termali importanti biex jitkejjel l-istatus termali/tal-tagħbija tax-xogħol ta 'server. Il-mira għandha strateġija waħda, l-istrateġija bbażata fuq it-temperatura tal-Ħruġ, li tiddeċiedi li temigra l-piżijiet tax-xogħol lejn hosts termalment favorevoli (l-inqas temperatura tal-ħruġ) meta t-temperatura tal-ħruġ tal-ospiti tas-sors tilħaq limitu konfigurabbli.

Biex l-istrateġija taħdem, għandek bżonn server b'Intel Power Node Manager installat u kkonfigurat 3.0 jew aktar tard, kif ukoll tiġbor il-metriċi li ġejjin:

metriċi
servizz
plugins
kummentarju

hardware.ipmi.node.outlet_temperatura
ceilometer
IPMI
 

Parametri tal-istrateġija:

parametru
Tip
b'kontumaċja
описание

limitu minimu
Numru
35.0
Limitu tat-temperatura għall-migrazzjoni.

perjodu
Numru
30
L-intervall tal-ħin, f'sekondi, biex tinkiseb l-aggregazzjoni statistika mis-sors tad-dejta metrika.

Il-metodu użat huwa l-migrazzjoni.

Ottimizzazzjoni tal-fluss tal-arja — jottimizzaw il-mod ta' ventilazzjoni. Strateġija proprja - Fluss ta 'l-Ajru Uniformi bl-użu ta' migrazzjoni diretta. L-istrateġija tqajjem il-migrazzjoni tal-magni virtwali kull meta l-fluss tal-arja mill-fann tas-server jaqbeż limitu speċifikat.

Biex l-istrateġija taħdem għandek bżonn:

  • Ħardwer: compute nodes < li jappoġġjaw NodeManager 3.0;
  • Mill-inqas żewġ nodi tal-kompjuters;
  • Il-komponent ceilometer-agent-compute u Ceilometer API installat u kkonfigurat fuq kull node tal-kompjuter, li jista 'jirrapporta b'suċċess metriċi bħal fluss ta' arja, qawwa tas-sistema, temperatura tad-dħul:

metriċi
servizz
plugins
kummentarju

hardware.ipmi.node.airflow
ceilometer
IPMI
 

ħardwer.ipmi.node.temperatura
ceilometer
IPMI
 

ħardwer.ipmi.node.power
ceilometer
IPMI
 

Biex l-istrateġija taħdem, għandek bżonn server b'Intel Power Node Manager 3.0 jew aktar tard installat u kkonfigurat.

Limitazzjonijiet: Il-kunċett mhuwiex maħsub għall-produzzjoni.

Huwa propost li jintuża dan l-algoritmu b'verifiki kontinwi, peress li magna virtwali waħda biss hija ppjanata li tiġi emigrata għal kull iterazzjoni.

Migrazzjonijiet ħajjin huma possibbli.

Parametri tal-istrateġija:

parametru
Tip
b'kontumaċja
описание

threshold_airflow
Numru
400.0
Il-limitu tal-fluss tal-arja għall-Unità tal-migrazzjoni huwa 0.1CFM

threshold_inlet_t
Numru
28.0
Limitu tat-temperatura tad-dħul għad-deċiżjoni tal-migrazzjoni

threshold_power
Numru
350.0
Limitu tal-qawwa tas-sistema għad-deċiżjoni tal-migrazzjoni

perjodu
Numru
30
L-intervall tal-ħin, f'sekondi, biex tinkiseb l-aggregazzjoni statistika mis-sors tad-dejta metrika.

Il-metodu użat huwa l-migrazzjoni.

Manutenzjoni Hardware — Manutenzjoni tal-ħardwer. L-istrateġija relatata ma' dan il-għan hija l-migrazzjoni taż-Żona. L-istrateġija hija għodda għal migrazzjoni awtomatika u minima effettiva ta 'magni virtwali u diski f'każ ta' bżonn ta 'manutenzjoni tal-hardware. L-istrateġija tibni pjan ta’ azzjoni skont il-piżijiet: sett ta’ azzjonijiet li għandu aktar piż se jkun ippjanat qabel l-oħrajn. Hemm żewġ għażliet ta 'konfigurazzjoni: action_weights u parallelization.

Limitazzjonijiet: piżijiet ta 'azzjoni u parallelizzazzjoni jeħtieġ li jiġu kkonfigurati.

Parametri tal-istrateġija:

parametru
Tip
b'kontumaċja
описание

compute_nodes
firxa
Xejn
Ikkalkula nodi għall-migrazzjoni.

ħażna_pools
firxa
Xejn
Nodi tal-ħażna għall-migrazzjoni.

parallel_total
numru sħiħ
6
In-numru totali ta' attivitajiet li jridu jiġu esegwiti b'mod parallel.

parallel_per_node
numru sħiħ
2
In-numru ta' azzjonijiet imwettqa b'mod parallel għal kull node tal-komputazzjoni.

parallel_per_pool
numru sħiħ
2
In-numru ta' azzjonijiet imwettqa b'mod parallel għal kull pool ta' ħażna.

prijorità
oġġett
Xejn
Lista ta' prijorità għal magni virtwali u diski.

with_attached_volume
boolean
False
Falza—magni virtwali se jiġu emigrati wara li d-diski kollha jkunu ġew migrati. Veru—magni virtwali se jiġu emigrati wara li d-diski kollha konnessi jkunu ġew migrati.

Elementi tal-firxa ta' nodi tal-kompjuters:

parametru
Tip
b'kontumaċja
описание

src_node
sekwenza
Xejn
In-nodu tal-komputazzjoni li minnu qed jiġu migrati l-magni virtwali (meħtieġa).

dst_node
sekwenza
Xejn
Ikkalkula n-nodu li lejh qed jemigraw il-magni virtwali.

Elementi tal-firxa tan-nodi tal-ħażna:

parametru
Tip
b'kontumaċja
описание

src_pool
sekwenza
Xejn
Il-pool tal-ħażna li minnu qed jiġu migrati d-diski (meħtieġa).

dst_pool
sekwenza
Xejn
Il-ġabra tal-ħażna li għaliha d-diski huma emigrati.

src_type
sekwenza
Xejn
Tip ta' disk oriġinali (meħtieġa).

dst_type
sekwenza
Xejn
It-tip ta' disk li jirriżulta (meħtieġa).

Elementi prijoritarji tal-oġġett:

parametru
Tip
b'kontumaċja
описание

proġett
firxa
Xejn
Ismijiet tal-proġetti.

compute_node
firxa
Xejn
Ikkalkula l-ismijiet tan-nodi.

pool_ħażna
firxa
Xejn
Ismijiet tal-pool tal-ħażna.

ikkalkula
enum
Xejn
Parametri tal-magni virtwali [“vcpu_num”, “mem_size”, “disk_size”, “created_at”].

ħażna
enum
Xejn
Parametri tad-disk [“daqs”, “created_at”].

Il-metodi użati huma l-migrazzjoni tal-magni virtwali, il-migrazzjoni tad-disk.

Mhux ikklassifikat - għan awżiljarju użat biex jiffaċilita l-proċess ta' żvilupp ta' strateġija. Ma fih l-ebda speċifikazzjonijiet u jista 'jintuża kull meta l-istrateġija tkun għadha mhix assoċjata ma' għan eżistenti. Dan l-għan jista 'jintuża wkoll bħala punt ta' tranżizzjoni. Strateġija relatata ma' dan il-għan hija Actuator.   

Noħolqu għan ġdid

Watcher Deċiżjoni Magna għandha interface ta 'plugin "għan estern" li jagħmilha possibbli li jiġi integrat għan estern li jista' jintlaħaq bl-użu ta 'strateġija.

Qabel ma toħloq mira ġdida, għandek tiżgura li l-ebda miri eżistenti ma jilħqu l-bżonnijiet tiegħek.

Ħolqien ta' plugin ġdid

Biex toħloq mira ġdida, trid: testendi l-klassi fil-mira, timplimenta metodu ta 'klassi get_name() biex tirritorna l-ID uniku tal-mira l-ġdida li trid toħloq. Dan l-identifikatur uniku jrid jaqbel mal-isem tal-punt tad-dħul li tiddikjara aktar tard.

Sussegwentement trid timplimenta l-metodu tal-klassi get_display_name() biex tirritorna l-isem tal-wiri tradott tal-mira li trid toħloq (tużax varjabbli biex tirritorna s-sekwenza tradotta sabiex tkun tista' tinġabar awtomatikament mill-għodda tat-traduzzjoni.).

Implimenta metodu ta 'klassi get_translatable_display_name()biex tirritorna ċ-ċavetta tat-traduzzjoni (fil-fatt l-isem tal-wiri bl-Ingliż) tal-mira l-ġdida tiegħek. Il-valur tar-ritorn għandu jaqbel mas-sekwenza tradotta f'get_display_name().

Implimenta l-metodu tiegħu get_efficacy_specification ()biex tirritorna l-ispeċifikazzjoni tal-effiċjenza għall-mira tiegħek. Il-metodu get_efficacy_specification() jirritorna l-istanza Unclassified() ipprovduta minn Watcher. Din l-ispeċifikazzjoni tal-prestazzjoni hija utli fil-proċess tal-iżvilupp tal-mira tiegħek minħabba li tikkorrispondi mal-ispeċifikazzjoni vojta.

Aqra aktar hawn

Arkitettura tal-Watcher (aktar dettalji) hawn).

Ibbilanċjar tat-Tagħbija f'Openstack

Komponenti

Ibbilanċjar tat-Tagħbija f'Openstack

Watcher API - komponent li jimplimenta l-API REST ipprovdut minn Watcher. Mekkaniżmi ta' interazzjoni: CLI, plugin Horizon, Python SDK.

Watcher DB — Database ta' Watcher.

Applikatur Watcher — komponent li jimplimenta l-eżekuzzjoni ta’ pjan ta’ azzjoni maħluq mill-komponent Watcher Decision Engine.

Watcher Deċiżjoni Magna - Il-komponent responsabbli għall-komputazzjoni ta' sett ta' azzjonijiet ta' ottimizzazzjoni potenzjali biex jintlaħaq l-għan tal-verifika. Jekk strateġija ma tkunx speċifikata, il-komponent jagħżel b'mod indipendenti l-aktar waħda xierqa.

Pubblikatur tal-Metriċi tal-Għassa - Komponent li jiġbor u jikkalkula xi metriċi jew avvenimenti u jippubblikahom lill-endpoint tas-CEP. Il-funzjonalità tal-komponent tista 'tiġi pprovduta wkoll mill-pubblikatur Ceilometer.

Magna għall-Ipproċessar ta' Avvenimenti Kumpless (CEP). — magna għall-ipproċessar ta' avvenimenti kumplessi. Għal raġunijiet ta' prestazzjoni, jista' jkun hemm bosta istanzi CEP Engine li jaħdmu fl-istess ħin, kull wieħed jipproċessa tip speċifiku ta' metrika/avveniment. Fis-sistema Watcher, is-CEP iqanqal żewġ tipi ta' azzjonijiet: - jirreġistra avvenimenti/metriċi rilevanti fid-database tas-serje taż-żmien; - tibgħat avvenimenti xierqa lill-Watcher Decision Engine meta dan l-avveniment jista 'jaffettwa r-riżultat tal-istrateġija ta' ottimizzazzjoni attwali, peress li l-cluster Openstack mhuwiex sistema statika.

Il-komponenti jinteraġixxu bl-użu tal-protokoll AMQP.

Konfigurazzjoni ta' Watcher

Skema ta' interazzjoni ma' Watcher

Ibbilanċjar tat-Tagħbija f'Openstack

Riżultati tat-test Watcher

  1. Fuq il-paġna Ottimizzazzjoni - Pjanijiet ta' azzjoni 500 (kemm fuq Queens puri kif ukoll fuq stand b'moduli Tionix), jidher biss wara li titnieda l-awditjar u jiġi ġġenerat pjan ta' azzjoni; dak vojt jinfetaħ b'mod normali.
  2. Hemm żbalji fit-tab tad-dettalji tal-Azzjoni, mhux possibbli li tikseb l-għan u l-istrateġija tal-verifika (kemm fuq Queens puri kif ukoll fuq stand b'moduli Tionix).
  3. Verifiki bl-iskop ta' Dummy (test) huma maħluqa u mnedija normalment, pjanijiet ta' azzjoni huma ġġenerati.
  4. Il-verifiki għall-għan Mhux klassifikat mhumiex maħluqa minħabba li l-għan mhuwiex funzjonali u huwa maħsub għal konfigurazzjoni intermedja meta jinħolqu strateġiji ġodda.
  5. Verifiki għall-iskop tal-Ibbilanċjar tal-Ħidma tax-Xogħol (strateġija tal-bilanċ tal-Kapaċità tal-Ħżin) jinħolqu b'suċċess, iżda ma jiġix iġġenerat pjan ta' azzjoni. L-ebda ottimizzazzjoni tal-pool tal-ħażna meħtieġa.
  6. Verifiki għall-għan tal-Ibbilanċjar tal-Ħidma tax-Xogħol (Workload Balance Migration Strategy) jinħolqu b'suċċess, iżda ma jiġix iġġenerat pjan ta' azzjoni.
  7. Il-verifiki għall-Ibbilanċjar tat-Tagħbija tax-Xogħol (Istrateġija għall-Istabbilizzazzjoni tal-Kbir tax-Xogħol) ifallu.
  8. Verifiki għall-mira ta' Ġar Storbjuż jinħolqu b'suċċess, iżda ma jiġix iġġenerat pjan ta' azzjoni.
  9. Il-verifiki għall-iskop tal-manutenzjoni tal-Hardware jinħolqu b'suċċess, il-pjan ta 'azzjoni mhux iġġenerat bis-sħiħ (l-indikaturi tal-prestazzjoni huma ġġenerati, iżda l-lista ta' azzjonijiet innifisha mhix ġġenerata).
  10. Modifiki fil-konfigurazzjonijiet nova.conf (fit-taqsima default compute_monitors = cpu.virt_driver) fuq in-nodi tal-komputazzjoni u l-kontroll ma jikkoreġux l-iżbalji.
  11. Il-verifiki li jimmiraw il-Konsolidazzjoni tas-Server (Strateġija Bażika) ifallu wkoll.
  12. Verifiki għall-iskop tal-Konsolidazzjoni tas-Server (strateġija ta' konsolidazzjoni tal-volum tax-xogħol VM) ifallu bi żball. Fiz-zkuk hemm żball fil-kisba tad-dejta tas-sors. Diskussjoni tal-iżball, b'mod partikolari hawn.
    Aħna ppruvajna nispeċifikaw Watcher fil-fajl tal-konfigurazzjoni (ma għenx - bħala riżultat ta 'żball fuq il-paġni kollha tal-Ottimizzazzjoni, ir-ritorn għall-kontenut oriġinali tal-fajl tal-konfigurazzjoni ma jikkoreġix is-sitwazzjoni):

    [watcher_strategies.basic] datasource = ceilometer, gnocchi
  13. Il-verifiki għall-Ffrankar tal-Enerġija ifallu. Ġġudikat mill-zkuk, il-problema għadha l-assenza ta 'Ironiku; mhux se jaħdem mingħajr servizz baremetal.
  14. Il-verifiki għall-Ottimizzazzjoni Termali ifallu. It-traċċar huwa l-istess bħal għall-Konsolidazzjoni tas-Server (strateġija ta' konsolidazzjoni tal-volum tax-xogħol VM) (iżball tad-dejta tas-sors)
  15. Il-verifiki għall-iskop tal-Ottimizzazzjoni tal-Fluss tal-Ajru ifallu bi żball.

L-iżbalji ta' tlestija tal-awditjar li ġejjin jiltaqgħu wkoll. Traċċar fil-logs decision-engine.log (l-istat tal-cluster mhuwiex definit).

→ Diskussjoni tal-iżball hawn

Konklużjoni

Ir-riżultat tar-riċerka tagħna ta 'xahrejn kien il-konklużjoni inekwivokabbli li sabiex tinkiseb sistema sħiħa ta' bilanċ tat-tagħbija tax-xogħol, se jkollna, f'din il-parti, naħdmu mill-qrib fuq ir-raffinar tal-għodod għall-pjattaforma Openstack.

Watcher wera li huwa prodott serju u li qed jiżviluppa malajr b'potenzjal enormi, li l-użu sħiħ tiegħu se jirrikjedi ħafna xogħol serju.

Iżda aktar dwar dan fl-artikoli li jmiss tas-serje.

Sors: www.habr.com

Żid kumment