I stora molnsystem Àr frÄgan om automatisk belastningsbalansering eller justering av belastningen pÄ datorkÀllor sÀrskilt viktig. Detta problem har ocksÄ uppmÀrksammats av Tionix (utvecklare och operatör av molntjÀnster, en del av Rostelecom-gruppen).
Och eftersom vÄr huvudsakliga utvecklingsplattform Àr OpenStack, och vi, precis som alla andra, Àr lata, beslutades det att vÀlja en fÀrdig modul som redan finns i plattformen. VÄrt val föll pÄ Watcher, som vi beslutade att anvÀnda för vÄra behov.
Till att börja med, lÄt oss gÄ igenom termer och definitioner.
Termer och definitioner
Syftet â Ă€r det mĂ€nniskolĂ€sbara, observerbara och mĂ€tbara slutresultatet som ska uppnĂ„s. För att nĂ„ varje mĂ„l finns det en eller flera strategier. En strategi Ă€r en implementering av en algoritm som kan hitta en lösning för det givna mĂ„let.
Handling (Action) â Ă€r en grundlĂ€ggande uppgift som förĂ€ndrar det nuvarande tillstĂ„ndet för den mĂ„linriktade hanterade resursen i OpenStack-klustret, sĂ„som: migrering av en virtuell maskin (migration), Ă€ndring av strömstatus för en nod (change_node_power_state), Ă€ndring av status för nova-tjĂ€nsten (change_nova_service_state), Ă€ndring av flavor (resize), registrering av nop-meddelande (nop), ingen aktivitet under en viss tidsperiod â paus (sleep), överföring av en disk (volume_migrate).
Handlingsplan (Action Plan) â Ă€r ett specifikt flöde av Ă„tgĂ€rder som utförs i en viss ordning för att uppnĂ„ ett specifikt mĂ„l. Handlingsplanen innehĂ„ller ocksĂ„ en bedömning av den globala effektiviteten med en uppsĂ€ttning prestationsmĂ„tt. Handlingsplanen genereras av Watcher efter en framgĂ„ngsrik revision, dĂ€r den anvĂ€nda strategin hittar en lösning för att nĂ„ mĂ„let. Handlingsplanen bestĂ„r av en lista över sekventiella handlingar.
Revision (Audit) â Ă€r en begĂ€ran om att optimera klustret. Optimering utförs för att nĂ„ ett mĂ„l i detta kluster. För varje framgĂ„ngsrik revision genererar Watcher en handlingsplan.
RevisionsomrĂ„de (Audit Scope) â detta Ă€r en uppsĂ€ttning resurser dĂ€r en granskning utförs (tillgĂ€nglighetszon(er), nodaggregatorer, individuella berĂ€kningsnoder eller lagringsnoder, etc.). GranskningsomrĂ„det definieras i varje mall. Om granskningsomrĂ„det inte anges, granskas hela klustret.
Granskningsmall (Audit Template) â en sparad uppsĂ€ttning instĂ€llningar för att köra en granskning. Mallar Ă€r nödvĂ€ndiga för att upprepade gĂ„nger köra granskningar med samma instĂ€llningar. Mallen mĂ„ste innehĂ„lla granskningsmĂ„let; om strategier inte anges, vĂ€ljs de mest lĂ€mpliga bland de befintliga strategierna.
Kluster (Cluster) â detta Ă€r en uppsĂ€ttning fysiska maskiner som tillhandahĂ„ller berĂ€kningsresurser, lagringsresurser och nĂ€tverksresurser och hanteras av samma OpenStack-kontrollnod.
Kluster datamodell (Cluster Data Model, CDM) â detta Ă€r en logisk representation av det aktuella tillstĂ„ndet och topologin av resurser som hanteras av klustret.
Effektivitetsindikator (Efficacy Indicator) â en indikator som visar hur vĂ€l en lösning, skapad med hjĂ€lp av denna strategi, utförs. Effektivitetsindikatorer Ă€r specifika för ett visst mĂ„l och anvĂ€nds vanligtvis för att berĂ€kna den globala effektiviteten av den slutliga handlingsplanen.
Effektivitets-specifikation (Efficacy Specification) â detta Ă€r en uppsĂ€ttning specifika egenskaper kopplade till varje mĂ„l, som definierar olika effektivitetsindikatorer som strategin som sĂ€kerstĂ€ller uppfyllandet av mĂ„let mĂ„ste uppfylla i sin lösning. Varje lösning som föreslĂ„s av strategin kommer att kontrolleras mot specifikationen innan dess globala effektivitet berĂ€knas.
âRĂ€knandeâ motor (Scoring Engine) â detta Ă€r en körbar fil som har tydligt definierade ingĂ„ngar, tydligt definierade utgĂ„ngar och utför en rent matematisk uppgift. DĂ€rmed Ă€r berĂ€kningen oberoende av den miljö dĂ€r den körs â den kommer att ge samma resultat överallt.
Watcher planerare (Watcher Planner) â del av beslutsfattande mekanismen Watcher. Denna modul tar emot en uppsĂ€ttning Ă„tgĂ€rder som genereras av strategin och skapar en arbetsflödesplan som definierar hur dessa olika Ă„tgĂ€rder planeras tidsmĂ€ssigt och för varje Ă„tgĂ€rd, vilka förutsĂ€ttningar som gĂ€ller.
MÄl och strategier för Watcher
Syftet
Strategier
Dummy-mÄl
Dummy-strategiÂ
Dummy-strategi med exempel pÄ bedömningsmotorer
Dummy-strategi med resize
Spara energi
Strategi för att spara energi
Serverkonsolidering
GrundlÀggande offline serverkonsolidering
VM arbetsbelastningskonsolideringsstrategi
Arbetsbelastningsbalansering
Arbetsbelastningsbalanseringsstrategi vid migrering
Strategi för balansering av lagringskapacitet
Stabilisering av arbetsbelastning
Bullerig granne
Bullerig granne
Termisk optimering
Strategi baserad pÄ utgÄngstemperatur
Luftflödesoptimering
Strategi för enhetlig luftflödesmigration
HÄrdvaruunderhÄll
Zonmigrering
Oklassificerat
StÀllare
Dummy-mĂ„l â ett reservmĂ„l som anvĂ€nds för testning (reserved goal that is used for testing purposes).
Relaterade strategier: Dummy-strategi, Dummy-strategi med exempel pÄ bedömningsmotorer och Dummy-strategi med resize. Dummy-strategi Àr en dummy-strategi som anvÀnds för integrationstester via Tempest. Denna strategi ger ingen anvÀndbar optimering, dess enda syfte Àr att köra Tempest-tester.
Dummy-strategi med exempel pĂ„ bedömningsmotorer â strategin liknar den föregĂ„ende, men skiljer sig endast genom att den anvĂ€nder ett exempel pĂ„ en "bedömningsmotor" som rĂ€knar med hjĂ€lp av metoder för maskininlĂ€rning.
Dummy-strategi med resize â strategin liknar den föregĂ„ende, men skiljer sig endast genom att den anvĂ€nder förĂ€ndringar av flavor (migrering och resize).
AnvÀnds inte i produktion.
Spara energi â att minimera energiförbrukningen. Strategin för detta mĂ„l, Spara energi, tillsammans med strategin för VM-arbetsbelastningskonsolidering (Serverkonsolidering) kan utföra funktioner för dynamisk energihantering (DPM) som sparar elektricitet genom dynamisk konsolidering av arbetsbelastningar Ă€ven under perioder av lĂ„g resursbelastning: virtuella maskiner flyttas till fĂ€rre noder, och onödiga noder stĂ€ngs av. Efter konsolideringen föreslĂ„r strategin en lösning för att sĂ€tta pĂ„/av noder baserat pĂ„ angivna parametrar: "min_free_hosts_num" â antal lediga aktiva noder som vĂ€ntar pĂ„ belastning, och "free_used_percent" â procentandel av lediga aktiva noder i förhĂ„llande till antalet noder som Ă€r belagda av maskiner. För att strategin ska fungera mĂ„ste Ironic vara aktiverat och konfigurerat för att hantera strömförsörjningen pĂ„ noder.
Parametrar för strategin
parameter
typ
standard
beskrivning
fri_anvÀnd procent
Antal
10.0
förhÄllandet mellan antalet lediga berÀkningsnoder och antalet berÀkningsnoder med virtuella maskiner
min_ledig_noder_num
Int
1
minimalt antal lediga berÀkningsnoder
Det mÄste finnas minst tvÄ noder i molnet. Den anvÀnda metoden Àr att Àndra nodens strömstatus (change_node_power_state). Strategin för insamling av mÀtvÀrden krÀver inte nÄgot.
Serverkoncentration - minimera antalet berÀkningsnoder (koncentration). Har tvÄ strategier: Basic Offline Server Consolidation och VM Workload Consolidation Strategy.
Strategin Basic Offline Server Consolidation minimerar det totala antalet anvÀnda servrar och minimerar ocksÄ antalet migrationer.
Den grundlÀggande strategin krÀver följande mÀtvÀrden:
mÀtvÀrde
tjÀnst
plugins
kommentar
compute.node.cpu.percent
none
Â
cpu_util
none
Â
Strategi-parametrar: migration_attempts - antal kombinationer för att söka efter potentiella kandidater för avstÀngning (standard, 0, inga begrÀnsningar), period - tidsintervallet i sekunder för att fÄ statisk aggregering frÄn datakÀlla av mÀtvÀrdet (standard, 700).
AnvÀnda metoder: migration, Àndra status för nova-tjÀnsten (change_nova_service_state).
Strategin för VM Workload Consolidation Strategy Àr baserad pÄ en heuristisk algoritm för första bÀsta valet (first-fit), som fokuserar pÄ mÀtt CPU-belastning och strÀvar efter att minimera noder som har antingen för hög eller för lÄg belastning med hÀnsyn till resurskapacitetsbegrÀnsningar. Denna strategi ger en lösning som leder till mer effektiv resursanvÀndning i klustret, genom att anvÀnda följande fyra steg:
- Avlastningsfas - hantering av överutnyttjade resurser;
- Konsolideringsfas - hantering av underutnyttjade resurser;
- Optimering av lösning - minska antalet migrationer;
- AvstÀngning av oanvÀnda berÀkningsnoder.
Strategin krÀver följande mÀtvÀrden:
mÀtvÀrde
tjÀnst
plugins
kommentar
minne
none
Â
disk.root.size
none
Â
Följande mÀtvÀrden Àr inte obligatoriska, men ökar noggrannheten i strategin om de Àr tillgÀngliga:
mÀtvÀrde
tjÀnst
plugins
kommentar
memory.resident
none
Â
cpu_util
none
Â
Strategi-parametrar: period - tidsintervallet i sekunder för att fÄ statisk aggregering frÄn datakÀlla av mÀtvÀrdet (standard, 3600).
AnvÀnder samma metoder som den föregÄende strategin. Mer information .
Arbetsbelastningsbalansering â balansera arbetsbelastningen mellan berĂ€kningsnoder. MĂ„let har tre strategier: Workload Balance Migration Strategy, Workload stabilization, Storage Capacity Balance Strategy.
Workload Balance Migration Strategy initierar migreringar av virtuella maskiner baserat pÄ arbetsbelastningen pÄ noderna. Beslutet om att flytta tas varje gÄng CPU- eller RAM-anvÀndningen pÄ en nod överskrider den angivna grÀnsen. Den flyttade virtuella maskinen bör nÀrma noden till den genomsnittliga arbetsbelastningen för alla noder.
Krav
- AnvÀndning av fysiska processorer;
- Minst tvÄ fysiska berÀkningsnoder;
- Installerad och konfigurerad komponent Ceilometer â ceilometer-agent-compute, som körs pĂ„ varje berĂ€kningsnod, samt Ceilometer API, och insamling av följande mĂ€tvĂ€rden:
mÀtvÀrde
tjÀnst
plugins
kommentar
cpu_util
none
Â
memory.resident
none
Â
Strategins parametrar:
parameter
typ
standard
beskrivning
metrics
StrÀng
âcpu_utilâ
MĂ€tvĂ€rdena som ligger till grund för: âcpu_utilâ, âmemory.residentâ.
tröskelvÀrde
Antal
25.0
Arbetsbelastningströskel för migrering.
period
Antal
300
Sammanlagd tid Ceilometer.
AnvĂ€nd metod â migration.
Workload stabilization â strategi som syftar till att stabilisera arbetsbelastningen genom levande migrering. Strategin baseras pĂ„ en algoritm för standardavvikelse och bestĂ€mmer om det finns överbelastning i klustret, och reagerar pĂ„ den genom att initiera migrering av maskiner för att stabilisera klustret.
Krav
- AnvÀndning av fysiska processorer;
- Minst tvÄ fysiska berÀkningsnoder;
- Installerad och konfigurerad komponent Ceilometer â ceilometer-agent-compute, som körs pĂ„ varje berĂ€kningsnod, samt Ceilometer API, och insamling av följande mĂ€tvĂ€rden:
mÀtvÀrde
tjÀnst
plugins
kommentar
cpu_util
none
Â
memory.resident
none
Â
Storage Capacity Balance Strategy (strategin implementerades frĂ„n och med Queens) â strategin flyttar diskar baserat pĂ„ belastningen pĂ„ Cinder-poolerna. Beslutet om att flytta tas varje gĂ„ng anvĂ€ndningsgraden för poolen överskrider den angivna grĂ€nsen. Den flyttade disken bör nĂ€rma poolen till den genomsnittliga belastningen för alla Cinder-pooler.
Krav och begrÀnsningar
- Minst tvÄ Cinder-pooler;
- Möjlighet att migrera diskar.
- Klustrets datamodell â Cinder cluster data model collector.
Strategins parametrar:
parameter
typ
standard
beskrivning
volume_threshold
Antal
80.0
TröskelvÀrde för diskar för volymbalansering.
AnvĂ€nd metod â diskmigrering (volume_migrate).
Noisy Neighbor â att identifiera och flytta "grannmaskinen" â en virtuell maskin med lĂ„g prioritet, som negativt pĂ„verkar prestanda hos en virtuell maskin med hög prioritet ur IPC-synpunkt, och överanvĂ€nder Last Level Cache. Egen strategi: Noisy Neighbor (anvĂ€nd parameter för strategi â cache_threshold (standardvĂ€rde â 35), nĂ€r prestandan faller under angivet vĂ€rde startar migreringen. För att strategin ska fungera krĂ€vs aktiverade LLC (Last Level Cache) metrikor, den senaste Intel-servern med stöd för CMT, samt insamling av följande metrikor:
mÀtvÀrde
tjÀnst
plugins
kommentar
cpu_l3_cache
none
NödvÀndig Intel .
Klustermodell (standard): Nova cluster data model collector. AnvĂ€nd metod â migrering.
Arbete med detta mÄl via Dashboard Àr inte fullt implementerat i Queens.
Termisk optimering â optimera temperaturregimen. UtgĂ„ngstemperaturen (utluft) Ă€r ett av de viktiga termiska telemetrisystemen för att mĂ€ta tillstĂ„ndet för serverns vĂ€rme-/arbetsbelastning. För mĂ„let finns en strategi â Outlet temperature based strategy, som fattar beslut om att flytta arbetsbelastningar till noder med gynnsam temperaturregim (den lĂ€gsta utgĂ„ngstemperaturen), nĂ€r utgĂ„ngstemperaturen för de ursprungliga vĂ€rdarna nĂ„r en konfigurerbar tröskel.
För att strategin ska fungera krÀvs en server med installerad och konfigurerad Intel Power Node Manager , samt insamling av följande metrikor:
mÀtvÀrde
tjÀnst
plugins
kommentar
hardware.ipmi.node.outlet_temperature
IPMI
Â
Strategins parametrar:
parameter
typ
standard
beskrivning
tröskelvÀrde
Antal
35.0
Temperaturtröskel för migrering.
period
Antal
30
Tidsintervall i sekunder för att fÄ statistisk aggregation frÄn datakÀllan för metrikor.
AnvĂ€nd metod â migration.
Luftflödesoptimering â optimera ventilationslĂ€get. Egen strategi â Uniform Airflow using live migration. Strategin initierar migreringen av den virtuella maskinen varje gĂ„ng luftflödet frĂ„n serverns flĂ€kt överstiger angiven tröskel.
För att strategin ska fungera krÀvs:
- HÄrdvara: berÀkningsnoder <med stöd för NodeManager 3.0;
- Minst tvÄ berÀkningsnoder;
- Installerat och konfigurerat pÄ varje berÀkningsnod komponenten ceilometer-agent-compute och Ceilometer API, som kan rapportera sÄdana metrikor som luftflöde, systemeffekt, inlopps temperatur:
mÀtvÀrde
tjÀnst
plugins
kommentar
hardware.ipmi.node.airflow
IPMI
Â
hardware.ipmi.node.temperature
IPMI
Â
hardware.ipmi.node.power
IPMI
Â
För att strategin ska fungera krÀvs en server med installerad och konfigurerad Intel Power Node Manager 3.0 eller senare version.
BegrÀnsningar: Konceptet Àr inte avsett för produktion.
Det rekommenderas att anvÀnda denna algoritm med kontinuerliga revisioner, eftersom en migration planeras för endast en virtuell maskin Ät gÄngen.
Levande migrationer Àr möjliga.
Strategins parametrar:
parameter
typ
standard
beskrivning
threshold_airflow
Antal
400.0
LuftflödesgrÀns för migrationen Enhet Àr 0.1CFM
threshold_inlet_t
Antal
28.0
InloppstemperaturgrÀns för migrationsbeslut
threshold_power
Antal
350.0
SystemkraftgrÀns för migrationsbeslut
period
Antal
30
Tidsintervall i sekunder för att fÄ statistisk aggregation frÄn datakÀllan för metrikor.
AnvĂ€nd metod â migration.
HĂ„rdvarunderhĂ„ll â underhĂ„ll av hĂ„rdvaror. Strategin som gĂ€ller för detta syfte Ă€r zonmigration. Strategin Ă€r ett verktyg för effektiv automatisk och minimal migration av virtuella maskiner och diskar nĂ€r tekniskt underhĂ„ll av hĂ„rdvaror behövs. Strategin bygger en handlingsplan baserat pĂ„ vikter: en uppsĂ€ttning Ă„tgĂ€rder med högre vikt kommer att planeras före andra. Det finns tvĂ„ konfigurationsparametrar: Ă„tgĂ€rdsvikter (action_weights) och parallellisering.
BegrÀnsningar: konfiguration av ÄtgÀrdsvikter och parallellisering krÀvs.
Strategins parametrar:
parameter
typ
standard
beskrivning
compute_nodes
array
None
BerÀkningsnoder för migration.
storage_pools
array
None
Lagringsnoder för migration.
parallel_total
heltal
6
Det totala antal ÄtgÀrder som ska utföras parallellt.
parallel_per_node
heltal
2
Antal ÄtgÀrder som utförs parallellt för varje berÀkningsnod.
parallel_per_pool
heltal
2
Antal ÄtgÀrder som utförs parallellt för varje lagringspool.
priority
object
None
Lista över prioriteter för virtuella maskiner och diskar.
with_attached_volume
boolean
Falskt
False â virtuella maskiner kommer att flyttas efter att alla diskar har flyttats. True â virtuella maskiner kommer att flyttas efter att alla anslutna diskar har migrerats.
Element i arrayen av berÀkningsnoder:
parameter
typ
standard
beskrivning
src_node
strÀng
None
BerÀkningsnod frÄn vilken de virtuella maskinerna flyttas (obligatoriskt).
dst_node
strÀng
None
BerÀkningsnod dit de virtuella maskinerna migreras.
Element i arrayen av lagringsnoder:
parameter
typ
standard
beskrivning
src_pool
strÀng
None
Lagringspool frÄn vilken diskar flyttas (obligatoriskt).
dst_pool
strÀng
None
Lagringspool dit diskar flyttas.
src_type
strÀng
None
Ursprunglig disktyp (obligatoriskt).
dst_type
strÀng
None
Slutgiltig disktyp (obligatoriskt).
Element av prioritetsobjekt:
parameter
typ
standard
beskrivning
projekt
array
None
Projektnamn.
compute_node
array
None
Namn pÄ berÀkningsnoder.
storage_pool
array
None
Namn pÄ lagringspooler.
compute
enum
None
Parameter för virtuella maskiner [âvcpu_numâ, âmem_sizeâ, âdisk_sizeâ, âcreated_atâ].
lagring
enum
None
Parameter för diskar [âsizeâ, âcreated_atâ].
AnvĂ€nda metoder â migrering av virtuella maskiner, migrering av diskar.
Oklassificerat â en hjĂ€lpmĂ„lsĂ€ttning som anvĂ€nds för att underlĂ€tta utvecklingen av strategin. Den innehĂ„ller inga specifikationer och kan anvĂ€ndas varje gĂ„ng strategin inte Ă€r kopplad till ett befintligt mĂ„l. Detta mĂ„l kan Ă€ven anvĂ€ndas som ett övergĂ„ngssteg. Strategin kopplad till detta mĂ„l Ă€r Actuator.  Â
Skapa ett nytt mÄl
Watcher Decision Engine har ett plugin-grĂ€nssnitt för âexterna mĂ„lâ, vilket möjliggör integration av ett externt mĂ„l som kan uppnĂ„s med hjĂ€lp av strategin.
Innan du skapar ett nytt mÄl, bör du försÀkra dig om att inget av de befintliga mÄlen uppfyller dina behov.
Skapa en ny plugin
För att skapa ett nytt mÄl mÄste du: utöka mÄlets klass, implementera metoden för klassen get_name () för att returnera det unika identifierare för det nya mÄl du vill skapa. Detta unika identifierare mÄste överensstÀmma med namnet pÄ ingÄngspunkten som du deklarerar senare.
Sedan mÄste du implementera metoden för klassen get_display_name () för att Äterge det översatta visningsnamnet för det mÄl du vill skapa (anvÀnd inte en variabel för att returnera den översatta strÀngen sÄ att den kan samlas automatiskt av översÀttningsverktyget.).
Implementera metoden för klassen get_translatable_display_name (), för att returnera översÀttningsnyckeln (faktiskt det engelska visningsnamnet) för ditt nya mÄl. Det returnerade vÀrdet ska stÀmma överens med strÀngen som översattes i get_display_name ().
Implementera dess metod get_efficacy_specification (), för att returnera effektivitetspecifikationen för ditt mÄl. Metoden get_efficacy_specification () returnerar en instans av Unclassified (), vilken tillhandahÄlls av Watcher. Denna effektivitetspecifikation Àr anvÀndbar under utvecklingen av ditt mÄl, eftersom den överensstÀmmer med en tom specifikation.
â
Watcher-arkitektur (mer information ).

Komponenter

Watcher API â en komponent som implementerar REST API som tillhandahĂ„lls av Watcher. Interaktionsmekanismer: CLI, plugin Horizon, Python SDK.
Watcher DB â Watchers databas.
Watcher Applier â en komponent som implementerar utförandet av Ă„tgĂ€rdsplanen som skapats av komponenten Watcher Decision Engine.
Watcher Decision Engine â en komponent som ansvarar för att berĂ€kna uppsĂ€ttningen av potentiella Ă„tgĂ€rder för optimering för att uppnĂ„ revisionsmĂ„let. Om strategin inte anges vĂ€ljer komponenten sjĂ€lv det mest lĂ€mpliga alternativet.
Watcher Metrics Publisher â en komponent som samlar in och berĂ€knar vissa metrik eller hĂ€ndelser och publicerar dem till CEP-slutpunkten. Komponentens funktionalitet kan ocksĂ„ tillhandahĂ„llas av Ceilometer publisher.
Complex Event Processing (CEP) Engine â en motor för komplex hĂ€ndelsebehandling. Av prestandaskĂ€l kan flera instanser av CEP Engine köras samtidigt, dĂ€r varje enskild hanterar en viss typ av metrik / hĂ€ndelser. I Watcher-systemet kör CEP tvĂ„ typer av Ă„tgĂ€rder: â skriv relevanta hĂ€ndelser / metrik till tidsseriedatabasen; â skicka relevanta hĂ€ndelser till Watcher Decision Engine-komponenten nĂ€r denna hĂ€ndelse kan pĂ„verka resultatet av den aktuella optimeringsstrategin, eftersom OpenStack-klustret inte Ă€r ett statiskt system.
Interaktionen mellan komponenterna sker via AMQP-protokollet.
â
Schema för interaktion med Watcher

Resultat av tester av Watcher
- PĂ„ sidan Optimering â Ă tgĂ€rdsplaner visas 500-fel (bĂ„de pĂ„ ren Queens och pĂ„ en installation med Tionix-moduler), som bara dyker upp efter att revisionen körts och Ă„tgĂ€rdsplanen genererats, en tom sida öppnas normalt.
- PÄ fliken à tgÀrdsdetaljer visas fel, det gÄr inte att hÀmta mÄl och revisionsstrategi (bÄde pÄ ren Queens och pÄ en installation med Tionix-moduler).
- Revisioner med mÄlet Dummy (testmÄl) skapas och körs normalt, ÄtgÀrdsplaner genereras.
- Revisioner med mÄlet Unclassified skapas inte, eftersom mÄlet inte Àr funktionellt och Àr avsett för mellaninstÀllningar vid skapande av nya strategier.
- Revisioner med mÄlet Workload Balancing (strategi för lagringskapacitetsbalansering) skapas framgÄngsrikt, men ÄtgÀrdsplanen genereras inte. Optimering av lagringspooler krÀvs inte.
- Revisioner med mÄlet Workload Balancing (strategi för Workload Balance Migration Strategy) skapas framgÄngsrikt, men ÄtgÀrdsplanen genereras inte.
- Revisioner med mÄlet Workload Balancing (strategi för Workload Stabilization Strategy) avslutas med fel.
- Revisioner med mÄlet Noisy Neighbor skapas framgÄngsrikt, men ÄtgÀrdsplanen genereras inte.
- Auditeringar för hÄrdvarunderhÄll skapas framgÄngsrikt, handlingsplanen genereras inte i sin helhet (effektivitetsindikatorer genereras, men sjÀlva ÄtgÀrdslistan genereras inte).
- Ăndringar i konfigurationsfilerna nova.conf (i standardsektionen compute_monitors = cpu.virt_driver) pĂ„ berĂ€knings- och styrnoderna rĂ€ttar inte till felen.
- Auditeringar för serverkonsolidering (strategi Basic) avslutas ocksÄ med fel.
- Auditeringar för serverkonsolidering (strategi VM workload consolidation) avslutas med fel. Det finns ett fel i loggarna vid hÀmtning av ursprungliga data. Diskussion om felet, sÀrskilt .
Vi försökte ange i Watcher-konfigurationsfilen (det hjĂ€lpte inte â i resultatet fel pĂ„ alla sidor för Optimering, Ă„terstĂ€llning till ursprungligt innehĂ„ll i konfigurationsfilen löser inte situationen):[watcher_strategies.basic]
datasource = ceilometer, gnocchi - Auditeringar för energibesparing avslutas med fel. Enligt loggarna ligger problemet fortfarande i avsaknaden av Ironic, det kommer inte att fungera utan baremetal-service.
- Auditeringar för termisk optimering avslutas med fel. Traceback Àr densamma som för serverkonsolidering (strategi VM workload consolidation) (fel med ursprungliga data)
- Auditeringar för Airflow-optimering avslutas med fel.
Det finns ocksÄ följande fel vid avslutning av audit. Traceback i loggarna decision-engine.log (klusterstatus Àr inte definierad).
â Diskussion om felet
Slutsats
Resultatet av vÄr tvÄmÄnaders forskning blev en tydlig slutsats att för att fÄ ett fullt fungerande lastbalanseringssystem mÄste vi, i denna del, intensivt arbeta med att vidareutveckla verktygen för Openstack-plattformen.
Watcher har visat sig vara en seriös och snabbt vÀxande produkt med enorm potential, för att anvÀnda den fullt ut krÀvs det dock stort och seriöst arbete.
Men mer om detta â i kommande artiklar i serien.
KĂ€lla: habr.com
