Thiab, txij li thaum peb lub ntsiab kev loj hlob platform yog Openstack, thiab peb, zoo li txhua tus neeg, yog tub nkeeg, nws tau txiav txim siab xaiv qee qhov kev npaj ua qauv uas twb muaj nyob rau hauv lub platform. Peb qhov kev xaiv poob rau Watcher, uas peb txiav txim siab siv rau peb cov kev xav tau.
Ua ntej, cia peb saib cov ntsiab lus thiab cov ntsiab lus.
Cov ntsiab lus thiab txhais
Lub hom phiaj yog tib neeg nyeem tau, pom tau thiab ntsuas qhov kawg uas yuav tsum tau ua tiav. Muaj ib lossis ntau lub tswv yim kom ua tiav txhua lub hom phiaj. Lub tswv yim yog kev siv cov algorithm uas muaj peev xwm nrhiav kev daws teeb meem rau lub hom phiaj muab.
Kev ua yog ib txoj hauj lwm tseem ceeb uas hloov lub xeev tam sim no ntawm lub hom phiaj tswj kev pab cuam ntawm OpenStack pawg, xws li: tsiv teb tsaws lub tshuab virtual (migration), hloov lub zog ntawm lub node (change_node_power_state), hloov lub xeev ntawm qhov kev pabcuam nova (change_nova_service_state). ), hloov tsw (resize), sau npe NOP cov lus (nop), tsis ua haujlwm rau lub sijhawm ntev - nres (pw tsaug zog), disk hloov pauv (volume_migrate).
Kev Npaj Ua Haujlwm - ib qho kev khiav dej num tshwj xeeb tau ua nyob rau hauv ib qho kev txiav txim kom ua tiav lub Hom Phiaj. Txoj Kev Npaj Ua Haujlwm kuj muaj ntsuas kev ua tau zoo thoob ntiaj teb nrog cov txheej txheem ntsuas kev ua tau zoo. Txoj kev npaj ua haujlwm yog tsim los ntawm Watcher raws li kev soj ntsuam ua tiav, raws li qhov tshwm sim ntawm cov tswv yim siv pom kev daws teeb meem kom ua tiav lub hom phiaj. Ib daim phiaj xwm nqis tes ua muaj ib daim ntawv teev npe ua ntu zus.
Kev tshuaj xyuas yog thov kom optimize pawg. Kev ua kom zoo dua yog ua kom ua tiav ib Lub Hom Phiaj hauv ib pawg. Rau txhua qhov kev ntsuam xyuas ua tiav, Watcher tsim ib qho Kev Npaj Ua Haujlwm.
Kev Ntsuam Xyuas Scope yog ib txheej ntawm cov kev pab cuam nyob rau hauv uas qhov kev soj ntsuam tau ua (muaj cheeb tsam (s), node aggregators, tus neeg suav nodes los yog cia nodes, thiab lwm yam). Cov kev tshawb xyuas tau txhais nyob rau hauv txhua tus qauv. Yog tias qhov kev tshawb xyuas tsis tau teev tseg, tag nrho pawg yuav raug tshuaj xyuas.
Pawg yog ib qho kev sau ntawm lub cev tshuab uas muab suav, khaws cia, thiab kev sib txuas lus thiab tau tswj hwm los ntawm tib lub OpenStack kev tswj hwm.
Cluster Data Model (CDM) yog ib lub ntsiab lus sawv cev ntawm lub xeev tam sim no thiab topology ntawm cov peev txheej tswj hwm los ntawm pawg.
Qhov taw qhia Efficiency - qhov taw qhia uas qhia tias yuav ua li cas cov kev daws teeb meem tsim siv lub tswv yim no ua tiav. Cov ntsuas kev ua tau zoo yog qhov tshwj xeeb rau lub hom phiaj tshwj xeeb thiab feem ntau yog siv los suav cov txiaj ntsig thoob ntiaj teb ntawm cov phiaj xwm ua tiav.
Kev ua tau zoo Specification yog ib txheej ntawm cov yam ntxwv tshwj xeeb cuam tshuam nrog txhua Lub Hom Phiaj uas txhais tau ntau yam kev ntsuas kev ua tau zoo uas lub tswv yim kom ua tiav lub Hom Phiaj sib xws yuav tsum ua tiav hauv nws txoj kev daws teeb meem. Tseeb tiag, txhua qhov kev daws teeb meem uas tau hais los ntawm lub tswv yim yuav raug tshuaj xyuas tawm tsam qhov tshwj xeeb ua ntej suav nws cov txiaj ntsig thoob ntiaj teb.
Scoring Cav yog ib cov ntaub ntawv executable uas muaj cov ntaub ntawv txhais tau zoo, cov txiaj ntsig tau zoo, thiab ua tiav cov haujlwm ua lej nkaus xwb. Txoj kev no, kev suav yog ywj pheej ntawm ib puag ncig uas nws tau ua - nws yuav muab qhov txiaj ntsig zoo ib yam nyob txhua qhov chaw.
Watcher Planner - ib feem ntawm Watcher kev txiav txim siab lub cav. Cov qauv no siv cov txheej txheem ua haujlwm tsim los ntawm lub tswv yim thiab tsim cov phiaj xwm ua haujlwm uas qhia meej tias yuav teem sijhawm li cas cov haujlwm sib txawv no hauv lub sijhawm thiab rau txhua qhov kev ua, qhov ua ntej yog dab tsi.
Watcher Lub Hom Phiaj thiab Cov Tswv Yim
Lub hom phiaj
Tswvyim
Dummy lub hom phiaj
Dummy Strategy
Dummy Strategy siv cov qauv Scoring Cav
Dummy zoo nrog resize
Txuag Zog
Txuag Zog Strategy
Server Consolidation
Basic Offline Server Consolidation
VM Workload Consolidation Strategy
Ua haujlwm sib npaug
Workload Balance Migration Strategy
Cia Muaj Peev Xwm Tshuav Tswv Yim
Ua haujlwm ruaj khov
Neeb Neighbor
Neeb Neighbor
Thermal Optimization
Qhov hluav taws xob kub raws li lub tswv yim
Cov huab yuav tsum muaj tsawg kawg yog ob lub nodes. Txoj kev siv yog hloov lub zog lub xeev ntawm lub node (change_node_power_state). Lub tswv yim tsis tas yuav sau cov metrics.
Server Consolidation - txo tus naj npawb ntawm cov lej ntawm kev suav (sib sau ua ke). Nws muaj ob lub tswv yim: Basic Offline Server Consolidation thiab VM Workload Consolidation Strategy.
Qhov Basic Offline Server Consolidation lub tswv yim txo qis tag nrho cov servers siv thiab tseem txo cov neeg tsiv teb tsaws chaw.
Lub tswv yim yooj yim yuav tsum muaj cov ntsuas hauv qab no:
Lub tswv yim tsis zoo: migration_attempts - tus naj npawb ntawm kev sib txuas los tshawb nrhiav cov neeg sib tw muaj peev xwm rau kev kaw (default, 0, tsis muaj kev txwv), lub sij hawm - lub sij hawm luv luv hauv vib nas this kom tau txais kev sib sau zoo li qub los ntawm cov ntaub ntawv metric (default, 700).
Txoj kev siv: tsiv teb tsaws, hloov lub xeev nova kev pabcuam (change_nova_service_state).
VM Workload Consolidation Strategy yog ua raws li qhov ua ntej-haum heuristic uas tsom rau ntsuas CPU load thiab sim txo cov nodes uas muaj ntau dhau los yog tsawg dhau los muab cov peev txheej muaj peev xwm txwv. Lub tswv yim no muab cov kev daws teeb meem uas ua rau muaj txiaj ntsig zoo ntawm kev siv cov khoom siv hauv pawg siv plaub kauj ruam hauv qab no:
Lub tswv yim tsis zoo: lub sij hawm - lub sij hawm ncua sij hawm nyob rau hauv vib nas this kom tau zoo li qub aggregation los ntawm cov ntaub ntawv metric (default, 3600).
Siv tib txoj kev raws li lub tswv yim yav dhau los. Paub meej ntxiv no.
Ua haujlwm sib npaug - sib npaug ntawm kev ua haujlwm ntawm kev suav cov nodes. Lub hom phiaj muaj peb lub tswv yim: Workload Balance Migration Strategy, Workload stabilization, Storage Capacity Balance Strategy.
Workload Balance Migration Strategy khiav virtual tshuab migrations raws li tus tswv tsev virtual tshuab ua haujlwm. Kev txiav txim siab tsiv teb tsaws chaw yog ua thaum twg % CPU lossis RAM siv ntawm lub node tshaj qhov pib. Nyob rau hauv cov ntaub ntawv no, lub tshuab virtual tsiv yuav tsum coj cov node los ze zog mus rau qhov nruab nrab workload ntawm tag nrho cov nodes.
uas yuav tsum tau
Kev siv lub cev processors;
Yam tsawg kawg yog ob lub tshuab xam zauv ntawm lub cev;
Nruab thiab teeb tsa Ceilometer tivthaiv - ceilometer-tus neeg saib xyuas-xws li, khiav ntawm txhua lub tshuab xam zauv, thiab Ceilometer API, nrog rau sau cov ntsuas hauv qab no:
Storage Capacity Balance Strategy (lub tswv yim siv pib nrog Queens) - lub tswv yim hloov cov disks nyob ntawm qhov thauj khoom ntawm lub pas dej Cinder. Kev txiav txim siab hloov pauv yog ua thaum twg tus nqi siv pas dej ua ke tshaj li qhov tau teev tseg. Lub disk raug txav yuav tsum coj lub pas dej los ze zog rau qhov nruab nrab ntawm tag nrho cov pas dej Cinder.
Kev xav tau thiab kev txwv
Yam tsawg kawg yog ob lub pas dej Cinder;
Muaj peev xwm ntawm disk tsiv teb tsaws.
Cluster data model - Cinder pawg data model collector.
Strategy parameters:
parameter hom los vim cov lus piav qhia
volume_threshold
Number
80.0
Tus nqi pib ntawm disks rau ntsuas qhov ntim.
Txoj kev siv yog disk migration (volume_migrate).
Noisy Neighbor - txheeb xyuas thiab tsiv mus nyob rau "cov neeg nyob ze tsis muaj suab nrov" - lub tshuab virtual muaj qhov tseem ceeb qis uas cuam tshuam tsis zoo rau kev ua haujlwm ntawm lub tshuab virtual tseem ceeb ntawm IPC los ntawm overusing Last Level Cache. Tus kheej lub tswv yim: Noisy Neighbor (lub tswv yim parameter siv yog cache_threshold (default value is 35), thaum kev ua tau zoo poob rau tus nqi teev, tsiv teb tsaws yog pib. Rau lub tswv yim ua hauj lwm, enabled LLC (Last Level Cache) metrics, qhov tseeb Intel server nrog CMT kev txhawb nqa, nrog rau sau cov metrics hauv qab no:
kev ntsuas kev pabcuam plugins tawm tswv yim
cpu_l3_cache ceilometer
tsis muaj leej twg
Intel xav tau CMT.
Cluster data model (default): Nova cluster data model collector. Txoj kev siv yog tsiv teb tsaws.
Ua haujlwm nrog lub hom phiaj no los ntawm Dashboard tsis ua tiav hauv Queens.
Thermal Optimization - optimize qhov kub thiab txias tswj. Qhov hluav taws xob (kua pa) qhov kub thiab txias yog ib qho tseem ceeb ntawm thermal telemetry systems los ntsuas qhov thermal / workload raws li tus neeg rau zaub mov. Lub hom phiaj muaj ib lub tswv yim, lub qhov hluav taws xob kub raws li lub tswv yim, uas txiav txim siab tsiv teb tsaws chaw ua haujlwm rau cov tswv tsev thermally (qhov hluav taws xob qis tshaj) thaum lub qhov hluav taws xob kub ntawm qhov chaw ua haujlwm nce mus txog qhov chaw pib.
Rau lub tswv yim ua haujlwm, koj xav tau lub server nrog Intel Power Node Manager ntsia thiab teeb tsa 3.0 los yog tom qab ntawd, nrog rau sau cov metrics hauv qab no:
lub sij hawm
Number
30
Lub sijhawm luv, hauv vib nas this, kom tau txais cov ntaub ntawv txheeb cais los ntawm cov ntaub ntawv metric.
Txoj kev siv yog tsiv teb tsaws.
Airflow Optimization - optimize qhov cua tshuab. Tus kheej lub tswv yim - Uniform Airflow siv nyob kev tsiv teb tsaws. Lub tswv yim ua rau lub tshuab virtual tsiv teb tsaws thaum twg cov cua ntws los ntawm cov neeg rau zaub mov kiv cua tshaj qhov chaw pib.
Rau lub tswv yim ua haujlwm koj xav tau:
Kho vajtse: suav nodes < txhawb NodeManager 3.0;
Tsawg kawg yog ob lub khoos phis tawj;
Lub ceilometer-tus neeg saib xyuas-xws li thiab Ceilometer API tivthaiv tau teeb tsa thiab teeb tsa ntawm txhua lub khoos phis tawj, uas tuaj yeem ua tiav cov ntaub ntawv ntsuas xws li huab cua ntws, lub zog hluav taws xob, qhov kub thiab txias:
Nws tau thov kom siv cov algorithm no nrog kev tshuaj xyuas tas li, txij li tsuas yog ib lub tshuab virtual tau npaj yuav tsiv teb tsaws ib qho iteration.
cia
enum ib
tsis muaj leej twg
Disk parameters ["loj", "created_at"].
Cov kev siv yog virtual tshuab migration, disk migration.
Tsis muaj qhov teev - lub hom phiaj pab siv los pab txhawb txoj kev txhim kho lub tswv yim. Tsis muaj qhov tshwj xeeb thiab tuaj yeem siv tau thaum twg lub tswv yim tseem tsis tau cuam tshuam nrog lub hom phiaj uas twb muaj lawm. Lub hom phiaj no kuj tseem siv tau los ua qhov kev hloov pauv. Lub tswv yim cuam tshuam rau lub hom phiaj no yog Actuator.
Tsim lub hom phiaj tshiab
Watcher Decision Cav muaj "lub hom phiaj sab nraud" plugin interface uas ua rau nws muaj peev xwm los sib sau ua ke lub hom phiaj sab nraud uas tuaj yeem ua tiav siv lub tswv yim.
Ua ntej koj tsim lub hom phiaj tshiab, koj yuav tsum xyuas kom meej tias tsis muaj lub hom phiaj uas twb muaj lawm ua tau raws li koj xav tau.
Tsim ib lub plugin tshiab
Txhawm rau tsim lub hom phiaj tshiab, koj yuav tsum: txuas ntxiv cov hom phiaj hauv chav kawm, siv cov txheej txheem hauv chav kawm get_name() xa rov qab tus cim ID ntawm lub hom phiaj tshiab koj xav tsim. Tus cim tshwj xeeb no yuav tsum phim lub npe nkag nkag koj tshaj tawm tom qab.
Tom ntej no koj yuav tsum tau siv cov txheej txheem hauv chav kawm get_display_name() xa rov qab cov lus txhais cov npe ntawm lub hom phiaj koj xav tsim (tsis txhob siv qhov hloov pauv kom rov qab cov hlua txhais kom nws tuaj yeem khaws cia los ntawm cov cuab yeej txhais lus.).
Ua ib txoj hauv kev hauv chav kawm get_translatable_display_name()xa rov qab tus yuam sij txhais lus (qhov tseeb yog lub npe lus Askiv) ntawm koj lub hom phiaj tshiab. Tus nqi xa rov qab yuav tsum phim txoj hlua txhais ua get_display_name().
Ua raws li nws txoj kev get_efficacy_specification()xa rov qab qhov kev ua tau zoo specification rau koj lub hom phiaj. Txoj kev get_efficacy_specification() rov qab rau Unclassified() piv txwv muab los ntawm Watcher. Qhov kev ua tau zoo no yog qhov tseem ceeb hauv cov txheej txheem ntawm kev txhim kho koj lub hom phiaj vim tias nws sib haum rau cov lus qhia khoob.
Watcher API - ib feem uas siv REST API muab los ntawm Watcher. Kev sib cuam tshuam mechanisms: CLI, Qab ntug plugin, Python SDK.
Saib DB - Watcher database.
Watcher Applier - ib qho kev tivthaiv uas siv qhov kev ua tiav ntawm kev npaj ua haujlwm tsim los ntawm Watcher Decision Engine tivthaiv.
Watcher Decision Cav - Lub luag haujlwm tseem ceeb hauv kev suav cov txheej txheem kev ua kom zoo tshaj plaws kom ua tiav lub hom phiaj tshawb xyuas. Yog tias lub tswv yim tsis tau teev tseg, cov khoom ntawm nws tus kheej xaiv qhov tsim nyog tshaj plaws.
Watcher Metrics Publisher - Ib feem uas sau thiab suav qee qhov kev ntsuas lossis cov xwm txheej thiab tshaj tawm rau CEP qhov kawg. Kev ua haujlwm ntawm cov khoom siv kuj tuaj yeem muab los ntawm Ceilometer publisher.
Complex Event Processing (CEP) Cav - cav rau complex txheej xwm ua. Rau qhov ua tau zoo, tej zaum yuav muaj ntau yam CEP Cav ua haujlwm ib txhij, txhua qhov kev ua tiav ib hom kev ntsuas / qhov xwm txheej. Nyob rau hauv lub Watcher system, CEP ua rau ob hom kev ua: - sau cov xwm txheej sib thooj / ntsuas nyob rau hauv lub sij hawm series database; - xa cov xwm txheej tsim nyog mus rau Watcher Decision Engine thaum qhov kev tshwm sim no tuaj yeem cuam tshuam qhov tshwm sim ntawm qhov kev ua kom zoo tshaj plaws tam sim no, vim tias Openstack pawg tsis yog qhov zoo li qub.
Lub tswv yim ntawm kev sib cuam tshuam nrog Watcher
Watcher xeem tau
Ntawm Kev Ua Kom Zoo - Cov phiaj xwm nqis tes ua 500 nplooj ntawv (ob qho tib si ntawm cov poj huab tais ntshiab thiab ntawm qhov sawv nrog Tionix modules), nws tshwm sim tsuas yog tom qab kev tshuaj xyuas tau pib thiab tsim cov phiaj xwm nqis tes ua; qhov khoob ib txwm qhib.
Muaj qhov tsis raug ntawm Cov Lus Qhia Ua Haujlwm, nws tsis tuaj yeem tau txais lub hom phiaj tshawb xyuas thiab lub tswv yim (ob leeg ntawm Queens ntshiab thiab sawv nrog Tionix modules).
Kev soj ntsuam nrog lub hom phiaj ntawm Dummy (kev xeem) yog tsim thiab tsim tawm ib txwm, cov phiaj xwm ua tau tsim tawm.
Kev tshuaj xyuas rau lub hom phiaj Unclassified tsis tsim vim lub hom phiaj tsis ua haujlwm thiab yog npaj rau kev teeb tsa nruab nrab thaum tsim cov tswv yim tshiab.
Kev soj ntsuam rau lub hom phiaj ntawm Kev Ntsuas Kev Ua Haujlwm (Storage Capacity balance Strategy) yog tsim kom muaj kev vam meej, tab sis kev npaj ua haujlwm tsis tau tsim. Tsis muaj chaw cia khoom optimization yuav tsum tau.
Kev soj ntsuam rau lub hom phiaj ua haujlwm sib npaug (Workload Balance Migration Strategy) tau tsim ua tiav, tab sis tsis tsim cov phiaj xwm ua haujlwm.
Kev Tshawb Fawb Txog Kev Ua Haujlwm Sib Nqus (Workload Stabilization Strategy) ua tsis tiav.
Kev tshuaj xyuas rau Lub Hom Phiaj Tsis Txaus Neighbor tau tsim ua tiav, tab sis tsis tau tsim ib qho kev npaj ua.
Kev soj ntsuam rau lub hom phiaj ntawm kev kho kho vajtse yog tsim ua tiav, cov phiaj xwm kev nqis tes ua tsis tau tsim tawm tag nrho (cov ntsuas kev ua tau zoo yog tsim, tab sis cov npe ntawm kev ua nws tus kheej tsis tsim).
Kho kom raug nyob rau hauv nova.conf configs (nyob rau hauv lub neej ntawd seem compute_monitors = cpu.virt_driver) ntawm lub xam thiab tswj cov nodes tsis kho qhov yuam kev.
Kev tshawb xyuas lub hom phiaj ntawm Server Consolidation (Basic zoo) kuj ua tsis tiav.
Kev tshuaj xyuas rau lub hom phiaj ntawm Server Consolidation (VM workload consolidation lub tswv yim) ua tsis tiav nrog qhov yuam kev. Nyob rau hauv cov cav muaj ib qho yuam kev nyob rau hauv tau txais cov ntaub ntawv qhov chaw. Kev sib tham ntawm qhov yuam kev, tshwj xeeb no.
Peb sim qhia kom meej Watcher nyob rau hauv cov ntaub ntawv config (nws tsis tau pab - vim yog qhov yuam kev ntawm txhua nplooj ntawv Optimization, rov qab mus rau cov ntsiab lus qub ntawm cov ntaub ntawv config tsis kho qhov teeb meem):
[watcher_strategies.basic] datasource = ceilometer, gnocchi
Kev tshuaj xyuas rau Txuag Zog tsis ua tiav. Kev txiav txim los ntawm cov cav, qhov teeb meem tseem yog qhov tsis muaj Ironic; nws yuav tsis ua haujlwm yam tsis muaj kev pabcuam baremetal.
Kev tshuaj xyuas rau Thermal Optimization ua tsis tiav. Cov traceback yog tib yam li Server Consolidation (VM workload consolidation zoo) (qhov chaw cov ntaub ntawv yuam kev)
Kev soj ntsuam rau lub hom phiaj ntawm Airflow Optimization poob nrog qhov yuam kev.
Cov kev kuaj xyuas ua tiav hauv qab no kuj tau ntsib. Traceback nyob rau hauv kev txiav txim-engine.log cav (cluster xeev tsis tau txhais).
Qhov tshwm sim ntawm peb qhov kev tshawb fawb ob lub hlis yog qhov tsis txaus ntseeg qhov kev txiav txim siab kom tau txais kev ua haujlwm puv ntoob, ua haujlwm sib npaug, peb yuav muaj, hauv ntu no, ua haujlwm ze rau kev kho cov cuab yeej rau Openstack platform.
Watcher tau ua pov thawj tias yog cov khoom lag luam loj thiab loj hlob sai nrog lub peev xwm loj, kev siv tag nrho yuav xav tau ntau yam haujlwm hnyav.
Tab sis ntau ntxiv txog qhov no hauv cov ntawv tom ntej ntawm koob.