Kusawazisha Mzigo katika Openstack

Katika mifumo mikubwa ya wingu, suala la kusawazisha kiotomatiki au kusawazisha mzigo kwenye rasilimali za kompyuta ni kubwa sana. Tionix (msanidi programu na mwendeshaji wa huduma za wingu, sehemu ya kundi la kampuni za Rostelecom) pia ameshughulikia suala hili.

Na, kwa kuwa jukwaa letu kuu la maendeleo ni Openstack, na sisi, kama watu wote, ni wavivu, iliamuliwa kuchagua moduli iliyotengenezwa tayari ambayo tayari imejumuishwa kwenye jukwaa. Chaguo letu lilianguka kwa Mtazamaji, ambayo tuliamua kutumia kwa mahitaji yetu.
Kusawazisha Mzigo katika Openstack
Kwanza, hebu tuangalie masharti na ufafanuzi.

Masharti na Ufafanuzi

Lengo ni matokeo ya mwisho yanayosomeka na binadamu, yanayoweza kuonekana na kupimika ambayo lazima yatimizwe. Kuna mkakati mmoja au zaidi wa kufikia kila lengo. Mkakati ni utekelezaji wa algorithm ambayo inaweza kupata suluhisho kwa lengo fulani.

Kitendo ni kazi ya msingi ambayo inabadilisha hali ya sasa ya rasilimali inayosimamiwa inayolengwa ya nguzo ya OpenStack, kama vile: kuhamisha mashine pepe (uhamiaji), kubadilisha hali ya nguvu ya nodi (change_node_power_state), kubadilisha hali ya huduma ya nova (change_nova_service_state). ), kubadilisha ladha (resize), kusajili ujumbe wa NOP (nop), ukosefu wa hatua kwa urefu fulani wa muda - pause (usingizi), uhamisho wa disk (volume_migrate).

Mpango Kazi - mtiririko maalum wa vitendo vinavyofanywa kwa utaratibu fulani ili kufikia Lengo maalum. Mpango Kazi pia una kipimo cha utendaji wa kimataifa na seti ya viashirio vya utendaji. Mpango kazi unatolewa na Mtazamaji baada ya ukaguzi uliofaulu, kama matokeo ambayo mkakati uliotumika unapata suluhisho la kufikia lengo. Mpango wa utekelezaji una orodha ya vitendo vinavyofuatana.

Ukaguzi ni ombi la kuboresha nguzo. Uboreshaji unafanywa ili kufikia Lengo moja katika kundi fulani. Kwa kila ukaguzi unaofaulu, Mtazamaji hutoa Mpango Kazi.

Upeo wa Ukaguzi ni seti ya nyenzo ambazo ukaguzi unafanywa (maeneo ya upatikanaji), viunganishi vya nodi, nodi za kukokotoa za mtu binafsi au nodi za hifadhi, n.k.). Upeo wa ukaguzi umefafanuliwa katika kila kiolezo. Ikiwa upeo wa ukaguzi haujabainishwa, nguzo nzima inakaguliwa.

Kiolezo cha Ukaguzi β€” seti iliyohifadhiwa ya mipangilio ya kuzindua ukaguzi. Violezo vinahitajika ili kufanya ukaguzi mara nyingi kwa mipangilio sawa. Kiolezo lazima lazima kiwe na madhumuni ya ukaguzi; ikiwa mikakati haijabainishwa, basi mikakati inayofaa zaidi itachaguliwa.

Nguzo ni mkusanyiko wa mashine halisi zinazotoa rasilimali za kukokotoa, kuhifadhi, na mitandao na zinasimamiwa na nodi sawa ya usimamizi ya OpenStack.

Muundo wa Data ya Cluster (CDM) ni uwakilishi wa kimantiki wa hali ya sasa na topolojia ya rasilimali zinazosimamiwa na nguzo.

Kiashiria cha Ufanisi - kiashiria kinachoonyesha jinsi suluhisho linaloundwa kwa kutumia mkakati huu linafanywa. Viashiria vya utendakazi ni mahususi kwa lengo fulani na kwa kawaida hutumika kukokotoa ufanisi wa kimataifa wa mpango wa utekelezaji unaotokana.

Ufafanuzi wa Ufanisi ni seti ya vipengele mahususi vinavyohusishwa na kila Lengo ambalo hufafanua viashirio mbalimbali vya utendaji ambavyo mkakati wa kufikia Lengo linalolingana lazima ufikie katika suluhisho lake. Hakika, kila suluhisho lililopendekezwa na mkakati litaangaliwa dhidi ya vipimo kabla ya kukokotoa ufanisi wake wa kimataifa.

Injini ya Bao ni faili inayoweza kutekelezeka ambayo ina pembejeo zilizofafanuliwa vyema, matokeo yaliyofafanuliwa vyema, na hufanya kazi ya kihisabati pekee. Kwa njia hii, hesabu haitegemei mazingira ambayo inafanywa-itatoa matokeo sawa popote.

Mpangaji Mtazamaji - sehemu ya injini ya kufanya maamuzi ya Mtazamaji. Moduli hii inachukua seti ya vitendo vinavyotokana na mkakati na kuunda mpango wa mtiririko wa kazi ambao unabainisha jinsi ya kuratibu vitendo hivi tofauti kwa wakati na kwa kila kitendo, ni nini masharti.

Malengo na Mikakati ya Mtazamaji

Lengo
mkakati

Lengo la dummy
Mkakati wa Dummy 

Mkakati wa Dummy kwa kutumia sampuli za Injini za Kufunga

Mbinu dummy na resize

Kuokoa Nishati
Mkakati wa Kuokoa Nishati

Ujumuishaji wa Seva
Ujumuishaji Msingi wa Seva ya Nje ya Mtandao

Mkakati wa Ujumuishaji wa Mzigo wa Kazi wa VM

Usawazishaji wa mzigo wa kazi
Mkakati wa Uhamiaji wa Mizani ya Kazi

Mkakati wa Mizani ya Uwezo wa Hifadhi

Uimarishaji wa mzigo wa kazi

Jirani mwenye kelele
Jirani mwenye kelele

Uboreshaji wa joto
Mkakati wa msingi wa halijoto

Uboreshaji wa mtiririko wa hewa
Mkakati sare wa uhamiaji wa mtiririko wa hewa

Matengenezo ya vifaa
Uhamiaji wa eneo

Unclassified
Kitendaji

Lengo la dummy - lengo lililotengwa ambalo linatumika kwa madhumuni ya majaribio.

Mikakati inayohusiana: Mkakati wa Dummy, Mkakati wa Dummy kwa kutumia sampuli za Injini za Kufunga na mkakati wa Dummy wenye kubadilisha ukubwa. Mbinu ya Dummy ni mkakati wa dummy unaotumika kwa majaribio ya ujumuishaji kupitia Tempest. Mkakati huu hautoi uboreshaji wowote muhimu, madhumuni yake pekee ni kutumia majaribio ya Tempest.

Mbinu dummy kwa kutumia sampuli ya Injini za Kufunga - mkakati ni sawa na ule wa awali, tofauti pekee ni matumizi ya sampuli ya "injini ya bao" ambayo hufanya hesabu kwa kutumia mbinu za kujifunza za mashine.

Mkakati wa dummy na resize - mkakati ni sawa na uliopita, tofauti pekee ni matumizi ya kubadilisha ladha (uhamiaji na resize).

Haitumiki katika uzalishaji.

Kuokoa Nishati - punguza matumizi ya nishati. Lengo hili la Mkakati wa Kuokoa Nishati, pamoja na Mkakati wa Ujumuishaji wa Mzigo wa Kazi wa VM (Ujumuishaji wa Seva), ina uwezo wa kudhibiti vipengele vya nguvu (DPM) ambavyo huokoa nishati kwa kuunganisha mzigo wa kazi hata wakati wa matumizi ya chini ya rasilimali: mashine pepe huhamishwa hadi sehemu chache. , na nodi zisizo za lazima zimezimwa. Baada ya kuunganishwa, mkakati hutoa uamuzi wa kuwasha/kuzima nodi kwa mujibu wa vigezo vilivyobainishwa: β€œmin_free_hosts_num” - idadi ya nodi zisizolipishwa ambazo zinasubiri kupakiwa, na β€œfree_used_percent” - asilimia ya seva pangishi zilizowashwa bila malipo kwa idadi ya nodi ambazo zinachukuliwa na mashine. Ili mkakati ufanye kazi lazima kuwe na imewashwa na kusanidi Kejeli ili kushughulikia uendeshaji wa baiskeli kwa nguvu kwenye nodi.

Vigezo vya mkakati

parameta
aina ya
kwa msingi
maelezo

Asilimia_iliyotumika_isiyolipishwa
Idadi
10.0
uwiano wa idadi ya nodi za kompyuta bila malipo kwa idadi ya nodi za kompyuta zilizo na mashine pepe

nambari_ya_wapaji_bila_bure
Int
1
idadi ya chini ya nodi za kompyuta za bure

Wingu lazima iwe na angalau nodi mbili. Njia inayotumika ni kubadilisha hali ya nguvu ya nodi (change_node_power_state). Mkakati hauhitaji kukusanya vipimo.

Ujumuishaji wa seva - punguza idadi ya nodi za kompyuta (ujumuishaji). Ina mikakati miwili: Ujumuishaji Msingi wa Seva ya Nje ya Mtandao na Mkakati wa Ujumuishaji wa Mzigo wa Kazi wa VM.

Mkakati wa Msingi wa Ujumuishaji wa Seva Nje ya Mtandao hupunguza jumla ya idadi ya seva zinazotumiwa na pia kupunguza idadi ya uhamishaji.

Mkakati wa kimsingi unahitaji vipimo vifuatavyo:

vipimo
huduma
programu-jalizi
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

compute.node.cpu.percent
ceilometer
hakuna
 

cpu_util
ceilometer
hakuna
 

Vigezo vya mkakati: migration_attempts - idadi ya michanganyiko ya kutafuta waombaji wanaowezekana wa kuzima (chaguo-msingi, 0, hakuna vizuizi), kipindi - muda katika sekunde ili kupata ujumlisho tuli kutoka chanzo cha data ya kipimo (chaguo-msingi, 700).

Njia zinazotumiwa: uhamiaji, kubadilisha hali ya huduma ya nova (change_nova_service_state).

Mkakati wa Ujumuishaji wa Mzigo wa Kazi wa VM unatokana na ulinganifu wa kwanza unaozingatia mzigo wa CPU uliopimwa na kujaribu kupunguza nodi ambazo zina mzigo mwingi au mdogo sana kutokana na vikwazo vya uwezo wa rasilimali. Mkakati huu unatoa suluhisho linalosababisha matumizi bora zaidi ya rasilimali za nguzo kwa kutumia hatua nne zifuatazo:

  1. Awamu ya kupakua - usindikaji wa rasilimali zilizotumiwa;
  2. Awamu ya ujumuishaji - usindikaji wa rasilimali zisizotumiwa;
  3. Uboreshaji wa suluhisho - kupunguza idadi ya uhamiaji;
  4. Inalemaza nodi za kukokotoa ambazo hazijatumika.

Mkakati unahitaji vipimo vifuatavyo:

vipimo
huduma
programu-jalizi
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

kumbukumbu
ceilometer
hakuna
 

disk.root.size
ceilometer
hakuna
 

Vipimo vifuatavyo ni vya hiari lakini vitaboresha usahihi wa mikakati ikiwa inapatikana:

vipimo
huduma
programu-jalizi
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

mkaaji.kumbukumbu
ceilometer
hakuna
 

cpu_util
ceilometer
hakuna
 

Vigezo vya mkakati: kipindi - muda wa muda katika sekunde ili kupata mkusanyiko tuli kutoka chanzo cha data ya kipimo (chaguo-msingi, 3600).

Inatumia mbinu sawa na mkakati uliopita. Maelezo zaidi hapa.

Usawazishaji wa mzigo wa kazi - kusawazisha mzigo wa kazi kati ya nodi za kompyuta. Lengo lina mikakati mitatu: Mkakati wa Uhamiaji wa Mizani ya Kazi, Uimarishaji wa Uzito wa Kazi, Mkakati wa Mizani ya Uwezo wa Hifadhi.

Mkakati wa Uhamiaji wa Salio la Mzigo wa Kazi huendesha uhamishaji wa mashine pepe kulingana na mzigo wa kazi wa mashine pepe ya mwenyeji. Uamuzi wa uhamiaji hufanywa kila wakati % CPU au utumiaji wa RAM wa nodi unazidi kiwango kilichobainishwa. Katika kesi hii, mashine inayohamishwa inapaswa kuleta nodi karibu na mzigo wa wastani wa nodi zote.

Mahitaji

  • Matumizi ya wasindikaji wa kimwili;
  • Angalau nodi mbili za kompyuta za kimwili;
  • Imesakinishwa na kusanidi kijenzi cha Ceilometer - ceilometer-agent-compute, inayoendeshwa kwenye kila nodi ya kokotoo, na API ya Ceilometer, pamoja na kukusanya vipimo vifuatavyo:

vipimo
huduma
programu-jalizi
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

cpu_util
ceilometer
hakuna
 

mkaaji.kumbukumbu
ceilometer
hakuna
 

Vigezo vya mkakati:

parameta
aina ya
kwa msingi
maelezo

metrics
Kamba
'cpu_util'
Vipimo vya msingi ni: 'cpu_util', 'memory.resident'.

kizingiti
Idadi
25.0
Kizingiti cha mzigo wa kazi kwa uhamiaji.

kipindi
Idadi
300
Muda wa mkusanyiko wa Ceilometer.

Njia inayotumika ni uhamiaji.

Uimarishaji wa mzigo wa kazi ni mkakati unaolenga kuleta utulivu wa kazi kwa kutumia uhamiaji wa moja kwa moja. Mkakati huu unatokana na kanuni ya kawaida ya mkengeuko na huamua kama kuna msongamano katika nguzo na huijibu kwa kuanzisha uhamishaji wa mashine ili kuleta utulivu kwenye nguzo.

Mahitaji

  • Matumizi ya wasindikaji wa kimwili;
  • Angalau nodi mbili za kompyuta za kimwili;
  • Imesakinishwa na kusanidi kijenzi cha Ceilometer - ceilometer-agent-compute, inayoendeshwa kwenye kila nodi ya kokotoo, na API ya Ceilometer, pamoja na kukusanya vipimo vifuatavyo:

vipimo
huduma
programu-jalizi
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

cpu_util
ceilometer
hakuna
 

mkaaji.kumbukumbu
ceilometer
hakuna
 

Mkakati wa Usawa wa Uwezo wa Hifadhi (mkakati umetekelezwa kuanzia Queens) - mkakati wa kuhamisha diski kulingana na mzigo kwenye vidimbwi vya Cinder. Uamuzi wa uhamishaji hufanywa wakati wowote kiwango cha matumizi ya bwawa kinazidi kiwango maalum. Diski inayosogezwa inapaswa kuleta dimbwi karibu na mzigo wa wastani wa mabwawa yote ya Cinder.

Mahitaji na vikwazo

  • Kiwango cha chini cha mabwawa mawili ya Cinder;
  • Uwezekano wa uhamiaji wa disk.
  • Muundo wa data wa nguzo - Mkusanyaji wa muundo wa data wa nguzo ya Cinder.

Vigezo vya mkakati:

parameta
aina ya
kwa msingi
maelezo

kiasi_kizingiti
Idadi
80.0
Thamani ya kizingiti cha diski za kusawazisha kiasi.

Njia inayotumika ni uhamiaji wa diski (volume_migrate).

Jirani Mwenye Kelele - Tambua na uhamishe "jirani mwenye kelele" - mashine pepe ya kipaumbele ya chini ambayo inaathiri vibaya utendakazi wa mashine pepe inayopewa kipaumbele cha juu kulingana na IPC kwa kutumia kupita kiasi Akiba ya Kiwango cha Mwisho. Mbinu binafsi: Jirani Mwenye Kelele (kigezo cha mkakati kinachotumika ni kache_threshold (thamani chaguomsingi ni 35), utendakazi unaposhuka hadi thamani iliyobainishwa, uhamishaji unaanza. Ili mkakati ufanye kazi, umewashwa. Vipimo vya LLC (Kache ya Kiwango cha Mwisho), Seva ya hivi karibuni ya Intel yenye usaidizi wa CMT, pamoja na kukusanya vipimo vifuatavyo:

vipimo
huduma
programu-jalizi
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

cpu_l3_cache
ceilometer
hakuna
Intel inahitajika CMT.

Muundo wa data ya nguzo (chaguo-msingi): Kikusanya data cha kikundi cha Nova. Njia inayotumika ni uhamiaji.

Kufanya kazi kwa lengo hili kupitia Dashibodi hakutekelezwi kikamilifu huko Queens.

Uboreshaji wa joto - boresha utawala wa joto. Halijoto ya sehemu (hewa ya kutolea nje) ni mojawapo ya mifumo muhimu ya telemetry ya joto ili kupima hali ya joto/ya kazi ya seva. Lengo lina mkakati mmoja, mkakati wa msingi wa halijoto ya Outlet, ambao huamua kuhamishia mizigo ya kazi hadi kwenye seva pangishi zinazofaa zaidi (joto la chini kabisa la soko) wakati halijoto ya soko ya seva pangishi chanzo inapofikia kikomo kinachoweza kusanidiwa.

Ili mkakati ufanye kazi, unahitaji seva iliyo na Kidhibiti cha Njia ya Nguvu ya Intel iliyosakinishwa na kusanidiwa 3.0 au baadaye, pamoja na kukusanya vipimo vifuatavyo:

vipimo
huduma
programu-jalizi
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

hardware.ipmi.node.outlet_joto
ceilometer
IPMI
 

Vigezo vya mkakati:

parameta
aina ya
kwa msingi
maelezo

kizingiti
Idadi
35.0
Kiwango cha joto kwa uhamiaji.

kipindi
Idadi
30
Muda, katika sekunde, ili kupata ujumlisho wa takwimu kutoka chanzo cha data ya kipimo.

Njia inayotumika ni uhamiaji.

Uboreshaji wa mtiririko wa hewa β€” boresha hali ya uingizaji hewa. Mbinu binafsi - Utiririshaji wa Hewa Sawa kwa kutumia uhamaji wa moja kwa moja. Mkakati huu huanzisha uhamishaji wa mashine pepe wakati wowote mtiririko wa hewa kutoka kwa feni ya seva unazidi kiwango maalum.

Ili mkakati ufanye kazi unahitaji:

  • Vifaa: compute nodes < kusaidia NodeManager 3.0;
  • Angalau nodi mbili za kompyuta;
  • Kipengele cha ceilometer-agent-compute na Ceilometer API kimesakinishwa na kusanidiwa kwenye kila nodi ya kompyuta, ambacho kinaweza kuripoti metriki kama vile mtiririko wa hewa, nguvu ya mfumo, halijoto ya ingizo:

vipimo
huduma
programu-jalizi
ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

hardware.ipmi.node.airflow
ceilometer
IPMI
 

hardware.ipmi.node.joto
ceilometer
IPMI
 

hardware.ipmi.node.power
ceilometer
IPMI
 

Ili mkakati ufanye kazi, unahitaji seva iliyo na Intel Power Node Manager 3.0 au baadaye iliyosakinishwa na kusanidiwa.

Mapungufu: Dhana haikusudiwa kwa uzalishaji.

Inapendekezwa kutumia algorithm hii na ukaguzi unaoendelea, kwani mashine moja tu ya mtandaoni imepangwa kuhamishwa kwa kila marudio.

Uhamiaji wa moja kwa moja unawezekana.

Vigezo vya mkakati:

parameta
aina ya
kwa msingi
maelezo

mtiririko_wa_hewa
Idadi
400.0
Kiwango cha juu cha mtiririko wa hewa kwa Kitengo cha uhamiaji ni 0.1CFM

kizingiti_kiingiza_t
Idadi
28.0
Kiwango cha joto cha kuingiza kwa uamuzi wa uhamiaji

kizingiti_nguvu
Idadi
350.0
Kiwango cha nguvu cha mfumo kwa uamuzi wa uhamiaji

kipindi
Idadi
30
Muda, katika sekunde, ili kupata ujumlisho wa takwimu kutoka chanzo cha data ya kipimo.

Njia inayotumika ni uhamiaji.

Matengenezo ya vifaa - matengenezo ya vifaa. Mkakati unaohusiana na lengo hili ni uhamiaji wa Eneo. Mkakati huu ni zana ya uhamiaji mzuri wa kiotomatiki na mdogo wa mashine na diski pepe ikiwa kuna haja ya matengenezo ya maunzi. Mkakati hujenga mpango wa utekelezaji kwa mujibu wa uzito: seti ya vitendo ambayo ina uzito zaidi itapangwa kabla ya wengine. Kuna chaguo mbili za usanidi: action_weights na parallelization.

Vizuizi: uzani wa hatua na ulinganishaji unahitaji kusanidiwa.

Vigezo vya mkakati:

parameta
aina ya
kwa msingi
maelezo

hesabu_nodi
safu
hakuna
Kokotoa nodi za uhamiaji.

hifadhi_mabwawa
safu
hakuna
Nodi za kuhifadhi kwa uhamiaji.

sambamba_jumla
integer
6
Jumla ya idadi ya shughuli ambazo lazima zitekelezwe kwa sambamba.

sambamba_kwa_nodi
integer
2
Idadi ya vitendo vilivyofanywa kwa sambamba kwa kila nodi ya kukokotoa.

sambamba_kwa_bwawa
integer
2
Idadi ya vitendo vilivyofanywa kwa sambamba kwa kila hifadhi.

kipaumbele
kitu
hakuna
Orodha ya kipaumbele kwa mashine na diski za kawaida.

na_kiasi_kilichoambatishwa
boolean
Uongo
Si kweliβ€”mashine halisi zitahamishwa baada ya diski zote kuhamishwa. Kweliβ€”mashine halisi zitahamishwa baada ya diski zote zilizounganishwa kuhamishwa.

Vipengele vya safu ya nodi za kompyuta:

parameta
aina ya
kwa msingi
maelezo

src_nodi
string
hakuna
Njia ya kukokotoa ambayo mashine pepe zinahamishwa (inahitajika).

dst_nodi
string
hakuna
Hesabu nodi ambayo mashine pepe zinahamia.

Vipengele vya safu ya nodi za uhifadhi:

parameta
aina ya
kwa msingi
maelezo

src_pool
string
hakuna
Hifadhi ya hifadhi ambayo disks zinahamishwa (inahitajika).

dst_pool
string
hakuna
Dimbwi la kuhifadhi ambalo diski huhamishwa.

src_aina
string
hakuna
Aina ya diski ya asili (inahitajika).

dst_aina
string
hakuna
Aina ya diski inayosababishwa (inahitajika).

Vipengee vya kipaumbele vya kitu:

parameta
aina ya
kwa msingi
maelezo

mradi
safu
hakuna
Majina ya mradi.

hesabu_nodi
safu
hakuna
Kuhesabu majina ya nodi.

hifadhi_bwawa
safu
hakuna
Majina ya hifadhi.

fanya
enum
hakuna
Vigezo vya mashine pepe [β€œvcpu_num”, β€œmem_size”, β€œdisk_size”, β€œcreated_at”].

kuhifadhi
enum
hakuna
Vigezo vya diski [β€œukubwa”, β€œcreated_at”].

Njia zinazotumiwa ni uhamiaji wa mashine halisi, uhamiaji wa disk.

Unclassified - lengo msaidizi linalotumiwa kuwezesha mchakato wa maendeleo ya mkakati. Haina vipimo na inaweza kutumika wakati wowote mkakati hauhusishwi na lengo lililopo. Lengo hili pia linaweza kutumika kama sehemu ya mpito. Mkakati unaohusiana na lengo hili ni Actuator.   

Kuunda lengo jipya

Injini ya Uamuzi ya Mtazamaji ina kiolesura cha programu-jalizi cha "lengo la nje" ambayo inafanya uwezekano wa kuunganisha lengo la nje ambalo linaweza kufikiwa kwa kutumia mkakati.

Kabla ya kuunda lengo jipya, unapaswa kuhakikisha kuwa hakuna malengo yaliyopo yanakidhi mahitaji yako.

Inaunda programu-jalizi mpya

Ili kuunda lengo jipya, lazima: kupanua darasa lengwa, kutekeleza mbinu ya darasa get_name() ili kurudisha kitambulisho cha kipekee cha lengo jipya unalotaka kuunda. Kitambulisho hiki cha kipekee lazima kilingane na jina la mahali pa kuingilia utakalotangaza baadaye.

Ifuatayo unahitaji kutekeleza njia ya darasa get_display_name() kurudisha jina la onyesho lililotafsiriwa la lengo unalotaka kuunda (usitumie kibadilishaji kurudisha mfuatano uliotafsiriwa ili iweze kukusanywa kiotomatiki na zana ya kutafsiri.).

Tekeleza njia ya darasa get_translatable_display_name()kurudisha ufunguo wa kutafsiri (haswa jina la Kiingereza) la lengo lako jipya. Thamani ya kurudi lazima ilingane na mfuatano uliotafsiriwa kuwa get_display_name().

Tekeleza mbinu yake get_efficacy_specification()kurudisha vipimo vya ufanisi kwa lengo lako. Njia ya get_efficacy_specification() inarejesha mfano wa Unclassified() uliotolewa na Watcher. Uainisho huu wa utendakazi ni muhimu katika mchakato wa kukuza lengo lako kwa sababu unalingana na vipimo tupu.

β†’ Soma zaidi hapa

Usanifu wa mtazamaji (maelezo zaidi) hapa).

Kusawazisha Mzigo katika Openstack

Vipengele

Kusawazisha Mzigo katika Openstack

API ya Mtazamaji - sehemu inayotekelezea REST API iliyotolewa na Mtazamaji. Taratibu za mwingiliano: CLI, programu-jalizi ya Horizon, Python SDK.

Mtazamaji DB - Hifadhidata ya mtazamaji.

Mtazamaji Applier β€” kipengele kinachotekeleza utekelezaji wa mpango kazi ulioundwa na kipengele cha Injini ya Uamuzi ya Mtazamaji.

Injini ya Uamuzi ya Mtazamaji - Kipengele kinachohusika na kukokotoa seti ya vitendo vinavyowezekana vya uboreshaji kufikia lengo la ukaguzi. Ikiwa mkakati haujabainishwa, kijenzi huchagua kinachofaa zaidi kwa kujitegemea.

Mchapishaji wa Metrics ya Mtazamaji - Kipengele kinachokusanya na kukokotoa baadhi ya vipimo au matukio na kuyachapisha hadi mwisho wa CEP. Utendaji wa sehemu pia unaweza kutolewa na mchapishaji wa Ceilometer.

Injini ya Uchakataji wa Tukio Mgumu (CEP). - injini ya usindikaji wa hafla ngumu. Kwa sababu za utendakazi, kunaweza kuwa na matukio mengi ya Injini ya CEP inayofanya kazi kwa wakati mmoja, kila moja ikichakata aina mahususi ya kipimo/tukio. Katika mfumo wa Mtazamaji, CEP huanzisha aina mbili za vitendo: - rekodi matukio / metriki sambamba katika hifadhidata ya mfululizo wa saa; - tuma matukio yanayofaa kwa Injini ya Uamuzi ya Mtazamaji wakati tukio hili linaweza kuathiri matokeo ya mkakati wa sasa wa uboreshaji, kwa kuwa nguzo ya Openstack si mfumo tuli.

Vipengele vinaingiliana kwa kutumia itifaki ya AMQP.

β†’ Inasanidi Mtazamaji

Mpango wa mwingiliano na Mtazamaji

Kusawazisha Mzigo katika Openstack

Matokeo ya mtihani wa mwangalizi

  1. Kwenye Uboreshaji - Mipango ya Kitendo ukurasa wa 500 (kwenye Queens safi na kwenye stendi yenye moduli za Tionix), inaonekana tu baada ya ukaguzi kuzinduliwa na mpango wa utekelezaji kuzalishwa; ile isiyo na kitu hufunguka kawaida.
  2. Kuna makosa kwenye kichupo cha maelezo ya Kitendo, haiwezekani kupata lengo na mkakati wa ukaguzi (kwenye Queens safi na kwenye stendi iliyo na moduli za Tionix).
  3. Ukaguzi kwa madhumuni ya Dummy (mtihani) huundwa na kuzinduliwa kwa kawaida, mipango ya utekelezaji huzalishwa.
  4. Ukaguzi wa lengo lisiloainishwa haujaundwa kwa sababu lengo halifanyi kazi na linakusudiwa kwa usanidi wa kati wakati wa kuunda mikakati mipya.
  5. Ukaguzi kwa madhumuni ya Kusawazisha Mzigo wa Kazi (Mkakati wa Mizani ya Uwezo wa Kuhifadhi) hufanywa kwa mafanikio, lakini mpango wa utekelezaji haujatengenezwa. Hakuna uboreshaji wa hifadhi inayohitajika.
  6. Ukaguzi wa lengo la Kusawazisha Mzigo wa Kazi (Mkakati wa Uhamiaji wa Salio la Kazi) unaundwa kwa ufanisi, lakini mpango wa utekelezaji haujaanzishwa.
  7. Ukaguzi wa Usawazishaji wa Mzigo wa Kazi (Mkakati wa Kuimarisha Upakiaji wa Kazi) haukufaulu.
  8. Ukaguzi wa walengwa wa Jirani Mwenye Kelele huundwa kwa ufanisi, lakini mpango wa utekelezaji haujatengenezwa.
  9. Ukaguzi kwa madhumuni ya matengenezo ya Vifaa huundwa kwa ufanisi, mpango wa utekelezaji haujazalishwa kwa ukamilifu (viashiria vya utendaji vinazalishwa, lakini orodha ya vitendo yenyewe haizalishwa).
  10. Uhariri katika usanidi wa nova.conf (katika sehemu ya chaguo-msingi compute_monitors = cpu.virt_driver) kwenye nodi za kukokotoa na udhibiti hazisahihishi makosa.
  11. Ukaguzi unaolenga Ujumuishaji wa Seva (Mkakati wa Msingi) pia haufaulu.
  12. Ukaguzi kwa madhumuni ya Ujumuishaji wa Seva (mkakati wa ujumuishaji wa mzigo wa kazi wa VM) haufanyi kazi kwa hitilafu. Katika kumbukumbu kuna hitilafu katika kupata data ya chanzo. Majadiliano ya kosa, hasa hapa.
    Tulijaribu kutaja Mtazamaji kwenye faili ya usanidi (haikusaidia - kama matokeo ya kosa kwenye kurasa zote za Uboreshaji, kurudi kwa yaliyomo asili ya faili ya usanidi hakurekebisha hali hiyo):

    [watcher_strategies.basic] chanzo cha data = ceilometer, gnocchi
  13. Ukaguzi wa Kuokoa Nishati haukufaulu. Kwa kuzingatia magogo, shida bado iko kwa kukosekana kwa Ironic; haitafanya kazi bila huduma ya baremetal.
  14. Ukaguzi wa Uboreshaji wa Joto haukufaulu. Ufuatiliaji ni sawa na Ujumuishaji wa Seva (mkakati wa ujumuishaji wa mzigo wa kazi wa VM) (hitilafu ya data ya chanzo)
  15. Ukaguzi kwa madhumuni ya Uboreshaji wa Utiririshaji wa Hewa haufanyi kazi kwa hitilafu.

Hitilafu zifuatazo za kukamilisha ukaguzi pia hukutana. Ufuatiliaji katika kumbukumbu za decision-engine.log (hali ya nguzo haijafafanuliwa).

β†’ Majadiliano ya kosa hapa

Hitimisho

Matokeo ya utafiti wetu wa miezi miwili ilikuwa hitimisho lisilo na shaka kwamba ili kupata mfumo kamili wa kusawazisha mzigo wa kufanya kazi, tutalazimika kufanya kazi kwa karibu katika kusafisha zana za jukwaa la Openstack katika sehemu hii.

Mtazamaji ameonekana kuwa bidhaa kubwa na inayokua kwa kasi na uwezo mkubwa, matumizi kamili ambayo yatahitaji kazi kubwa sana.

Lakini zaidi juu ya hili katika makala zifuatazo za mfululizo.

Chanzo: mapenzi.com

Kuongeza maoni