Balansa barkirinê di Openstack de

Di pergalên ewr ên mezin de, mijara hevsengkirina otomatîkî an astîkirina barê li ser çavkaniyên hesabkirinê bi taybetî giran e. Tionix (pêşvebir û operatorê karûbarên cloudê, beşek ji koma pargîdaniyên Rostelecom) jî vê pirsgirêkê girtiye.

Û, ji ber ku platforma meya pêşkeftinê ya sereke Openstack e, û em, mîna hemî mirovan, tembel in, biryar hate girtin ku em modulek amade-ya ku jixwe di platformê de tê de heye hilbijêrin. Hilbijartina me ket ser Watcher, ku me biryar da ku em ji bo hewcedariyên xwe bikar bînin.
Balansa barkirinê di Openstack de
Pêşî, em li şert û pênaseyan binêrin.

Şert û pênaseyên

Armanc encameke dawîn a ku mirov dikare bixwîne, were dîtin û pîvandin e ku divê were bidestxistin. Ji bo bidestxistina her armancê yek an çend stratej hene. Stratejiyek pêkanîna algorîtmayek e ku bikaribe çareseriyek ji bo armancek diyarkirî bibîne.

Çalakî peywirek bingehîn e ku rewşa heyî ya çavkaniya birêvebir a armancê ya koma OpenStack diguhezîne, wek: koçkirina makîneyek virtual (koç), guheztina rewşa hêza girêkekê (change_node_power_state), guheztina rewşa karûbarê nova (change_nova_service_state ), guheztina tamê (guheztin), tomarkirina peyamên NOP (nop), nebûna çalakiyê ji bo demek diyarkirî - sekinîn (xew), veguheztina dîskê (volume_migrate).

Plana Çalakiyê - tevgerek taybetî ya çalakiyan ku ji bo gihîştina armancek taybetî bi rêzek diyar têne kirin. Plana Çalakiyê di heman demê de performansa gerdûnî ya pîvandî bi komek nîşangirên performansê jî vedihewîne. Planek çalakiyê ji hêla Watcher ve li ser vedîtinek serketî tête çêkirin, wekî encamek ku stratejiya hatî bikar anîn çareseriyek ji bo gihîştina armancê dibîne. Plana çalakiyê ji navnîşek çalakiyên rêzdar pêk tê.

Berçavkirina daxwazek ji bo xweşbînkirina komê ye. Optimîzasyon ji bo ku di komikek diyarkirî de yek Armanc bigihîje pêk tê. Ji bo her kontrolek serketî, Watcher Planek Çalakiyê çêdike.

Qada Kontrolê komek çavkaniyan e ku di nav wan de vekolîn tê kirin (herêma berdestiyê, berhevkarên girêk, girêkên hesabker ên kesane an girêkên hilanînê, hwd.). Qada kontrolê di her şablonê de tê destnîşankirin. Ger çarçoveyek kontrolê neyê diyar kirin, tevahiya komê tê kontrol kirin.

Şablonên Kontrolkirinê - komek mîhengên tomarkirî yên ji bo destpêkirina lênêrînê. Şablon hewce ne ku bi heman mîhengan gelek caran vekolînan bimeşînin. Pêdivî ye ku şablon pêdivî ye ku armanca kontrolê hebe; ger stratejiyên ne diyar bin, wê hingê stratejiyên heyî yên herî guncaw têne hilbijartin.

Cluster berhevokek makîneyên laşî ye ku çavkaniyên hesab, hilanîn û torê peyda dike û ji hêla heman girêka rêveberiya OpenStack ve têne rêve kirin.

Modela Daneyên Komê (CDM) Nûneratiyek mentiqî ya rewşa heyî û topolojiya çavkaniyên ku ji hêla komê ve têne rêve kirin e.

Indicator Efficiency - Nîşanek ku destnîşan dike ka çareseriya ku bi karanîna vê stratejiyê hatî çêkirin çawa tête kirin. Nîşaneyên performansê ji bo armancek taybetî taybetî ne û bi gelemperî têne bikar anîn da ku bandora gerdûnî ya plana çalakiyê ya encam were hesibandin.

Specification Efficiency komek taybetmendiyên taybetî yên ku bi her Armancê ve girêdayî ye ku nîşaneyên performansê yên cihêreng diyar dike ku stratejiyek ji bo bidestxistina Armanca têkildar divê di çareseriya xwe de bi dest bixe. Bi rastî, her çareseriyek ku ji hêla stratejiyê ve hatî pêşniyar kirin dê berî ku bandora wê ya gerdûnî were hesibandin li hember taybetmendiyê were kontrol kirin.

Scoring Engine pelek îcrakar e ku xwedan têketinên diyarkirî, derketinên xweş diyarkirî ye, û karekî tenê matematîkî pêk tîne. Bi vî rengî, hesab ji hawîrdora ku lê tê kirin serbixwe ye - ew ê heman encamê li her deverê bide.

Çavdêr Planner - beşek ji motora biryargirtinê ya Watcher. Ev modul komek çalakiyan ku ji hêla stratejiyek ve hatî hilberandin digire û nexşeyek xebata xebatê diafirîne ku diyar dike ka meriv çawa van kiryarên cûda di wextê xwe de û ji bo her çalakiyê, şert û mercên pêşîn çi ne.

Armanc û Stratejiyên Çavdêr

Armanc
Stratejiyan

Armanca dummy
Stratejiya Dummy 

Stratejiya Dummy bi karanîna motorên dengdanê yên nimûne

Stratejiya dummy ya bi mezinbûnê

Sazkirina Enerjiyê
Stratejiya Saving Energy

Server Consolidation
Bingehîn Tevhevkirina Servera Offline

Stratejiya Hevgirtina Karê VM

Balansa Karê
Stratejiya Koçberiyê Balansa Kar

Stratejiya Balansa Kapasîteya Storage

Stabilîzasyona Karê

Cîranê bi deng
Cîranê bi deng

Optimîzasyona Termal
Stratejiya bingeha germahiya derketinê

Optimîzasyona hewayê
Stratejiya koçberiya hewayê ya yekbûyî

Maintenance Hardware
Zone koç

Neçêkirî
Çalakker

Armanca dummy - Armanca veqetandî ya ku ji bo armancên ceribandinê tê bikar anîn.

Stratejiyên pêwenddar: Stratejiya Dummy, Stratejiya Dummy bi karanîna motorên dengdanê yên nimûne û stratejiya Dummy ya bi mezinbûnê. Stratejiya Dummy stratejiyek dumî ye ku ji bo ceribandina entegrasyonê bi Tempest ve tê bikar anîn. Ev stratejî tu xweşbîniyek kêrhatî peyda nake, armanca wê tenê karanîna ceribandinên Tempest e.

Stratejiya dummy bi karanîna motorên dengdanê yên nimûneyê - stratejî mîna ya berê ye, cûdahiya tenê karanîna nimûneyek "motora dengdanê" ye ku bi karanîna rêbazên fêrbûna makîneyê hesaban dike.

Stratejiya dummy ya bi mezinbûnê - stratejî mîna ya berê ye, cûdahiya tenê karanîna guhartina tamê ye (koçberî û mezinahî).

Di hilberînê de nayê bikar anîn.

Sazkirina Enerjiyê - kêmkirina xerckirina enerjiyê. Stratejiya Teserûfa Enerjiyê ya vê armancê, ligel Stratejiya Tevhevkirina Karkeriya VM (Tevhevkirina Pêşkêşkar), karibe taybetmendiyên rêveberiya hêza dînamîkî (DPM) bike ku enerjiyê bi berhevkirina dînamîk a bargiraniyên xebatê tewra di heyamên karanîna kêm çavkaniyê de jî diparêze: makîneyên virtual berbi kêm girêkan ve têne veguhestin. , û girêkên nehewce neçalak in. Piştî hevgirtinê, stratejî li gorî pîvanên diyarkirî biryarek li ser vekirina/çalakkirina girêkan pêşkêşî dike: "min_free_hosts_num" - hejmara girêkên çalakkirî yên belaş ên ku li benda barkirinê ne, û "free_used_percent" - rêjeya mêvandarên çalakkirî yên belaş ji bo hejmara girêkên ku ji hêla makîneyan ve têne dagir kirin. Ji bo ku stratejiyek kar bike divê hebe Ironic çalak û mîheng kir ku bisiklêdana hêzê li ser girêkan bi rê ve bibe.

Parametreyên stratejiyê

parametre
tîp
bi xwerû
şîrove

belaş_bikaranîn_percent
jimare
10.0
rêjeya hejmara girêkên kompîturê yên belaş ji hejmara girêkên bi makîneyên virtual re

min_free_hosts_num
Int
1
herî kêm hejmara girêkên komputera belaş

Divê ewr herî kêm du girêk hebin. Rêbaza ku tê bikar anîn guheztina rewşa hêza girêkê ye (change_node_power_state). Stratejî komkirina metrîkan hewce nake.

Hevgirtina Server - hejmara girêkên hesabkirinê kêm bike (hevgirtin). Du stratejiyên wê hene: Hevgirtina Servera Bingehîn a Offline û Stratejiya Hevgirtina Karê Karê VM.

Stratejiya Tevhevkirina Pêşkêşkara Nekêşbar a Bingehîn jimara giştî ya pêşkêşkerên ku têne bikar anîn kêm dike û di heman demê de hejmara koçberan jî kêm dike.

Stratejiya bingehîn pîvanên jêrîn hewce dike:

metrics
xizmetkar
pêvekên
şîrove

compute.node.cpu.percent
ceilometer
netû
 

cpu_util
ceilometer
netû
 

Parametreyên stratejiyê: migration_tempts - hejmara berhevokan ji bo lêgerîna li berendamên potansiyel ên ji bo girtinê (xweserî, 0, bê sînor), dem - navbera dem di çirkeyan de ji bo bidestxistina kombûna statîk ji çavkaniya daneya metrîk (xwerû, 700).

Rêbazên ku têne bikar anîn: koçberî, guhartina rewşa karûbarê nova (change_nova_service_state).

Stratejiya Tevhevkirina Karê Karê VM-ê li ser bingeha heurîstîkek yekem-guncan e ku balê dikişîne ser barkirina CPU-ya pîvandî û hewl dide ku girêkên ku bargiraniya wan pir an pir hindik in ji ber astengiyên kapasîteya çavkaniyê kêm bike. Ev stratejî çareseriyek peyda dike ku bi karanîna çar gavên jêrîn bi karanîna bikêrtir çavkaniyên komê encam dide:

  1. Qonaxa barkirinê - pêvajokirina çavkaniyên zêde bikar anîn;
  2. Qonaxa hevgirtinê - desteserkirina çavkaniyên kêm bikar anîn;
  3. Optimîzasyona çareseriyê - kêmkirina hejmara koçberan;
  4. Neçalakkirina girêkên hesabkirinê yên nekarandî.

Stratejî pîvanên jêrîn hewce dike:

metrics
xizmetkar
pêvekên
şîrove

bîr
ceilometer
netû
 

disk.root.size
ceilometer
netû
 

Metrîkên jêrîn vebijarkî ne lê heke hebe dê rastbûna stratejiyê baştir bikin:

metrics
xizmetkar
pêvekên
şîrove

bîrnebûn.niştecih
ceilometer
netû
 

cpu_util
ceilometer
netû
 

Parametreyên stratejiyê: serdem - navbera dem di saniyeyan de ji bo bidestxistina kombûna statîk ji çavkaniya daneya metrîk (xwerû, 3600).

Heman rêbazan wekî stratejiya berê bikar tîne. Zêdetir hûrgulî vir.

Balansa Karê - barkêşiya xebatê di navbera girêkên hesabkirinê de hevseng bikin. Armanc sê stratejiyên xwe hene: Stratejiya Koçberiyê ya Balansa Karê, Stabilîzasyona Karê Karê, Stratejiya Balansa Kapasîteya Storage.

Stratejiya Koçberiya Balansa Karê li ser bingeha xebata makîneya virtual ya mêvandar, koçberiyên makîneya virtual dimeşîne. Gava ku % CPU an RAM-ê bikar anîna girêkek ji sînorê diyarkirî derbas bibe, biryarek koçberiyê tê girtin. Di vê rewşê de, pêdivî ye ku makîneya virtual ya hatî veguheztin girêk nêzê barê xebata navînî ya hemî girêkan bike.

daxwazên

  • Bikaranîna pêvajoyên fîzîkî;
  • Bi kêmanî du girêkên hesabkirina laşî;
  • Parçeya Ceilometer - ceilometer-agent-compute saz kir û mîheng kir, ku li ser her girêk hesabker, û API-ya Ceilometer dixebite, û her weha pîvanên jêrîn berhev dike:

metrics
xizmetkar
pêvekên
şîrove

cpu_util
ceilometer
netû
 

bîrnebûn.niştecih
ceilometer
netû
 

Parametreyên stratejiyê:

parametre
tîp
bi xwerû
şîrove

metrîk
Ben
'cpu_util'
Metrîkên bingehîn ev in: 'cpu_util', 'memory.resident'.

nepxok
jimare
25.0
Ji bo koçberiyê sînorê bargiraniyê.

nixte
jimare
300
Demjimêra berhevkirî Ceilometer.

Rêbaza ku tê bikaranîn koçberî ye.

Stabilîzekirina barkêşiya kar stratejiyek e ku armanc ew e ku bi karanîna koçberiya zindî îstîqrara barê xebatê bikar bîne. Stratejî li ser bingeha algorîtmayek devjêberdana standard e û destnîşan dike ka di komê de qelebalix heye an na û bersivê dide wê ji hêla koçberiya makîneyê ve ji bo aramkirina komê.

daxwazên

  • Bikaranîna pêvajoyên fîzîkî;
  • Bi kêmanî du girêkên hesabkirina laşî;
  • Parçeya Ceilometer - ceilometer-agent-compute saz kir û mîheng kir, ku li ser her girêk hesabker, û API-ya Ceilometer dixebite, û her weha pîvanên jêrîn berhev dike:

metrics
xizmetkar
pêvekên
şîrove

cpu_util
ceilometer
netû
 

bîrnebûn.niştecih
ceilometer
netû
 

Stratejiya Balansa Kapasîteya Hilberînê (stratejiya ku bi Queens-ê dest pê dike hatî pêkanîn) - stratejî li gorî barkirina hewzên Cinder veguhezîne dîskan. Dema ku rêjeya karanîna hewzê ji bendek diyarkirî derbas bibe biryarek veguheztinê tê girtin. Dîska ku tê guheztin divê hewzê nêzî barkirina navînî ya hemî hewzên Cinder bike.

Pêdiviyên û sînorkirinên

  • Kêmtirîn du hewzên Cinder;
  • Ihtîmala koçkirina dîskê.
  • Modela daneya komê - Berhevkarê modela daneya koma Cinder.

Parametreyên stratejiyê:

parametre
tîp
bi xwerû
şîrove

volume_threshold
jimare
80.0
Nirxa sînorê dîskê ji bo balansa cildên.

Rêbaza ku tê bikar anîn koçkirina dîskê ye (volume_migrate).

Cîranê Noisy - "Cîranek bi deng" nas bikin û koç bikin - makîneyek virtual ya kêm pêşanî ku bi karanîna zêde Cache-ya Asta Paşîn ve bandorek neyînî li performansa makîneyek virtual ya pêşîn a bilind dike di warê IPC de. Stratejiya xwe: Cîranê dengdar (parametreya stratejiyê ya ku tê bikar anîn cache_threshold e (nirxa xwerû 35 e), dema ku performans dakeve nirxa diyarkirî, koçberî dest pê dike. Ji bo ku stratejî bixebite, çalak e LLC (Last Level Cache) metrîka, servera herî dawî ya Intel bi piştgiriya CMT, û her weha metrîkên jêrîn berhev dike:

metrics
xizmetkar
pêvekên
şîrove

cpu_l3_cache
ceilometer
netû
Intel hewce ye CMT.

Modela daneya komê (default): Berhevkarê modela daneya komê ya Nova. Rêbaza ku tê bikaranîn koçberî ye.

Karkirina bi vê armancê re bi navgîniya Dashboard-ê li Queens bi tevahî nayê bicîh kirin.

Optimîzasyona Termal - optimîzekirina rejîma germahiyê. Germahiya derketinê (hewa derçûyî) yek ji pergalên telemetrîya germî ya girîng e ku ji bo pîvandina rewşa germî / bargiraniya serverek. Armanc yek stratejiyek heye, stratejiya bingehîn a germahiya derketinê, ya ku biryar dide ku barkêşên xebatê li mêvandarên germî yên bikêr (herêmtirîn germahiya derketinê) veguhezîne dema ku germahiya derketinê ya mêvandarên çavkaniyê digihîje bendek mîhengbar.

Ji bo ku stratejî bixebite, hûn hewceyê serverek bi Intel Power Node Manager-ê sazkirî û mîhengkirî ne 3.0 an paşê, û her weha metrîkên jêrîn berhev dike:

metrics
xizmetkar
pêvekên
şîrove

hardware.ipmi.node.outlet_temperature
ceilometer
IPMI
 

Parametreyên stratejiyê:

parametre
tîp
bi xwerû
şîrove

nepxok
jimare
35.0
Ji bo koçberiyê sînorê germê.

nixte
jimare
30
Navbera demê, di çirkeyan de, ji bo bidestxistina berhevoka statîstîkî ji çavkaniya daneya metrîkê.

Rêbaza ku tê bikaranîn koçberî ye.

Optimîzasyona hewayê - moda hewayê xweş bikin. Stratejiya xwe - Herikîna hewayê ya yekbûyî bi karanîna koçberiya zindî. Stratejî gava ku hewaya ji fanera serverê ji bendek diyarkirî derbas dibe, koça makîneya virtual dike.

Ji bo ku stratejî bixebite hûn hewce ne:

  • Hardware: girêkên hesabkirinê <Piştgiriya NodeManager 3.0;
  • Bi kêmanî du girêkên hesabkirinê;
  • Parçeya ceilometer-agent-compute û Ceilometer API-ya ku li ser her girêka hesabkirinê hatî saz kirin û mîheng kirin, ku dikare bi serfirazî metrîkên wekî herikîna hewayê, hêza pergalê, germahiya hundurê rapor bike:

metrics
xizmetkar
pêvekên
şîrove

hardware.ipmi.node.airflow
ceilometer
IPMI
 

hardware.ipmi.node.temperature
ceilometer
IPMI
 

hardware.ipmi.node.power
ceilometer
IPMI
 

Ji bo ku stratejî bixebite, hûn hewceyê serverek bi Intel Power Node Manager 3.0 an jor ve hatî saz kirin û mîheng kirin.

Sînorkirin: Têgeh ne ji bo hilberînê ye.

Tête pêşniyar kirin ku vê algorîtmayê bi vekolînên domdar bikar bînin, ji ber ku tenê yek makîneyek virtual tête plan kirin ku di her dubarekirinê de were veguheztin.

Koçberiyên zindî mimkun in.

Parametreyên stratejiyê:

parametre
tîp
bi xwerû
şîrove

threshold_airflow
jimare
400.0
Bendê herikîna hewayê ji bo Yekîneya koçberiyê 0.1CFM e

threshold_inlet_t
jimare
28.0
Ji bo biryara koçberiyê sînorê germahiya hundurîn

threshold_power
jimare
350.0
Ji bo biryara koçberiyê sînorê hêza pergalê

nixte
jimare
30
Navbera demê, di çirkeyan de, ji bo bidestxistina berhevoka statîstîkî ji çavkaniya daneya metrîkê.

Rêbaza ku tê bikaranîn koçberî ye.

Parastina Ewlekariyê - parastina hardware. Stratejiya ku bi vê armancê ve girêdayî ye koçberiya Zonê ye. Stratejî amûrek e ji bo koçkirina otomatîk û hindiktirîn a makîneyên virtual û dîskên di doza hewcedariya lênihêrîna hardware de. Stratejî li gorî giranan plansaziyek çalakiyê ava dike: komek çalakiyên ku giraniya wan zêdetir be dê berî yên din were plansaz kirin. Du vebijarkên veavakirinê hene: action_weights û paralelîzasyon.

Sînorkirin: giraniya çalakiyê û paralelîzasyon pêdivî ye ku were mîheng kirin.

Parametreyên stratejiyê:

parametre
tîp
bi xwerû
şîrove

compute_nodes
rêzî
Netû
Girêdanên ji bo koçberiyê hesab bikin.

store_pools
rêzî
Netû
Girêdanên Storage ji bo koçberiyê.

paralel_total
integer
6
Hejmara giştî ya çalakiyên ku divê di paralel de bêne kirin.

paralel_per_node
integer
2
Hejmara tevgerên ku ji bo her girêka hesabkirinê paralel têne kirin.

paralel_per_pool
integer
2
Hejmara çalakiyên ku ji bo her hewza hilanînê paralel têne kirin.

pêşeyî
object
Netû
Lîsteya pêşîn ji bo makîneyên virtual û dîskê.

with_attached_volume
boolean
şaş
Derew — makînên virtual piştî ku hemî dîsk hatin koç kirin dê bêne koç kirin. Rast - makîneyên virtual dê piştî ku hemî dîskên girêdayî hatine koç kirin werin veguheztin.

Hêmanên rêza girêkên hesabkirinê:

parametre
tîp
bi xwerû
şîrove

src_node
ben
Netû
Girêka hesabkirinê ya ku makîneyên virtual jê têne koç kirin (pêdivî).

dst_node
ben
Netû
Nodeya ku makîneyên virtual koç dikin hesab bikin.

Hêmanên rêza girêka hilanînê:

parametre
tîp
bi xwerû
şîrove

src_pool
ben
Netû
Hewza hilanînê ya ku dîskên jê têne barkirin (pêdivî).

dst_pool
ben
Netû
Hewza hilanînê ya ku dîskên wê tên koçkirin.

src_type
ben
Netû
Cûreya dîska orjînal (pêdivî ye).

dst_type
ben
Netû
Cureya dîskê ya encam (pêdivî ye).

Hêmanên pêşîn ên objektê:

parametre
tîp
bi xwerû
şîrove

rêvename
rêzî
Netû
Navên projeyê.

compute_node
rêzî
Netû
Navên girêkan hesab bikin.

storage_pool
rêzî
Netû
navên pool Storage.

hesibandin
enum
Netû
Parametreyên makîneya virtual ["vcpu_num", "mem_size", "disk_size", "created_at"].

embarkirinî
enum
Netû
Parametreyên dîskê ["mezin", "created_at"].

Rêbazên ku têne bikar anîn koçkirina makîneya virtual, koçkirina dîskê ne.

Neçêkirî - armancek alîkar ku ji bo hêsankirina pêvajoya pêşkeftina stratejiyê tê bikar anîn. Ti taybetmendî nahewîne û gava ku stratejî hîn bi armancek heyî re têkildar nebe dikare were bikar anîn. Ev armanc dikare wekî xala derbasbûnê jî were bikar anîn. Stratejiyek têkildarî vê armancê Actuator e.   

Afirandina armancek nû

Motora Biryara Watcher xwedan navgînek pêveka "armanca derve" ye ku yekkirina armancek derveyî ya ku bi karanîna stratejiyek dikare were bidestxistin gengaz dike.

Berî ku hûn armancek nû biafirînin, divê hûn pê ewle bin ku ti armancên heyî hewcedariyên we nagirin.

Afirandina pêvekek nû

Ji bo afirandina armancek nû, divê hûn: çîna armanc dirêj bikin, rêbazek polê bicîh bikin get_name() da ku nasnameya yekta ya armanca nû ya ku hûn dixwazin biafirînin vegerînin. Pêdivî ye ku ev nasnameya yekta bi navê xala têketinê ya ku hûn paşê daxuyand hev bikin.

Piştre hûn hewce ne ku rêbazê polê bicîh bikin get_display_name() ji bo vegerandina navê xuyangê ya wergerkirî ya armanca ku hûn dixwazin biafirînin (guhêrbarek ji bo vegerandina rêzika wergerî bikar neynin da ku ew bixweber ji hêla amûra wergerê ve were berhev kirin.).

Rêbazek polê bicîh bikin get_translatable_display_name()ji bo vegerandina mifteya wergerê (bi rastî jî navê nîşana îngilîzî) ya armanca xweya nû. Nirxa vegerê divê bi rêzika ku di get_display_name() de hatî wergerandin, li hev bike.

Rêbaza wî pêk bînin get_efficacy_specification()ji bo vegerandina taybetmendiya karîgeriyê ji bo armanca xwe. Rêbaza get_efficacy_specification() mînaka Unclassified() ya ku ji hêla Watcher ve hatî peyda kirin vedigerîne. Ev taybetmendiya performansê di pêvajoya pêşxistina armanca we de bikêr e ji ber ku ew bi taybetmendiya vala re têkildar e.

Zêdetir bixwînin vir

Mîmariya Çavdêr (zêdetir hûrgulî) vir).

Balansa barkirinê di Openstack de

Components

Balansa barkirinê di Openstack de

Watcher API - pêkhateyek ku REST API-ya ku ji hêla Watcher ve hatî peyda kirin bicîh tîne. Mekanîzmayên danûstendinê: CLI, pêveka Horizon, Python SDK.

Çavdêr DB - Databasa Çavdêr.

Watcher Applier - pêkhateyek ku cîbicîkirina plansaziyek çalakiyê ya ku ji hêla pêkhateya Watcher Decision Engine ve hatî afirandin pêk tîne.

Motora Biryara Watcher - Parçeyek ku berpirsiyarê hesabkirina komek kiryarên optimîzasyona potansiyel e ku bigihîje armanca kontrolê. Ger stratejiyek neyê diyar kirin, pêkhateyek serbixwe ya herî maqûl hildibijêre.

Watcher Metrics Publisher - Parçeyek ku hin metrîk an bûyeran berhev dike û hesab dike û wan di dawiya CEP-ê de diweşîne. Fonksiyona beşê dikare ji hêla weşanxaneya Ceilometer ve jî were peyda kirin.

Complex Event Processing (CEP) Engine - motora ji bo pêvajoya bûyera tevlihev. Ji ber sedemên performansê, dibe ku gelek mînakên CEP Engine-ê bi hev re dixebitin hebin, her yek celebek metrîk / bûyerek taybetî pêvajoyê dike. Di pergala Watcher de, CEP du celeb çalakiyan dike: - Bûyerên / metrîkên têkildar di databasa rêza demjimêr de tomar bike; - Dema ku ev bûyer dikare bandorê li encama stratejiya xweşbîniyê ya heyî bike, bûyerên guncan bişînin motora biryarê ya Watcher, ji ber ku koma Openstack ne pergalek statîk e.

Parçe bi karanîna protokola AMQP re têkilî dikin.

Veavakirina Watcher

Plana danûstendinê bi Watcher re

Balansa barkirinê di Openstack de

Encamên testa Watcher

  1. Li ser rûpela Optimîzasyon - Planên Çalakiyê 500 (hem li ser Queensên paqij û hem jî li ser rawestgehek bi modulên Tionix), ew tenê piştî ku vedîtin dest pê kir û plansaziyek çalakiyê çêbibe xuya dike; ya vala bi gelemperî vedibe.
  2. Li ser tabloya hûrguliyên Çalakiyê xeletî hene, ne gengaz e ku meriv armanc û stratejiya kontrolê bi dest bixe (hem li ser Queensên safî hem jî li ser rawestgehek bi modulên Tionix re).
  3. Kontrolên bi armanca Dummy (test) têne çêkirin û bi gelemperî têne destpêkirin, planên çalakiyê têne çêkirin.
  4. Kontrolkirinên ji bo armanca Unclassified nayên afirandin ji ber ku armanc ne fonksiyonel e û ji bo veavakirina navîn dema afirandina stratejiyên nû tê armanc kirin.
  5. Kontrolkirin ji bo armanca Balansa Karê (stratejiya hevsengiya Kapasîteya Hilberînê) bi serfirazî têne afirandin, lê planek çalakiyê nayê çêkirin. No optimization hewza hilanînê pêwîst.
  6. Kontrolkirinên ji bo Armanca Hevsengkirina Karê (Stratejiya Koçberiya Balansa Kar) bi serfirazî têne afirandin, lê planek çalakiyê nayê çêkirin.
  7. Kontrolên ji bo Balansa Karê (Stratejiya Stabilîzasyona Kar) têk diçin.
  8. Kontrolên ji bo armanca Cîranê Noisy bi serfirazî têne afirandin, lê planek çalakiyê nayê çêkirin.
  9. Kontrolkirinên ji bo mebesta lênihêrîna Hardware bi serfirazî têne afirandin, plansaziya çalakiyê bi tevahî nayê çêkirin (nîşandanên performansê têne çêkirin, lê navnîşa çalakiyan bixwe nayê çêkirin).
  10. Guherandinên di mîhengên nova.conf de (di beşa xwerû de compute_monitors = cpu.virt_driver) li ser girêkên hesab û kontrolê xeletiyan rast nakin.
  11. Kontrolên ku Hevgirtina Server (stratejiya bingehîn) dikin armanc jî têk diçin.
  12. Kontrolên ji bo mebesta Hevgirtina Server (stratejiya berhevkirina barê xebata VM) bi xeletiyek têk diçin. Di qeydan de di bidestxistina daneyên çavkaniyê de xeletiyek heye. Bi taybetî nîqaşkirina xeletiyê vir.
    Me hewl da ku di pelê mîhengê de Watcher destnîşan bikin (ew alîkarî nekir - ji ber xeletiyek li ser hemî rûpelên Optimîzasyonê, vegerandina naverokên orîjînal ên pelê vesazkirinê rewşê rast nake):

    [watcher_strategies.basic] çavkaniya daneyan = ceilometer, gnocchi
  13. Kontrolên ji bo Teserûfa Enerjiyê têk diçin. Li gorî qeydan dadbar, pirsgirêk hîn jî nebûna Ironic e; ew ê bêyî karûbarê baremetal nexebite.
  14. Kontrolên ji bo Optimîzasyona Termal têk diçin. Vegera şopandinê heman e ku ji bo Hevgirtina Server (stratejiya berhevkirina xebata VM) (çewtiya daneya çavkaniyê)
  15. Kontrolên ji bo armanca Optimîzasyona hewayê bi xeletiyek têk diçin.

Çewtiyên qedandina kontrolê yên jêrîn jî têne dîtin. Di têketinên biryar-engine.log de vegere (rewşa komê nehatiye diyarkirin).

→ Nîqaşa xeletiyê vir

encamê

Encama lêkolîna me ya du-mehî encamek eşkere bû ku ji bo bidestxistina pergalek bêkêmasî, hevsengkirina barkirina xebatê, em ê di vê beşê de neçar bin ku ji nêz ve li ser paqijkirina amûrên ji bo platforma Openstack-ê bixebitin.

Watcher îsbat kiriye ku hilberek ciddî û bi lez û bez pêşkeftî bi potansiyelek mezin e, karanîna tam a ku dê hewceyê xebatek ciddî bike.

Lê bêtir li ser vê yekê di gotarên paşîn ên rêzê de.

Source: www.habr.com

Add a comment