Fampidirana ny ampahany amin'ny tambajotra amin'ny fotodrafitrasa rahona
Ny informatika rahona dia miditra lalindalina kokoa hatrany amin'ny fiainantsika ary mety tsy misy olona iray izay tsy nampiasa serivisy rahona na dia indray mandeha aza. Na izany aza, inona marina ny rahona sy ny fomba fiasany, vitsy ny olona mahafantatra, na dia eo amin'ny haavon'ny hevitra iray aza. Ny 5G dia efa lasa zava-misy ary ny fotodrafitrasa momba ny fifandraisan-davitra dia manomboka miala amin'ny vahaolana amin'ny tsato-kazo mankany amin'ny vahaolana rahona, toy ny tamin'ny nifindrany tamin'ny vahaolana amin'ny hardware feno mankany amin'ny "andry" virtoaly.
Androany dia hiresaka momba ny tontolo anatiny amin'ny fotodrafitrasa rahona isika, indrindra fa hijery ny fototry ny ampahany amin'ny tambajotra.
Inona no atao hoe rahona? Ny virtoaly mitovy amin'izany - fijerena ny mombamomba azy?
Mihoatra noho ny fanontaniana lojika. Tsia - tsy virtoaly izany, na dia tsy vita aza izany raha tsy misy azy. Andeha hojerentsika ny famaritana roa:
Cloud computing (antsoina hoe Cloud) dia modely amin'ny fanomezana fahafaham-po amin'ny mpampiasa ny loharanon-karena informatika zaraina izay tsy maintsy apetraka sy atomboka amin'ny fangatahana miaraka amin'ny fahatarana faran'izay kely indrindra sy ny vidiny faran'izay kely indrindra ho an'ny mpanome tolotra.
Virtualization - izany no fahafahana mizara vatana ara-batana iray (ohatra, mpizara) ho virtoaly maromaro, ka mampitombo ny fampiasana ny loharanon-karena (ohatra, manana mpizara 3 misy 25-30 isan-jato ianao, aorian'ny virtoaly dia mahazo mpizara 1 ianao. amin'ny 80-90%). Mazava ho azy, ny virtoaly dia mihinana ny sasany amin'ireo loharanon-karena - mila mamahana ny hypervisor ianao, na izany aza, araka ny nasehon'ny fampiharana, ny lalao dia mendrika ny labozia. Ny ohatra tsara indrindra amin'ny virtoaly dia ny VMWare, izay manomana tsara ny milina virtoaly, na ohatra KVM, izay tiako kokoa, fa resaka tsiro izany.
Mampiasa virtoaly izahay nefa tsy mahatsapa izany, ary na ny router vy aza dia efa mampiasa virtoaly - ohatra, amin'ny dikan-teny farany amin'ny JunOS, ny rafitra fandidiana dia napetraka ho milina virtoaly eo an-tampon'ny fizarana Linux tena izy (Wind River 9). Fa ny virtoaly dia tsy ny rahona, fa ny rahona dia tsy misy raha tsy misy virtoaly.
Ny virtoaly dia iray amin'ireo sakana fanorenana iorenan'ny rahona.
Ny fanaovana rahona amin'ny alalan'ny fanangonana hypervisors maromaro fotsiny ao amin'ny sehatra L2 iray, manampy bokikely yaml roa ho an'ny fisoratana anarana ho azy ny vlans amin'ny alΓ lan'ny karazana Ansible ary ny fametrahana zavatra toy ny rafitra orkestra eo amboniny mba hamoronana milina virtoaly ho azy dia tsy mandeha. Ho marina kokoa izany, fa ny Frankenstein aterak'izany dia tsy ilay rahona ilaintsika, na dia mety ho nofinofy farany ho an'ny hafa aza izany. Ankoatra izany, raha maka Openstack mitovy ianao, dia mbola Frankenstein ihany, fa oh, aoka tsy hiresaka momba izany isika amin'izao fotoana izao.
Fa azoko fa avy amin'ny famaritana aseho etsy ambony dia tsy mazava tsara ny tena azo antsoina hoe rahona.
Noho izany, ny antontan-taratasy avy amin'ny NIST (National Institute of Standards and Technology) dia manome toetra 5 lehibe tokony hananana fotodrafitrasa rahona:
Manome serivisy raha ilaina. Ny mpampiasa dia tsy maintsy omena fahafahana miditra malalaka amin'ny loharanon'ny solosaina nomena azy (toy ny tambajotra, kapila virtoaly, fahatsiarovana, cores processeur, sns.), ary ireo loharano ireo dia tsy maintsy omena ho azy - izany hoe tsy misy fitsabahana avy amin'ny mpanome tolotra.
Betsaka ny serivisy. Ny fidirana amin'ny loharanon-karena dia tsy maintsy omen'ny rafitra manara-penitra mba ahafahana mampiasa PC mahazatra sy mpanjifa manify ary fitaovana finday.
Manambatra ny loharano ho dobo. Ny dobo loharanon-karena dia tsy maintsy afaka manome loharano ho an'ny mpanjifa maro miaraka amin'ny fotoana iray, miantoka fa mitoka-monina ny mpanjifa ary tsy misy fiantraikany sy fifaninanana ho an'ny loharanon-karena. Tafiditra ao anatin'ireo dobo ihany koa ny tambajotra, izay manondro ny mety hampiasana adiresy mifanindry. Ny dobo dia tokony ho afaka mirefy araka ny fangatahana. Ny fampiasana dobo dia ahafahana manome ny haavon'ny fandeferana amin'ny fahadisoan'ny loharanon-karena sy ny fitrandrahana ny loharanon-karena ara-batana sy virtoaly - ny mpandray ny serivisy dia omena fotsiny ny loharano nangatahany (izay misy ireo loharano ireo, amin'ny firy mpizara sy switch - tsy mampaninona ny mpanjifa izany). Na izany aza, tokony hojerentsika ny zava-misy fa ny mpamatsy dia tsy maintsy miantoka famandrihana mangarahara ireo loharano ireo.
Mampifanaraka haingana amin'ny toe-javatra samihafa. Ny serivisy dia tsy maintsy miovaova - ny fanomezana haingana ny loharanon-karena, ny fizarana azy ireo, ny fanampiana na ny fampihenana ny loharanon-karena araka ny fangatahan'ny mpanjifa, ary eo amin'ny lafiny mpanjifa dia tokony hisy fahatsapana fa tsy misy farany ny loharanon-drahona. Ho fanamorana ny fahatakarana, ohatra, dia tsy mahita fampitandremana ianao fa nanjavona ny ampahany amin'ny habaka kapila ao amin'ny Apple iCloud satria rava ny kapila mafy ao amin'ny server, ary rava ny fiara. Ankoatr'izay, amin'ny lafiny anao, ny fahafahan'ity serivisy ity dia saika tsy misy fetra - mila 2 TB ianao - tsy misy olana, nandoa ianao ary nahazo izany. Ohatra mitovy amin'izany dia azo omena amin'ny Google.Drive na Yandex.Disk.
Ny mety handrefesana ny serivisy omena. Ny rafitra rahona dia tsy maintsy mifehy ho azy sy manatsara ny loharanon-karena lany, ary ireo rafitra ireo dia tsy maintsy mangarahara amin'ny mpampiasa sy ny mpanome tolotra. Izany hoe, azonao atao ny manamarina foana hoe firy ny loharanon-karena laninao sy ny mpanjifanao.
Ilaina ny mandinika ny zava-misy fa ireo fepetra ireo dia takiana amin'ny ankamaroan'ny rahona ho an'ny daholobe, ka ho an'ny rahona manokana (izany hoe rahona natomboka ho an'ny filan'ny orinasa), dia azo amboarina kely ireo fepetra ireo. Na izany aza, mbola tsy maintsy atao izy ireo, raha tsy izany dia tsy hahazo ny tombontsoa rehetra amin'ny informatika rahona isika.
Nahoana isika no mila rahona?
Na izany aza, ny teknolojia vaovao na efa misy, ny protocol vaovao dia noforonina ho an'ny zavatra (tsara, afa-tsy ny RIP-ng, mazava ho azy). Tsy misy mila protocole ho an'ny protocol (tsara, afa-tsy ny RIP-ng, mazava ho azy). Lojika fa ny Cloud dia noforonina mba hanomezana karazana serivisy ho an'ny mpampiasa/mpanjifa. Fantatsika rehetra ny serivisy rahona roa farafaharatsiny, ohatra Dropbox na Google.Docs, ary mino aho fa ny ankamaroan'ny olona dia mampiasa azy ireo amim-pahombiazana - ohatra, ity lahatsoratra ity dia nosoratana tamin'ny alΓ lan'ny serivisy rahona Google.Docs. Saingy ny serivisy rahona fantatray dia ampahany amin'ny fahafahan'ny rahona ihany β ny marimarina kokoa, dia serivisy karazana SaaS ihany izy ireo. Afaka manome serivisy rahona amin'ny fomba telo izahay: amin'ny endrika SaaS, PaaS na IaaS. Ny serivisy ilainao dia miankina amin'ny fanirianao sy ny fahaiza-manaonao.
Andeha hojerentsika tsirairay araka ny filaharany:
Software amin'ny Service (SaaS) dia modely amin'ny fanomezana serivisy feno ho an'ny mpanjifa, ohatra, serivisy mailaka toy ny Yandex.Mail na Gmail. Amin'ity modely fanaterana serivisy ity, ianao, amin'ny maha-mpanjifa, dia tsy manao na inona na inona afa-tsy ny fampiasana ny serivisy - izany hoe, tsy mila mieritreritra momba ny fametrahana ny serivisy ianao, ny fandeferana amin'ny fahadisoana na ny tsy fahampiana. Ny zava-dehibe dia ny tsy mampandefitra ny tenimiafinao; ny mpamatsy an'ity serivisy ity dia hanao ny ambiny ho anao. Avy amin'ny fomba fijerin'ny mpanome tolotra dia tompon'andraikitra tanteraka amin'ny serivisy manontolo izy - manomboka amin'ny hardware server sy ny rafitra fiasan'ny mpampiantrano mankany amin'ny fametrahana database sy rindrambaiko.
Sehatra ho serivisy (PaaS) β rehefa mampiasa an'io modely io ny mpanome tolotra dia manome fitaovana ho an'ny serivisy ho an'ny mpanjifa, ohatra, andao isika haka mpizara Web. Ny mpanome tolotra dia nanome mpizara virtoaly ho an'ny mpanjifa (raha ny marina, andiana loharanon-karena, toy ny RAM/CPU/Storage/Nets, sns.), ary na dia nametraka ny OS sy ny rindrambaiko ilaina amin'ity mpizara ity aza, ny fanamafisana ny ireo zavatra rehetra ireo dia ataon'ny mpanjifa ny tenany ary ho an'ny fanatanterahana ny serivisy dia valian'ny mpanjifa. Ny mpanome tolotra, toy ny tamin'ny tranga teo aloha, dia tompon'andraikitra amin'ny fanatanterahana ny fitaovana ara-batana, ny hypervisors, ny milina virtoaly, ny fisian'ny tambajotra, sns., Fa ny serivisy dia tsy eo amin'ny sehatry ny andraikiny intsony.
Amin'ireo safidy telo rehetra ireo, ny mpanome tolotra dia mila OS izay ahafahana mamorona fotodrafitrasa rahona. Raha ny marina, miaraka amin'ny SaaS, fizarana mihoatra ny iray no tompon'andraikitra amin'ny fitambaran'ny teknolojia iray manontolo - misy fizarana izay tompon'andraikitra amin'ny fotodrafitrasa - izany hoe manome IaaS ho an'ny fizarana hafa, ity fizarana ity dia manome SaaS ho an'ny mpanjifa. OpenStack dia iray amin'ireo rafitra miasa rahona izay ahafahanao manangona andiana switch, servers ary rafitra fitahirizana ao anaty dobo loharano tokana, mizara ity dobo iraisana ity ho subpools (mpanofa) ary manome ireo loharano ireo ho an'ny mpanjifa amin'ny tambajotra.
OpenStack dia rafitra fiasa rahona izay ahafahanao mifehy ireo dobo lehibe misy loharanon-karena informatika, fitahirizana angon-drakitra ary loharanon-tambajotra, omena sy tantanana amin'ny alΓ lan'ny API mampiasa rafitra fanamarinana mahazatra.
Raha lazaina amin'ny teny hafa, ity dia andiana tetikasa rindrambaiko maimaim-poana izay natao hamoronana serivisy rahona (na ho an'ny daholobe na tsy miankina) - izany hoe, fitaovana iray ahafahanao manambatra ny mpizara sy ny fitaovana enti-mivadika ho loharanon-karena tokana, mitantana. ireo loharano ireo, manome ny haavon'ny fandeferana tsy maintsy ilaina.
Amin'ny fotoana hanoratana ity fitaovana ity, ny rafitra OpenStack dia toy izao:
Ny singa tsirairay ao amin'ny OpenStack dia manao asa manokana. Ity maritrano zaraina ity dia ahafahanao mampiditra ao anatin'ilay vahaolana ny fitambaran'ireo singa miasa ilainao. Na izany aza, ny singa sasany dia singa fototra ary ny fanesorana azy ireo dia hitarika amin'ny tsy fahombiazan'ny vahaolana amin'ny ankapobeny na amin'ny ampahany. Ireo singa ireo matetika dia sokajiana ho:
Dashboard - GUI mifototra amin'ny Internet amin'ny fitantanana ny serivisy OpenStack
vato ifaharana dia serivisy famantarana ivotoerana izay manome asa fanamarinana sy fanomezan-dΓ lana ho an'ny serivisy hafa, ary koa amin'ny fitantanana ny mombamomba ny mpampiasa sy ny andraikiny.
Neutron - serivisy tambajotra izay manome fifandraisana eo amin'ny fifandraisan'ny serivisy OpenStack isan-karazany (ao anatin'izany ny fifandraisana eo amin'ny VM sy ny fidirana amin'ny tontolo ivelany)
Cinder - manome fahafahana hanakana ny fitahirizana ho an'ny milina virtoaly
Nova - fitantanana tsingerin'ny fiainana ny milina virtoaly
jerena - fitehirizana sary sy sary amin'ny milina virtoaly
Swift - manome fidirana amin'ny zavatra fitahirizana
hafanana - orkestra mifototra amin'ny maodely ho an'ny famoronana mandeha ho azy sy ny fanomezana loharanon-karena
Ny lisitra feno amin'ny tetikasa rehetra sy ny tanjon'izy ireo dia azo jerena eto.
Ny singa OpenStack tsirairay dia serivisy manatanteraka asa manokana ary manome API hitantana izany asa izany ary hifanerasera amin'ny serivisy rafitra fiasan-drahona hafa mba hamoronana fotodrafitrasa iray. Ohatra, Nova dia manome fitantanana loharanon-karena informatika sy API ho an'ny fidirana amin'ny fanamafisana ireo loharano ireo, Glance dia manome fitantanana sary sy API ho an'ny fitantanana azy ireo, Cinder dia manome fitehirizana sakana sy API ho an'ny fitantanana azy, sns. Ny fiasa rehetra dia mifandray amin'ny fomba tena akaiky.
Na izany aza, raha mijery azy ianao, ny serivisy rehetra mandeha amin'ny OpenStack dia karazana milina virtoaly (na container) mifandray amin'ny tambajotra. Mipetraka ny fanontaniana - nahoana isika no mila singa maro?
Andeha hojerentsika ny algorithm amin'ny famoronana milina virtoaly ary mampifandray izany amin'ny tambajotra sy fitahirizana maharitra ao amin'ny Openstack.
Rehefa mamorona fangatahana hamorona milina ianao, na fangatahana amin'ny Horizon (Dashboard) na fangatahana amin'ny CLI, ny zavatra voalohany mitranga dia ny fanomezan-dΓ lana ny fangatahanao amin'ny Keystone - afaka mamorona milina ve ianao, manana ny zo hampiasa an'ity tambajotra ity, manao ny volavolanao quota, sns.
Keystone dia manamarina ny fangatahanao ary mamorona mari-pamantarana auth ao amin'ny hafatra valiny, izay hampiasaina bebe kokoa. Rehefa nahazo valiny avy amin'i Keystone, dia alefa mankany Nova (nova api) ny fangatahana.
Nova-api dia manamarina ny maha-ara-dalΓ na ny fangatahanao amin'ny alΓ lan'ny fifandraisana amin'ny Keystone amin'ny fampiasana ny mari-pamantarana fanamarinana efa novokarina teo aloha
Keystone dia manao fanamarinana ary manome fampahalalana momba ny fahazoan-dΓ lana sy fameperana mifototra amin'ity mari-pamantarana fanamarinana ity.
Nova-api dia mamorona fidirana ho an'ny VM vaovao ao amin'ny nova-database ary mandalo ny fangatahana hamoronana ny milina amin'ny nova-scheduler.
Nova-scheduler dia mifidy ny mpampiantrano (node ββinformatika) izay hapetraka ny VM mifototra amin'ny mari-pamantarana, lanja ary faritra voafaritra. Ny firaketana an'io sy ny ID VM dia nosoratana tamin'ny nova-database.
Manaraka, ny nova-scheduler dia mifandray amin'ny nova-compute miaraka amin'ny fangatahana hametraka ohatra. Nova-compute dia mifandray amin'ny nova-conductor mba hahazoana vaovao momba ny mari-pamantarana milina (nova-conductor dia singa nova izay miasa toy ny mpizara proxy eo anelanelan'ny nova-database sy nova-compute, mametra ny isan'ny fangatahana amin'ny nova-database mba hisorohana ny olana amin'ny database. fampihenana ny entana tsy miovaova).
Nova-conductor dia mandray ny fampahalalana angatahina avy amin'ny nova-database ary mampita izany amin'ny nova-compute.
Manaraka, nova-compute antso indray mijery mba hahazoana ny sary ID. Glace dia manamarina ny fangatahana ao amin'ny Keystone ary mamerina ny fampahalalana nangatahana.
Nova-compute mifandray amin'ny neutron mba hahazoana vaovao momba ny masontsivana tambajotra. Mitovy amin'ny fijery, ny neutron dia manamarina ny fangatahana ao amin'ny Keystone, ary avy eo dia mamorona fidirana ao amin'ny angon-drakitra (famantarana seranan-tsambo, sns.), mamorona fangatahana hamorona seranana, ary mamerina ny fampahalalana nangatahana amin'ny nova-compute.
Nova-compute dia mifandray amin'ny cinder miaraka amin'ny fangatahana hanokana boky ho an'ny milina virtoaly. Mitovy amin'ny glance, ny cider dia manamarina ny fangatahana ao amin'ny Keystone, mamorona fangatahana famoronana boky, ary mamerina ny fampahalalana nangatahana.
Raha ny marina, ny hetsika toa tsotra amin'ny famoronana milina virtoaly tsotra dia mivadika ho whirlpool amin'ny antso API eo anelanelan'ireo singa ao amin'ny sehatra rahona. Ankoatr'izay, araka ny hitanao, na ny serivisy voatondro teo aloha aza dia misy singa kely kokoa izay misy ny fifandraisana. Ny famoronana milina dia ampahany kely amin'ny zavatra azon'ny sehatra rahona atao - misy serivisy tompon'andraikitra amin'ny fampifandanjana ny fifamoivoizana, serivisy tompon'andraikitra amin'ny fitahirizana sakana, serivisy tompon'andraikitra amin'ny DNS, serivisy tompon'andraikitra amin'ny fanomezana servera vy tsy misy dikany, sns . Ny rahona dia mamela anao hitondra ny milina virtoaly ho toy ny andian'ondry (mifanohitra amin'ny virtoaly). Raha misy zavatra mitranga amin'ny milinanao amin'ny tontolo virtoaly - averinao amin'ny backups, sns., fa ny rindranasa rahona dia naorina amin'ny fomba izay tsy manana anjara toerana lehibe toy izany ny milina virtoaly - "maty" ny milina virtoaly - tsy misy olana - vaovao vao noforonina ny fiara dia mifototra amin'ny mΓ΄dely ary, araka ny filazan'izy ireo, ny ekipa dia tsy nahatsikaritra ny fahaverezan'ny mpiady. Mazava ho azy, izany dia manome ny fisian'ny mekanika orkestra - amin'ny fampiasana modely Heat, azonao atao ny mametraka mora foana ny asa sarotra ahitana tambajotra am-polony sy milina virtoaly.
Ilaina foana ny mitadidy fa tsy misy fotodrafitrasa rahona tsy misy tambajotra - ny singa tsirairay amin'ny fomba iray na hafa dia mifandray amin'ny singa hafa amin'ny alΓ lan'ny tambajotra. Ankoatra izany, ny rahona dia manana tamba-jotra tsy mitombina tanteraka. Mazava ho azy, ny tamba-jotra ambanin'ny tany dia somary mihetsiketsika kokoa na latsaka - ny node vaovao sy ny switch dia tsy ampiana isan'andro, fa ny singa overlay dia afaka ary tsy azo ihodivirana hiova tsy tapaka - ny tambajotra vaovao dia ampiana na voafafa, hiseho ny milina virtoaly vaovao ary ny taloha dia hiseho. maty. Ary araka ny tadidinao avy amin'ny famaritana ny rahona nomena tany am-piandohan'ny lahatsoratra, ny loharanon-karena dia tokony atokana ho an'ny mpampiasa ho azy ary miaraka amin'ny kely indrindra (na tsara kokoa, tsy misy) fitsabahan'ny mpanome tolotra. Izany hoe, ny karazana fanomezana loharanon-tambajotra izay misy amin'izao fotoana izao amin'ny endrika front-end amin'ny endriky ny kaontinao manokana azo idirana amin'ny alΓ lan'ny http/https ary ny injeniera amin'ny tambajotra miasa Vasily ho backend dia tsy rahona, na dia raha valo tanana i Vasily.
Ny Neutron, amin'ny maha serivisy tambajotra, dia manome API amin'ny fitantanana ny ampahany amin'ny tambajotra amin'ny fotodrafitrasa rahona. Ny serivisy dia manome hery sy mitantana ny ampahany amin'ny tambajotran'ny Openstack amin'ny fanomezana sosona abstraction antsoina hoe Network-as-a-Service (NaaS). Izany hoe, ny tambajotra dia mitovy amin'ny virtoaly azo refesina amin'ny, ohatra, virtoaly CPU cores na ny habetsaky ny RAM.
Saingy alohan'ny hirosoana amin'ny rafitry ny ampahan'ny tambajotran'ny OpenStack, andeha hojerentsika ny fomba fiasan'ity tambajotra ity ao amin'ny OpenStack sy ny antony maha-zava-dehibe sy manan-danja amin'ny rahona ny tambajotra.
Noho izany dia manana VM mpanjifa RED roa sy VM mpanjifa MAITS roa izahay. Andeha hojerentsika fa ireto milina ireto dia hita amin'ny hypervisors roa toy izao:
Amin'izao fotoana izao, virtoaly virtoaly 4 fotsiny izany ary tsy misy afa-tsy, satria ny zavatra rehetra nataontsika dia ny virtoaly 4 mpizara, mametraka azy ireo amin'ny mpizara ara-batana roa. Ary hatramin'izao dia tsy mifandray amin'ny tambajotra akory izy ireo.
Mba hanaovana rahona dia mila manampy singa maromaro isika. Voalohany, ataontsika virtoaly ny ampahany amin'ny tambajotra - mila mampifandray tsiroaroa ireo milina 4 ireo, ary mila fifandraisana L2 ny mpanjifa. Azonao atao ny mampiasa switch ary manamboatra vatan-kazo amin'ny lΓ lany ary mamaha ny zava-drehetra amin'ny alΓ lan'ny tetezana linux na, ho an'ireo mpampiasa efa mandroso kokoa, openvswitch (hiverina amin'ity indray mandeha ity izahay). Saingy mety misy tambajotra marobe, ary ny fanosehana tsy tapaka ny L2 amin'ny alΓ lan'ny switch dia tsy ny hevitra tsara indrindra - misy sampana samihafa, biraon'ny serivisy, volana maromaro miandry ny famitana ny fangatahana, herinandro amin'ny famahana olana - amin'ny tontolo maoderina ity. tsy mandeha intsony ny fomba fiasa. Ary arakaraky ny hahafantaran'ny orinasa iray izany no moramora kokoa ny handrosoany. Noho izany, eo anelanelan'ny hypervisors dia hisafidy tambajotra L3 isika izay hifandraisan'ny milina virtoaly, ary ambonin'ity tambajotra L3 ity dia hanangana tambajotra overlay L2 virtoaly izay handehanan'ny fifamoivoizana amin'ny milina virtoaly. Azonao atao ny mampiasa GRE, Geneve na VxLAN ho encapsulation. Andeha isika hifantoka amin'ity farany, na dia tsy dia zava-dehibe loatra aza.
Mila mitady VTEP any amin'ny toerana iray isika (manantena aho fa fantatry ny rehetra ny voambolana VxLAN). Koa satria manana tambajotra L3 avy any amin'ireo mpizara izahay, dia tsy misy manakana anay tsy hametraka VTEP amin'ny mpizara mihitsy, ary ny OVS (OpenvSwitch) dia tena tsara amin'ny fanaovana izany. Vokatr'izany dia nahazo ity drafitra ity izahay:
Satria tsy maintsy zaraina ny fifamoivoizana eo amin'ny VM, ny seranana mankany amin'ny milina virtoaly dia hanana isa vlan samihafa. Ao anatin'ny switch virtoaly iray ihany no misy ny laharan'ny tag, satria rehefa voarakitra ao amin'ny VxLAN isika dia afaka manala azy mora foana, satria hanana VNI isika.
Ankehitriny isika dia afaka mamorona ny milina sy tambajotra virtoaly ho azy ireo tsy misy olana.
Ahoana anefa raha manana milina hafa ny mpanjifa, fa amin'ny tambajotra hafa? Mila fangotana eo anelanelan'ny tambajotra. Hijery safidy tsotra isika rehefa ampiasaina ny zotra afovoany - izany hoe, ny fifamoivoizana dia alefa amin'ny alΓ lan'ny nodes tambajotra manokana (eny, raha ny fitsipika, izy ireo dia mitambatra amin'ny nodes fanaraha-maso, noho izany dia hanana zavatra mitovy isika).
Toa tsy misy sarotra izany - manao tetezana eo amin'ny node fanaraha-maso izahay, mitondra fiara mankany aminy ary avy eo dia mitondra azy any amin'izay ilanay azy. Fa ny olana dia ny mpanjifa RED dia te hampiasa ny tambajotra 10.0.0.0/24, ary ny mpanjifa GREEN dia te hampiasa ny tambajotra 10.0.0.0/24. Izany hoe, manomboka mifanelanelana ireo habaka adiresy. Ankoatr'izay, tsy tian'ny mpanjifa ny ahafahan'ny mpanjifa hafa miditra ao amin'ny tambajotra anatiny, izay misy dikany. Mba hanasarahana ny tambajotra sy ny fifamoivoizana angon-drakitra mpanjifa, dia homenay toerana manokana ho an'ny tsirairay amin'izy ireo. Ny Namespace raha ny marina dia dika mitovy amin'ny tambazotran'ny tambajotra Linux, izany hoe, ny mpanjifa ao amin'ny namespace RED dia mitoka-monina tanteraka amin'ny mpanjifa amin'ny namespace GREEN (na ny lalana eo anelanelan'ireo tambajotra mpanjifa ireo dia avela amin'ny alΓ lan'ny anaran'ny anarana na amin'ny fitaovana fitaterana ambony).
Izany hoe mahazo ity diagram ity isika:
Ny tonelina L2 dia mitambatra avy amin'ny node computing rehetra mankany amin'ny node fanaraha-maso. node misy ny seha-pifandraisana L3 ho an'ireo tambajotra ireo, samy ao amin'ny toerana misy anarana manokana ho an'ny fitokanana.
Na izany aza, hadinontsika ny zava-dehibe indrindra. Ny milina virtoaly dia tsy maintsy manome serivisy ho an'ny mpanjifa, izany hoe, tsy maintsy manana interface ivelany ivelany iray farafahakeliny izay ahafahany mahazo azy. Izany hoe mila mivoaka any ivelany isika. Misy safidy samihafa eto. Andao hanao ny safidy tsotra indrindra. Hanampy tambajotra iray ho an'ny mpanjifa tsirairay izahay, izay manan-kery ao amin'ny tambajotran'ny mpamatsy ary tsy hifanindry amin'ny tambajotra hafa. Ny tambajotra dia afaka mifanelanelana sy mijery VRF samihafa eo amin'ny sisin'ny tambajotra mpamatsy. Hiaina amin'ny anaran'ny mpanjifa tsirairay ihany koa ny angon-drakitra tambajotra. Na izany aza, mbola hivoaka any ivelany izy ireo amin'ny alΓ lan'ny fifandraisana ara-batana (na fatorana, izay lojika kokoa). Mba hampisaraka ny fifamoivoizana mpanjifa, ny fifamoivoizana mivoaka any ivelany dia hasiana marika amin'ny tenifototra VLAN natokana ho an'ny mpanjifa.
Vokatr'izany dia nahazo ity kisary ity izahay:
Fanontaniana mitombina ny hoe maninona no tsy manao vavahady amin'ny node kajy? Tsy olana lehibe izany, ankoatra izany, raha mihodina ny router distributed (DVR) ianao, dia hahomby izany. Amin'ity tranga ity, dia mandinika ny safidy tsotra indrindra amin'ny vavahady afovoany, izay ampiasaina amin'ny default ao amin'ny Openstack. Ho an'ny fiasa avo lenta dia samy hampiasa ny router mizara sy ny teknolojia fanaingoana toy ny SR-IOV sy Passthrough izy ireo, saingy araka ny filazan'izy ireo dia tantara hafa tanteraka izany. Voalohany, andeha hojerentsika ny ampahany fototra, ary avy eo dia hiditra amin'ny antsipiriany.
Raha ny marina, efa azo atao ny drafitra ataontsika, saingy misy ny nuance roa:
Mila miaro ny milinantsika isika, izany hoe mametraka sivana eo amin'ny interface switch mankany amin'ny mpanjifa.
Ataovy izay ahafahan'ny milina virtoaly mahazo adiresy IP ho azy, ka tsy mila miditra ao amin'ny console ianao isaky ny manoratra ny adiresy.
Andeha isika hanomboka amin'ny fiarovana milina. Mba hanaovana izany dia afaka mampiasa banal iptables ianao, nahoana no tsy.
Izany hoe, lasa sarotra kokoa ny topolojiantsika:
Andao handroso. Mila manampy mpizara DHCP isika. Ny toerana tsara indrindra hahitana ny mpizara DHCP ho an'ny mpanjifa tsirairay dia ny node fanaraha-maso efa voalaza etsy ambony, izay misy ny toerana misy ny anaran'ny anarana:
Na izany aza, misy olana kely. Ahoana raha miverina ny zava-drehetra ary tsy hita intsony ny fampahalalana rehetra momba ny fanofana adiresy amin'ny DHCP. Lojika fa homena adiresy vaovao ireo milina, izay tsy dia mety loatra. Misy fomba roa mivoaka eto - na mampiasa anaran-tsehatra ary ampio mpizara DNS ho an'ny mpanjifa tsirairay, dia tsy ho zava-dehibe amintsika manokana ny adiresy (mitovy amin'ny ampahany amin'ny tambajotra amin'ny k8s) - fa misy olana amin'ny tambajotra ivelany, satria Ny adiresy dia azo omena azy ireo amin'ny alΓ lan'ny DHCP ihany koa - mila fampifanarahana amin'ireo mpizara DNS amin'ny sehatra rahona sy mpizara DNS ivelany ianao, izay raha ny hevitro dia tsy dia miovaova loatra, fa azo atao. Na ny safidy faharoa dia ny fampiasana metadata - izany hoe, mitahiry vaovao momba ny adiresy navoakan'ny milina mba hahafantaran'ny mpizara DHCP izay adiresy havoaka amin'ny milina raha efa nahazo adiresy ilay milina. Ny safidy faharoa dia tsotra sy mora kokoa, satria ahafahanao mitahiry fampahalalana fanampiny momba ny fiara. Andeha isika hanampy metadata mpandraharaha amin'ny kisary:
Olana iray hafa izay mendrika hodinihina ihany koa dia ny fahafahana mampiasa tambajotra ivelany iray ho an'ny mpanjifa rehetra, satria ny tambajotra ivelany, raha tsy maintsy manan-kery manerana ny tambajotra iray manontolo, dia ho sarotra - mila mizara sy mifehy ny fizarana ireo tambajotra ireo ianao. Ny fahafahana mampiasa tamba-jotra tokana ivelany efa namboarina ho an'ny mpanjifa rehetra dia tena ilaina rehefa mamorona rahona ho an'ny daholobe. Hanamora ny fametrahana milina izany satria tsy mila mijery angon-drakitra adiresy isika ary misafidy toerana misy adiresy tokana ho an'ny tambajotra ivelany an'ny mpanjifa tsirairay. Ankoatra izany, afaka misoratra anarana mialoha ny tambajotra ivelany ary amin'ny fotoana fametrahana dia mila mampifandray ny adiresy ivelany amin'ny milina mpanjifa ihany.
Ary eto dia tonga manampy anay ny NAT - hataonay fotsiny izay ahafahan'ny mpanjifa miditra amin'ny tontolo ivelany amin'ny alΓ lan'ny toeran'ny anarana mahazatra mampiasa dikanteny NAT. Eny, misy olana kely eto. Tsara izany raha miasa ho mpanjifa ny mpizara mpanjifa fa tsy mpizara - izany hoe manomboka izy fa tsy manaiky fifandraisana. Fa ho antsika kosa dia ny mifanohitra aminβizany. Amin'ity tranga ity, mila manao NAT ho an'ny tanjona isika ka rehefa mahazo fifamoivoizana dia takatry ny node fanaraha-maso fa ity fifamoivoizana ity dia natao ho an'ny milina virtoaly A an'ny mpanjifa A, izay midika fa mila manao fandikana NAT avy amin'ny adiresy ivelany, ohatra 100.1.1.1. .10.0.0.1, mankany amin'ny adiresy anatiny 100. Amin'ity tranga ity, na dia hampiasa tambajotra iray ihany aza ny mpanjifa rehetra, dia voatahiry tanteraka ny fitokana-monina anatiny. Izany hoe mila manao dNAT sy sNAT amin'ny node fanaraha-maso. Ny fampiasana tambajotra tokana misy adiresy mitsingevana na tambajotra ivelany, na izy roa miaraka dia miankina amin'izay tianao hampidirina ao anaty rahona. Tsy hampiditra adiresy mitsingevana amin'ny diagram izahay, fa hamela ireo tambajotra ivelany efa nampiana teo aloha - ny mpanjifa tsirairay dia manana ny tambajotra ivelany (amin'ny diagram dia aseho ho vlan 200 sy XNUMX amin'ny interface ivelany).
Voalohany, tsy misy afa-tsy node fanaraha-maso tokana isika - ny tsy fahombiazany dia hitarika amin'ny firodanan'ny rafitra rehetra. Mba hamahana ity olana ity dia mila manao kΓ΄lejy 3 farafahakeliny ianao. Aleo ampidirintsika amin'ny kisary ity:
Mazava ho azy, ny node rehetra dia synchronize ary rehefa miala ny node mavitrika, node iray hafa no handray ny andraikiny.
Ny olana manaraka dia ny kapila milina virtoaly. Amin'izao fotoana izao dia voatahiry ao amin'ny hypervisors ny tenany, ary raha misy olana amin'ny hypervisor, very ny angon-drakitra rehetra isika - ary ny fisian'ny fanafihana dia tsy hanampy eto raha tsy very ny disk, fa ny mpizara manontolo. Mba hanaovana izany, dia mila manao serivisy izay ho toy ny faran'ny anoloana ho an'ny karazana fitahirizana sasany. Tsy dia zava-dehibe loatra amintsika ny karazana fitehirizana azy, fa tokony hiaro ny angonay amin'ny tsy fahombiazan'ny kapila sy ny node, ary mety ho ny kabinetra manontolo. Misy safidy maromaro eto - misy, mazava ho azy, ny tambajotra SAN miaraka amin'ny Fibre Channel, fa aoka ho marin-toetra - efa relijiozy taloha ny FC - analogue an'ny E1 amin'ny fitaterana - eny, ekeko fa mbola ampiasaina izy io, fa any amin'ny toerana tsy azo atao mihitsy raha tsy misy azy. Noho izany, tsy hametraka an-tsitrapo tambajotra FC aho amin'ny 2020, satria fantatro fa misy safidy hafa mahaliana kokoa. Na dia ho an'ny tsirairay aza dia mety misy ny mino fa ny FC miaraka amin'ny fetrany rehetra no ilaintsika - tsy hiady hevitra aho, samy manana ny heviny ny tsirairay. Na izany aza, ny vahaolana mahaliana indrindra raha ny hevitro dia ny fampiasana SDS, toy ny Ceph.
Ceph dia ahafahanao manangana vahaolana fitahirizana angon-drakitra be dia be miaraka amin'ireo safidy backup azo atao, manomboka amin'ny kaody miaraka amin'ny fanamarinana parity (mitovy amin'ny fanafihana 5 na 6) mifarana amin'ny replication angon-drakitra feno amin'ny kapila samihafa, amin'ny fiheverana ny toerana misy ny kapila ao. mpizara, ary mpizara ao anaty kabinetra, sns.
Mba hananganana Ceph dia mila node 3 fanampiny ianao. Ny fifandraisana amin'ny fitehirizana dia hatao amin'ny alΓ lan'ny tambajotra amin'ny fampiasana sakana, zavatra ary serivisy fitahirizana rakitra. Andao hanampy fitahirizana amin'ny skema:
Fanamarihana: azonao atao koa ny manao nodes compute hyperconverged - izany no foto-kevitra mampitambatra asa maromaro amin'ny node iray - ohatra, fitehirizana + compute - tsy misy manokana node manokana ho an'ny fitehirizana ceph. Hahazo tetika mahazaka lesoka mitovy ihany izahay - satria ny SDS dia hamandrika angona miaraka amin'ny haavon'ny famandrihana nofaritanay. Na izany aza, marimaritra iraisana foana ny node hyperconverged - satria ny node fitehirizana dia tsy manafana rivotra fotsiny araka ny hita amin'ny voalohany (satria tsy misy milina virtoaly ao aminy) - mandany loharanon-karena CPU amin'ny serivisy SDS (raha ny marina dia manao ny zava-drehetra. ny replication sy ny fanarenana aorian'ny tsy fahombiazan'ny nodes, disks, sns.). Izany hoe, ho very ny sasany amin'ny herin'ny node compute ianao raha atambatra amin'ny fitahirizana.
Ireo zavatra rehetra ireo dia mila fehezina amin'ny fomba ahoana - mila zavatra ahafahantsika mamorona milina, tambajotra, router virtoaly, sns. Mba hanaovana izany, dia hanampy serivisy amin'ny node fanaraha-maso izay hiasa ho toy ny dashboard - ny Ny mpanjifa dia afaka mifandray amin'ity vavahadin-tserasera ity amin'ny alΓ lan'ny http/ https ary manao izay rehetra ilainy (tsara, saika).
Vokany, manana rafitra mahazaka fahadisoana isika ankehitriny. Ny singa rehetra amin'ity fotodrafitrasa ity dia tsy maintsy tantanina amin'ny fomba ahoana. Efa nofaritana teo aloha fa ny Openstack dia andiana tetikasa, izay samy manome asa manokana. Araka ny hitantsika, misy singa mihoatra ny ampy izay mila amboarina sy fehezina. Androany isika dia hiresaka momba ny ampahany amin'ny tambajotra.
Architecture neutron
Ao amin'ny OpenStack, dia i Neutron no tompon'andraikitra amin'ny fampifandraisana ireo seranan-tsambo virtoaly amin'ny tambajotra L2 mahazatra, miantoka ny fifamoivoizana eo amin'ny VM izay hita amin'ny tambajotra L2 samihafa, ary koa ny fivoahana ivelany, manome serivisy toy ny NAT, Floating IP, DHCP, sns.
Amin'ny ambaratonga avo, ny fiasan'ny serivisy tambajotra (ny ampahany fototra) dia azo faritana toy izao manaraka izao.
Rehefa manomboka ny VM, ny serivisy tambajotra:
Mamorona seranan-tsambo ho an'ny VM (na seranana) nomena ary mampandre ny serivisy DHCP momba izany;
Ny VM dia mifandray amin'ny seranana (s) noforonina tamin'ny dingana 1;
Mahagaga fa ny asan'i Neutron dia mifototra amin'ny mekanika mahazatra mahazatra ny rehetra izay nitsofoka tao amin'ny Linux - namespaces, iptables, tetezana linux, openvswitch, conntrack, sns.
Tokony hazavaina avy hatrany fa tsy mpanara-maso SDN ny Neutron.
Ny Neutron dia misy singa maromaro mifamatotra:
Openstack-neutron-server dia daemon izay miasa amin'ny fangatahan'ny mpampiasa amin'ny alΓ lan'ny API. Ity demony ity dia tsy mandray anjara amin'ny fisoratana anarana amin'ny fifandraisana amin'ny tambajotra, fa manome ny fampahalalana ilaina amin'izany amin'ny plugins, izay manamboatra ny singa tambajotra irina. Ireo mpiasan'ny Neutron ao amin'ny OpenStack nodes dia misoratra anarana amin'ny mpizara Neutron.
Ny Neutron-server dia fampiharana voasoratra amin'ny python, misy ampahany roa:
Serivisy REST
Plugin Neutron (fototra/serivisy)
Ny serivisy REST dia natao handraisana antso API avy amin'ny singa hafa (ohatra, fangatahana hanome vaovao, sns.)
Plugins dia singa / modules rindrankajy plug-in izay antsoina mandritra ny fangatahana API - izany hoe, amin'ny alΓ lan'izy ireo no miseho ny fandraisan'ny serivisy. Ny plugins dia mizara ho karazany roa - serivisy sy faka. Raha ny fitsipika, ny plugin soavaly dia tompon'andraikitra indrindra amin'ny fitantanana ny habaka adiresy sy ny fifandraisana L2 eo amin'ny VM, ary ny plugins serivisy dia efa manome fiasa fanampiny toy ny VPN na FW.
Ny lisitry ny plugins misy ankehitriny dia azo jerena ohatra eto
openstack-neutron-ml2 dia ny plugin Openstack root mahazatra. Ity plugin ity dia manana maritrano modular (tsy toy ny teo alohany) ary manitsy ny serivisy tambajotra amin'ny alΓ lan'ny mpamily mifandray aminy. Hojerentsika ny plugin ihany aoriana kely, satria raha ny marina dia manome ny fahafaha-manatsara ny OpenStack amin'ny ampahany amin'ny tambajotra. Azo soloina ny plugin root (ohatra, ny Contrail Networking dia manao fanoloana toy izany).
Serivisy RPC (rabbitmq-server) - serivisy manome fitantanana filaharana sy fifandraisana amin'ny serivisy OpenStack hafa, ary koa ny fifandraisana eo amin'ny mpiasan'ny serivisy.
Ny tena mpandraharaha dia L2 agent. Ireo mpiasa ireo dia mandeha amin'ny tsirairay amin'ireo hypervisors, ao anatin'izany ny nodes fanaraha-maso (marika kokoa, amin'ny nodes rehetra izay manome serivisy ho an'ny mpanofa) ary ny tena asany dia ny mampifandray milina virtoaly amin'ny tambajotra L2 mahazatra, ary miteraka fanairana ihany koa rehefa misy hetsika mitranga ( ohatra disable/enable ny port).
Ny manaraka, tsy latsa-danja amin'izany ny mpandraharaha L3 agent. Amin'ny alΓ lan'ny default, ity mpandraharaha ity dia mandeha irery amin'ny node tambajotra (matetika ny node tambajotra dia mitambatra amin'ny node fanaraha-maso) ary manome lalana eo anelanelan'ny tambajotran'ny mpanofa (na eo anelanelan'ny tambajotra sy ny tambajotran'ny mpanofa hafa, ary azo idirana amin'ny tontolo ivelany, manome NAT, ary koa ny serivisy DHCP). Na izany aza, rehefa mampiasa DVR (router distributed) dia miseho amin'ny node compute koa ny filana plugin L3.
Ny L3 agents dia mampiasa ny anaran'ny Linux mba hanomezana ny mpanofa tsirairay ny andian-tambajotra mitoka-monina sy ny fiasan'ny router virtoaly izay mitondra ny fifamoivoizana sy manome serivisy vavahady ho an'ny tambajotra Layer 2.
Database - angon-drakitra momba ny famantarana ny tambajotra, ny subnets, ny seranana, ny dobo, sns.
Raha ny marina, Neutron dia manaiky ny fangatahana API avy amin'ny famoronana sampan-draharahan'ny tambajotra rehetra, manamarina ny fangatahana, ary amin'ny alΓ lan'ny RPC (raha miditra plugin na agent) na REST API (raha mifandray amin'ny SDN) dia mampita amin'ireo mpiasa (amin'ny alΓ lan'ny plugins) ny torolalana ilaina amin'ny fandaminana ny serivisy nangatahana.
Andeha isika hitodika any amin'ny fametrahana fitsapana (ny fomba fametrahana azy ary inona no tafiditra ao anatiny, ho hitantsika any aoriana any amin'ny ampahany azo ampiharina) ary jereo ny toerana misy ny singa tsirairay:
(overcloud) [stack@undercloud ~]$ openstack network agent list
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| 10495de9-ba4b-41fe-b30a-b90ec3f8728b | Open vSwitch agent | overcloud-novacompute-1.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| 1515ad4a-5972-46c3-af5f-e5446dff7ac7 | L3 agent | overcloud-controller-0.localdomain | nova | :-) | UP | neutron-l3-agent |
| 322e62ca-1e5a-479e-9a96-4f26d09abdd7 | DHCP agent | overcloud-controller-0.localdomain | nova | :-) | UP | neutron-dhcp-agent |
| 9c1de2f9-bac5-400e-998d-4360f04fc533 | Open vSwitch agent | overcloud-novacompute-0.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| d99c5657-851e-4d3c-bef6-f1e3bb1acfb0 | Open vSwitch agent | overcloud-controller-0.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| ff85fae6-5543-45fb-a301-19c57b62d836 | Metadata agent | overcloud-controller-0.localdomain | None | :-) | UP | neutron-metadata-agent |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
(overcloud) [stack@undercloud ~]$
Raha ny marina, izany no firafitry ny Neutron manontolo. Ankehitriny dia mendrika ny mandany fotoana kely amin'ny plugin ML2.
Layer Modular 2
Araka ny voalaza etsy ambony, ny plugin dia OpenStack root plugin ary manana rafitra modular.
Ny teo aloha amin'ny plugin ML2 dia nanana rafitra monolithic, izay tsy namela, ohatra, ny fampiasana fifangaroan'ny teknolojia maromaro amin'ny fametrahana iray. Ohatra, tsy afaka mampiasa openvswitch sy linuxbridge miaraka ianao - na ny voalohany na ny faharoa. Noho izany antony izany dia noforonina ny plugin ML2 miaraka amin'ny maritranony.
Ny ML2 dia manana singa roa - karazana mpamily roa: Type drivers sy Mechanism drivers.
Type mpamily mamaritra ny teknolojia izay hampiasaina amin'ny fandaminana ny fifandraisana amin'ny tambajotra, ohatra VxLAN, VLAN, GRE. Mandritra izany fotoana izany, ny mpamily dia mamela ny fampiasana ny teknolojia isan-karazany. Ny teknolojia mahazatra dia VxLAN encapsulation ho an'ny tamba-jotra overlay sy tambajotra ivelany vlan.
Ny mpamily karazana dia ahitana ireto karazana tambajotra manaraka ireto:
Flat - tambajotra tsy misy fanindriana VLANs - tagged tambajotra Local - karazana tambajotra manokana ho an'ny fametrahana rehetra (ilaina ny fametrahana toy izany na ho an'ny mpamorona na ho an'ny fiofanana) GRE - tambajotra overlay mampiasa tonelina GRE VxLAN - tamba-jotra overlay mampiasa tonelina VxLAN
Mpamily mekanika mamaritra fitaovana izay miantoka ny fandaminana ny teknolojia voalaza ao amin'ny karazana mpamily - ohatra, openvswitch, sr-iov, opendaylight, OVN, sns.
Miankina amin'ny fampiharana an'io mpamily io, na ny mpiasan'ny Neutron no ampiasaina, na ny fifandraisana amin'ny mpanara-maso SDN ivelany, izay mikarakara ny olana rehetra mifandraika amin'ny fandaminana ny tambajotra L2, ny lalana, sns.
Ohatra: raha mampiasa ML2 miaraka amin'ny OVS isika, dia misy mpandraharaha L2 napetraka amin'ny node informatika tsirairay izay mitantana OVS. Na izany aza, raha mampiasa OVN na OpenDayLight isika, dia eo ambany fahefan'izy ireo ny fanaraha-maso ny OVS - ny Neutron, amin'ny alΓ lan'ny root plugin, dia manome baiko ho an'ny mpanara-maso, ary efa manao izay nolazainy.
Andeha hojerentsika ny Open vSwitch
Amin'izao fotoana izao, iray amin'ireo singa fototra amin'ny OpenStack ny Open vSwitch.
Rehefa mametraka OpenStack tsy misy SDN fanampiny toy ny Juniper Contrail na Nokia Nuage, OVS no singa fototra amin'ny tambajotra rahona ary miaraka amin'ny iptables, conntrack, namespaces, dia ahafahanao mandamina tamba-jotra overlay multi-tenancy feno. Mazava ho azy, ity singa ity dia azo soloina, ohatra, rehefa mampiasa vahaolana SDN avy amin'ny antoko fahatelo (mpivarotra).
OVS dia lozisialy rindrambaiko open source izay natao hampiasaina amin'ny tontolo virtoaly ho mpanentana fifamoivoizana virtoaly.
Amin'izao fotoana izao, ny OVS dia manana fiasa tena mendrika, izay misy ny teknolojia toa ny QoS, LACP, VLAN, VxLAN, GENEVE, OpenFlow, DPDK, sns.
Fanamarihana: Ny OVS dia tsy noforonina ho toy ny switch malefaka ho an'ny fiasa telecom be entana ary natao kokoa ho an'ny fiasa IT tsy dia mitaky bandwidth toy ny mpizara WEB na mpizara mailaka. Na izany aza, ny OVS dia mivoatra bebe kokoa ary ny fampiharana ny OVS amin'izao fotoana izao dia nanatsara ny fahombiazany sy ny fahaizany, izay ahafahan'ny mpandraharahan'ny fifandraisan-davitra manana fiasa be dia be, ohatra, misy ny fampiharana OVS miaraka amin'ny fanohanana ny fanafainganana ny DPDK.
Misy singa telo manan-danja amin'ny OVS izay tokony ho fantatrao:
vSwitch daemon (ovs-vswitchd) dia dingana natomboka tao amin'ny habaka mpampiasa izay tompon'andraikitra amin'ny fandaharana ny maody kernel - izany hoe, maneho mivantana ny lojika amin'ny fiasan'ny switch.
Mpizara database - angon-drakitra eo an-toerana hita amin'ny mpampiantrano tsirairay mampiasa OVS, izay itehirizana ny fikirakirana. Ny mpanara-maso SDN dia afaka mifandray amin'ny alalan'ity module ity amin'ny alΓ lan'ny protocol OVSDB.
Izany rehetra izany dia miaraka amin'ny andiana fitaovana fitiliana sy fitantanana, toy ny ovs-vsctl, ovs-appctl, ovs-ofctl, sns.
Amin'izao fotoana izao, ny Openstack dia ampiasain'ny mpandraharaha telecom mifindra monina amin'izany, toy ny EPC, SBC, HLR, sns. Ny fiasa sasany dia afaka miaina tsy misy olana amin'ny OVS, fa ohatra, ny EPC dia manodina ny fifamoivoizana amin'ny mpanjifa - avy eo mandalo izany. be dia be ny fifamoivoizana (ankehitriny ny habetsahan'ny fifamoivoizana dia mahatratra an-jatony gigabits isan-tsegondra). Mazava ho azy fa tsy ny hevitra tsara indrindra ny mitondra ny fifamoivoizana toy izany amin'ny alΓ lan'ny habaka kernel (satria eo no misy ny mpandefa azy). Noho izany, matetika ny OVS dia apetraka amin'ny habaka mpampiasa amin'ny alΓ lan'ny teknolojia fanaparitahana DPDK mba handefasana fifamoivoizana avy amin'ny NIC mankany amin'ny habaka mpampiasa mandalo ny kernel.
Fanamarihana: ho an'ny rahona napetraka ho an'ny asa fifandraisan-davitra, dia azo atao ny mamoaka fifamoivoizana avy amin'ny node kajy mandalo mivantana ny OVS mankany amin'ny fitaovana fanodinana. Ny mekanika SR-IOV sy Passthrough dia ampiasaina amin'izany tanjona izany.
Voalohany, andao hametraka fametrahana Openstack tsotra. Koa satria tsy manana andian-server aho ho an'ny fanandramana, dia hanangona ny prototype amin'ny mpizara ara-batana iray avy amin'ny milina virtoaly izahay. Eny, mazava ho azy, ny vahaolana toy izany dia tsy mety amin'ny tanjona ara-barotra, fa mba hahitana ohatra ny fomba fiasan'ny tambajotra ao Openstack, fametrahana toy izany dia ampy ho an'ny maso. Ankoatr'izay, ny fametrahana toy izany dia mahaliana kokoa ho an'ny tanjona fampiofanana - satria afaka misambotra fifamoivoizana ianao, sns.
Satria ny ampahany fototra ihany no ilaintsika, dia tsy afaka mampiasa tambajotra maromaro isika fa manangana ny zava-drehetra amin'ny alΓ lan'ny tambajotra roa ihany, ary ny tambajotra faharoa amin'ity fandaharana ity dia hampiasaina fotsiny amin'ny fidirana amin'ny mpizara undercloud sy DNS. Tsy hikasika ny tambajotra ivelany izahay amin'izao fotoana izao - lohahevitra ho an'ny lahatsoratra lehibe misaraka.
Noho izany, andao hanomboka amin'ny filaharana. Voalohany, teoria kely. Hametraka Openstack amin'ny fampiasana TripleO (Openstack amin'ny Openstack). Ny fototry ny TripleO dia ny fametrahana ny Openstack all-in-one (izany hoe, amin'ny node iray), antsoina hoe undercloud, ary avy eo dia mampiasa ny fahafahan'ny Openstack napetraka mba hametrahana Openstack natao ho an'ny asa, antsoina hoe overcloud. Ny Undercloud dia hampiasa ny fahaiza-manaony hitantana ireo mpizara ara-batana (metaly miboridana) - ny tetikasa Ironic - mba hanomezana hypervisors izay hanao ny andraikitry ny kajy, ny fanaraha-maso, ny node fitehirizana. Izany hoe, tsy mampiasa fitaovana avy amin'ny antoko fahatelo izahay amin'ny fametrahana ny Openstack - mampiasa ny Openstack izahay. Hazava kokoa izany rehefa mandroso ny fametrahana, ka tsy hijanona eo isika ary handroso.
Fanamarihana: Amin'ity lahatsoratra ity, noho ny fahatsorana, dia tsy nampiasa ny fitokana-monina ho an'ny tambajotra Opentack anatiny aho, fa ny zava-drehetra dia ampiasaina amin'ny tambajotra iray ihany. Na izany aza, ny fisian'ny fitokana-monina na ny tsy fisian'ny tambajotra dia tsy misy fiantraikany amin'ny fiasa fototra amin'ny vahaolana - ny zava-drehetra dia hiasa mitovy amin'ny amin'ny fampiasana fitokana-monina, fa ny fifamoivoizana dia handeha amin'ny tambajotra iray ihany. Ho an'ny fametrahana ara-barotra dia ilaina ny mampiasa fitokana-monina amin'ny fampiasana vlan sy interface samihafa. Ohatra, ny fifamoivoizana fitantanana ny fitahirizana ceph sy ny fifamoivoizana angon-drakitra mihitsy (ny fidirana amin'ny masinina amin'ny kapila, sns.) Rehefa mitoka-monina dia mampiasa subnets isan-karazany (Fikarakarana fitehirizana sy fitahirizana) ary izany dia ahafahanao manao ny vahaolana ho mandefitra kokoa amin'ny fizarana ity fifamoivoizana ity, ohatra. , amin'ny seranana samihafa, na mampiasa ny mombamomba ny QoS samihafa ho an'ny fifamoivoizana samihafa mba tsy hanakanana ny fifamoivoizana famantarana. Amin'ny tranga misy antsika dia handeha amin'ny tambajotra iray ihany izy ireo ary raha ny marina dia tsy mametra antsika amin'ny fomba rehetra izany.
Fanamarihana: Satria hitantana milina virtoaly amin'ny tontolo virtoaly mifototra amin'ny milina virtoaly isika, dia mila mamela ny virtoaly virtoaly voalohany.
Azonao atao ny manamarina raha alefa na tsia ny virtualization nested toy izao:
[root@hp-gen9 bormoglotx]# cat /sys/module/kvm_intel/parameters/nested
N
[root@hp-gen9 bormoglotx]#
Raha hitanao ny litera N, dia avelanay ny fanohanana ny virtoaly virtoaly araka ny torolalana rehetra hitanao ao amin'ny tambajotra, ohatra. toy izany .
Fanamarihana: amin'ity tranga ity, ny adiresy ao amin'ny port ovs-br1 dia tsy azo idirana satria tsy misy marika vlan. Mba hamahana izany dia mila mamoaka ny baiko sudo ovs-vsctl set port ovs-br1 tag=100. Na izany aza, aorian'ny famerenana indray dia hanjavona ity marika ity (raha misy mahafantatra ny fomba hitazonana azy amin'ny toerany dia ho feno fankasitrahana aho). Saingy tsy dia zava-dehibe loatra izany, satria mandritra ny fametrahana an'io adiresy io ihany no ilaintsika ary tsy mila izany rehefa apetraka tanteraka ny Openstack.
Mandritra ny fametrahana dia apetrakao daholo ny paramètre ilaina, toy ny anaran'ny milina, ny tenimiafina, ny mpampiasa, ny ntp servers, sns, azonao atao avy hatrany ny manamboatra ny seranana, fa ho ahy manokana, aorian'ny fametrahana dia mora kokoa ny miditra amin'ny milina amin'ny alà lan'ny ny console ary manitsy ny rakitra ilaina. Raha efa manana sary efa vita ianao dia azonao ampiasaina, na manao izay nataoko - alaivo ny sary Centos 7 kely indrindra ary ampiasao izany hametrahana ny VM.
Rehefa vita ny fametrahana dia tokony hanana milina virtoaly ahafahanao mametraka undercloud ianao
[root@hp-gen9 bormoglotx]# virsh list
Id Name State
----------------------------------------------------
6 dns-server running
62 undercloud running
Voalohany, apetraho ireo fitaovana ilaina amin'ny fizotry ny fametrahana:
Fanamarihana: raha tsy mikasa ny hametraka ceph ianao dia tsy mila miditra ny baiko mifandraika amin'ny ceph. Nampiasa ny famotsorana Queens aho, fa afaka mampiasa hafa tianao ianao.
network_gateway β io adiresy eo an-toerana io ihany, izay ho vavahadin'ny fidirana amin'ny tontolo ivelany mandritra ny fametrahana ny node overcloud, mifanitsy amin'ny ip eo an-toerana ihany koa.
undercloud_public_host - Adiresy API ivelany, izay adiresy maimaim-poana avy amin'ny tambajotra mpamatsy dia omena
undercloud_admin_host Adiresy API anatiny, izay adiresy maimaim-poana avy amin'ny tambajotra mpamatsy dia omena
undercloud_nameservers - mpizara DNS
generate_service_certificate - Ity andalana ity dia tena manan-danja amin'ny ohatra ankehitriny, satria raha tsy apetrakao amin'ny diso ianao dia hahazo fahadisoana mandritra ny fametrahana, ny olana dia voalaza ao amin'ny Red Hat bug tracker
local_interface interface tsara amin'ny famatsiana tambajotra. Ity interface ity dia havaozina mandritra ny fametrahana ambanin'ny rahona, noho izany dia mila manana fifandraisana roa amin'ny undercloud ianao - ny iray ho an'ny fidirana azy, ny faharoa ho an'ny fanomezana.
local_mtu β MTU. Koa satria manana laboratoara fitsapana izahay ary manana MTU 1500 aho amin'ny seranan-tsambo OVS, dia ilaina ny mametraka izany ho 1450 mba hahafahan'ireo fonosana voarakitra ao amin'ny VxLAN mandalo.
dhcp_start - ny adiresin'ny dobo adiresy izay ametrahana ny adiresy ho an'ny nodes mandritra ny fametrahana overcloud
dhcp_end - ny adiresy farany amin'ny dobo adiresy izay ametrahana ny adiresy ho an'ny nodes mandritra ny fametrahana overcloud
inspection_iprange - dobo adiresy ilaina amin'ny fandinihana (tsy tokony hifanindry amin'ny dobo etsy ambony)
scheduler_max_attempts - isa ambony indrindra amin'ny andrana hametraka overcloud (tokony ho lehibe kokoa na mitovy amin'ny isan'ny node)
Aorian'ny famariparitana ny rakitra dia azonao atao ny manome ny baiko hametrahana ny undercloud:
openstack undercloud install
Ny dingana dia maharitra 10 ka hatramin'ny 30 minitra arakaraka ny vy. Amin'ny farany dia tokony hahita vokatra toy izao ianao:
vi undercloud.conf
2020-08-13 23:13:12,668 INFO:
#############################################################################
Undercloud install complete.
The file containing this installation's passwords is at
/home/stack/undercloud-passwords.conf.
There is also a stackrc file at /home/stack/stackrc.
These files are needed to interact with the OpenStack services, and should be
secured.
#############################################################################
Ity vokatra ity dia milaza fa nahavita nametraka undercloud ianao ary azonao atao izao ny manamarina ny satan'ny undercloud ary manohy ny fametrahana overcloud.
Raha mijery ny output ifconfig ianao dia ho hitanao fa nisy interface tsara tetezana vaovao niseho
Amin'izao fotoana izao dia manana undercloud ihany isika, ary tsy ampy ny node izay hanangonana ny overcloud. Noho izany, voalohany indrindra, andao hametraka ireo milina virtoaly ilaintsika. Mandritra ny fametrahana, ny undercloud dia hametraka ny OS sy ny rindrambaiko ilaina amin'ny milina overcloud - izany hoe, tsy mila manaparitaka tanteraka ny milina isika, fa mamorona disk (na disks) ho azy ary mamaritra ny masontsivana - izany hoe , raha ny marina, mahazo mpizara miboridana tsy misy OS napetraka eo aminy.
Andao ho any amin'ny lahatahiry miaraka amin'ny kapila an'ny milina virtoaly ary mamorona kapila amin'ny habeny ilaina:
Satria miasa toy ny root isika dia mila manova ny tompon'ireto kapila ireto mba tsy hisian'ny olana amin'ny zo:
[root@hp-gen9 images]# ls -lh
total 5.8G
drwxr-xr-x. 2 qemu qemu 4.0K Aug 13 16:15 backups
-rw-r--r--. 1 root root 61G Aug 14 03:07 compute-1.qcow2
-rw-r--r--. 1 root root 61G Aug 14 03:07 compute-2.qcow2
-rw-r--r--. 1 root root 61G Aug 14 03:07 control-1.qcow2
-rw-------. 1 qemu qemu 41G Aug 14 03:03 dns-server.qcow2
-rw-r--r--. 1 root root 161G Aug 14 03:07 storage-1.qcow2
-rw-r--r--. 1 root root 161G Aug 14 03:07 storage-2.qcow2
-rw-------. 1 qemu qemu 41G Aug 14 03:07 undercloud.qcow2
[root@hp-gen9 images]#
[root@hp-gen9 images]#
[root@hp-gen9 images]# chown qemu:qemu /var/lib/libvirt/images/*qcow2
[root@hp-gen9 images]# ls -lh
total 5.8G
drwxr-xr-x. 2 qemu qemu 4.0K Aug 13 16:15 backups
-rw-r--r--. 1 qemu qemu 61G Aug 14 03:07 compute-1.qcow2
-rw-r--r--. 1 qemu qemu 61G Aug 14 03:07 compute-2.qcow2
-rw-r--r--. 1 qemu qemu 61G Aug 14 03:07 control-1.qcow2
-rw-------. 1 qemu qemu 41G Aug 14 03:03 dns-server.qcow2
-rw-r--r--. 1 qemu qemu 161G Aug 14 03:07 storage-1.qcow2
-rw-r--r--. 1 qemu qemu 161G Aug 14 03:07 storage-2.qcow2
-rw-------. 1 qemu qemu 41G Aug 14 03:08 undercloud.qcow2
[root@hp-gen9 images]#
Fanamarihana: raha tsy mikasa ny hametraka ceph ianao mba hianarana azy, dia tsy mamorona nodes 3 farafahakeliny miaraka amin'ny kapila roa farafahakeliny ny baiko, fa ao amin'ny mΓ΄dely dia manondro fa ampiasaina ny kapila virtoaly vda, vdb, sns.
Tsara, mila mamaritra ireto milina rehetra ireto isika izao:
Any amin'ny farany dia misy baiko -print-xml > /tmp/storage-1.xml, izay mamorona rakitra xml misy famaritana ny milina tsirairay ao amin'ny /tmp/ lahatahiry; raha tsy ampidirinao dia tsy ho afaka mamantatra milina virtoaly.
Ankehitriny dia mila mamaritra ireo milina rehetra ireo amin'ny virsh isika:
virsh define --file /tmp/control-1.xml
virsh define --file /tmp/compute-1.xml
virsh define --file /tmp/compute-2.xml
virsh define --file /tmp/storage-1.xml
virsh define --file /tmp/storage-2.xml
[root@hp-gen9 ~]# virsh list --all
Id Name State
----------------------------------------------------
6 dns-server running
64 undercloud running
- compute-1 shut off
- compute-2 shut off
- control-1 shut off
- storage-1 shut off
- storage-2 shut off
[root@hp-gen9 ~]#
Ankehitriny dia misy nuance kely - tripleO dia mampiasa IPMI hitantana ireo mpizara mandritra ny fametrahana sy introspection.
Ny introspection dia ny dingan'ny fisafoana ny fitaovana mba hahazoana ny masontsivana ilaina amin'ny fanomezana ny nodes. Ny introspection dia atao amin'ny fampiasana ironic, serivisy natao hiasa amin'ny mpizara vy tsy misy dikany.
Saingy izao no olana - raha manana seranan-tsambo misaraka ny mpizara IPMI hardware (na seranan-tsambo ifampizarana, saingy tsy zava-dehibe izany), dia tsy manana seranana toy izany ny milina virtoaly. Eto dia tonga manampy antsika ny tehina antsoina hoe vbmc - fitaovana ahafahanao maka tahaka ny seranan-tsambo IPMI. Ity nuance ity dia mendrika ny hojerena indrindra ho an'ireo izay te hanangana laboratoara toy izany amin'ny hypervisor ESXI - raha ny marina, tsy fantatro raha manana analogue ny vbmc izy io, noho izany dia ilaina ny manontany tena momba ity olana ity alohan'ny hametrahana ny zava-drehetra. .
Mametraka vbmc:
yum install yum install python2-virtualbmc
Raha tsy mahita ilay fonosana ny OS anao dia ampio ny tahiry:
Ankehitriny dia mametraka ny utility izahay. Ny zava-drehetra eto dia banal hatramin'ny fahafaham-baraka. Ankehitriny dia lojika fa tsy misy mpizara ao amin'ny lisitry ny vbmc
[root@hp-gen9 ~]# vbmc list
[root@hp-gen9 ~]#
Mba hisehoan'izy ireo dia tsy maintsy ambara amin'ny tanana toy izao izy ireo:
Heveriko fa mazava ny fehezanteny baiko tsy misy fanazavana. Na izany aza, amin'izao fotoana izao ny fotoam-pivorianay rehetra dia ao amin'ny sata DOWN. Mba hifindran'izy ireo amin'ny toeran'ny UP dia mila mamela azy ireo ianao:
[root@hp-gen9 ~]# vbmc start control-1
2020-08-14 03:15:57,826.826 13149 INFO VirtualBMC [-] Started vBMC instance for domain control-1
[root@hp-gen9 ~]# vbmc start storage-1
2020-08-14 03:15:58,316.316 13149 INFO VirtualBMC [-] Started vBMC instance for domain storage-1
[root@hp-gen9 ~]# vbmc start storage-2
2020-08-14 03:15:58,851.851 13149 INFO VirtualBMC [-] Started vBMC instance for domain storage-2
[root@hp-gen9 ~]# vbmc start compute-1
2020-08-14 03:15:59,307.307 13149 INFO VirtualBMC [-] Started vBMC instance for domain compute-1
[root@hp-gen9 ~]# vbmc start compute-2
2020-08-14 03:15:59,712.712 13149 INFO VirtualBMC [-] Started vBMC instance for domain compute-2
[root@hp-gen9 ~]#
[root@hp-gen9 ~]#
[root@hp-gen9 ~]# vbmc list
+-------------+---------+---------+------+
| Domain name | Status | Address | Port |
+-------------+---------+---------+------+
| compute-1 | running | :: | 7004 |
| compute-2 | running | :: | 7005 |
| control-1 | running | :: | 7001 |
| storage-1 | running | :: | 7002 |
| storage-2 | running | :: | 7003 |
+-------------+---------+---------+------+
[root@hp-gen9 ~]#
Ary ny fikasihana farany - mila manitsy ny fitsipiky ny firewall ianao (na manafoana azy tanteraka):
Andeha isika handeha amin'ny undercloud ary hijery fa mandeha ny zava-drehetra. Ny adiresin'ny milina mpampiantrano dia 192.168.255.200, ao amin'ny undercloud dia nampiana ny fonosana ipmitool ilaina mandritra ny fanomanana ny fametrahana:
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power status
Chassis Power is off
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power on
Chassis Power Control: Up/On
[stack@undercloud ~]$
[root@hp-gen9 ~]# virsh list
Id Name State
----------------------------------------------------
6 dns-server running
64 undercloud running
65 control-1 running
Araka ny hitanao dia nahomby tamin'ny alΓ lan'ny vbmc ny node fanaraha-maso. Andeha hovonointsika ary handroso:
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power off
Chassis Power Control: Down/Off
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power status
Chassis Power is off
[stack@undercloud ~]$
[root@hp-gen9 ~]# virsh list --all
Id Name State
----------------------------------------------------
6 dns-server running
64 undercloud running
- compute-1 shut off
- compute-2 shut off
- control-1 shut off
- storage-1 shut off
- storage-2 shut off
[root@hp-gen9 ~]#
Ny dingana manaraka dia ny fisafoana ireo nodes izay hametrahana ny overcloud. Mba hanaovana izany dia mila manomana rakitra json miaraka amin'ny famaritana ny nodesy isika. Mariho fa, tsy toy ny fametrahana amin'ny lohamilina miboridana, ny rakitra dia manondro ny seranan-tsambo misy ny vbmc mandeha ho an'ny milina tsirairay.
[root@hp-gen9 ~]# virsh domiflist --domain control-1
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:20:a2:2f
- network ovs-network-1 virtio 52:54:00:3f:87:9f
[root@hp-gen9 ~]# virsh domiflist --domain compute-1
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:98:e9:d6
[root@hp-gen9 ~]# virsh domiflist --domain compute-2
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:6a:ea:be
[root@hp-gen9 ~]# virsh domiflist --domain storage-1
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:79:0b:cb
[root@hp-gen9 ~]# virsh domiflist --domain storage-2
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:a7:fe:27
Fanamarihana: manana interface roa ny node fanaraha-maso, fa amin'ity tranga ity dia tsy zava-dehibe izany, amin'ity fametrahana ity dia ho ampy ho antsika ny iray.
Ankehitriny dia manomana ny rakitra json izahay. Mila manondro ny adiresy poppy amin'ny seranan-tsambo izay hanatanterahana ny famatsiana, ny mason'ny nodes, omeo anarana izy ireo ary manondro ny fomba ahatongavana any ipmi:
Ankehitriny dia mila manomana sary ho an'ny maneso isika. Mba hanaovana izany, misintona azy ireo amin'ny wget ary mametraka:
(undercloud) [stack@undercloud ~]$ sudo wget https://images.rdoproject.org/queens/delorean/current-tripleo-rdo/overcloud-full.tar --no-check-certificate
(undercloud) [stack@undercloud ~]$ sudo wget https://images.rdoproject.org/queens/delorean/current-tripleo-rdo/ironic-python-agent.tar --no-check-certificate
(undercloud) [stack@undercloud ~]$ ls -lh
total 1.9G
-rw-r--r--. 1 stack stack 447M Aug 14 10:26 ironic-python-agent.tar
-rw-r--r--. 1 stack stack 1.5G Aug 14 10:26 overcloud-full.tar
-rw-------. 1 stack stack 916 Aug 13 23:10 stackrc
-rw-r--r--. 1 stack stack 15K Aug 13 22:50 undercloud.conf
-rw-------. 1 stack stack 2.0K Aug 13 22:50 undercloud-passwords.conf
(undercloud) [stack@undercloud ~]$ mkdir images/
(undercloud) [stack@undercloud ~]$ tar -xpvf ironic-python-agent.tar -C ~/images/
ironic-python-agent.initramfs
ironic-python-agent.kernel
(undercloud) [stack@undercloud ~]$ tar -xpvf overcloud-full.tar -C ~/images/
overcloud-full.qcow2
overcloud-full.initrd
overcloud-full.vmlinuz
(undercloud) [stack@undercloud ~]$
(undercloud) [stack@undercloud ~]$ ls -lh images/
total 1.9G
-rw-rw-r--. 1 stack stack 441M Aug 12 17:24 ironic-python-agent.initramfs
-rwxr-xr-x. 1 stack stack 6.5M Aug 12 17:24 ironic-python-agent.kernel
-rw-r--r--. 1 stack stack 53M Aug 12 17:14 overcloud-full.initrd
-rw-r--r--. 1 stack stack 1.4G Aug 12 17:18 overcloud-full.qcow2
-rwxr-xr-x. 1 stack stack 6.5M Aug 12 17:14 overcloud-full.vmlinuz
(undercloud) [stack@undercloud ~]$
Mampiakatra sary ao amin'ny undercloud:
(undercloud) [stack@undercloud ~]$ openstack overcloud image upload --image-path ~/images/
Image "overcloud-full-vmlinuz" was uploaded.
+--------------------------------------+------------------------+-------------+---------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+------------------------+-------------+---------+--------+
| c2553770-3e0f-4750-b46b-138855b5c385 | overcloud-full-vmlinuz | aki | 6761064 | active |
+--------------------------------------+------------------------+-------------+---------+--------+
Image "overcloud-full-initrd" was uploaded.
+--------------------------------------+-----------------------+-------------+----------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+-----------------------+-------------+----------+--------+
| 949984e0-4932-4e71-af43-d67a38c3dc89 | overcloud-full-initrd | ari | 55183045 | active |
+--------------------------------------+-----------------------+-------------+----------+--------+
Image "overcloud-full" was uploaded.
+--------------------------------------+----------------+-------------+------------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+----------------+-------------+------------+--------+
| a2f2096d-c9d7-429a-b866-c7543c02a380 | overcloud-full | qcow2 | 1487475712 | active |
+--------------------------------------+----------------+-------------+------------+--------+
Image "bm-deploy-kernel" was uploaded.
+--------------------------------------+------------------+-------------+---------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+------------------+-------------+---------+--------+
| e413aa78-e38f-404c-bbaf-93e582a8e67f | bm-deploy-kernel | aki | 6761064 | active |
+--------------------------------------+------------------+-------------+---------+--------+
Image "bm-deploy-ramdisk" was uploaded.
+--------------------------------------+-------------------+-------------+-----------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+-------------------+-------------+-----------+--------+
| 5cf3aba4-0e50-45d3-929f-27f025dd6ce3 | bm-deploy-ramdisk | ari | 461759376 | active |
+--------------------------------------+-------------------+-------------+-----------+--------+
(undercloud) [stack@undercloud ~]$
Manamarina fa voapetraka avokoa ny sary rehetra
(undercloud) [stack@undercloud ~]$ openstack image list
+--------------------------------------+------------------------+--------+
| ID | Name | Status |
+--------------------------------------+------------------------+--------+
| e413aa78-e38f-404c-bbaf-93e582a8e67f | bm-deploy-kernel | active |
| 5cf3aba4-0e50-45d3-929f-27f025dd6ce3 | bm-deploy-ramdisk | active |
| a2f2096d-c9d7-429a-b866-c7543c02a380 | overcloud-full | active |
| 949984e0-4932-4e71-af43-d67a38c3dc89 | overcloud-full-initrd | active |
| c2553770-3e0f-4750-b46b-138855b5c385 | overcloud-full-vmlinuz | active |
+--------------------------------------+------------------------+--------+
(undercloud) [stack@undercloud ~]$
Zavatra iray hafa - mila manampy mpizara DNS ianao:
Afaka manome ny baiko ho an'ny introspection isika izao:
(undercloud) [stack@undercloud ~]$ openstack overcloud node import --introspect --provide inspection.json
Started Mistral Workflow tripleo.baremetal.v1.register_or_update. Execution ID: d57456a3-d8ed-479c-9a90-dff7c752d0ec
Waiting for messages on queue 'tripleo' with no timeout.
5 node(s) successfully moved to the "manageable" state.
Successfully registered node UUID b4b2cf4a-b7ca-4095-af13-cc83be21c4f5
Successfully registered node UUID b89a72a3-6bb7-429a-93bc-48393d225838
Successfully registered node UUID 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e
Successfully registered node UUID bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8
Successfully registered node UUID 766ab623-464c-423d-a529-d9afb69d1167
Waiting for introspection to finish...
Started Mistral Workflow tripleo.baremetal.v1.introspect. Execution ID: 6b4d08ae-94c3-4a10-ab63-7634ec198a79
Waiting for messages on queue 'tripleo' with no timeout.
Introspection of node b89a72a3-6bb7-429a-93bc-48393d225838 completed. Status:SUCCESS. Errors:None
Introspection of node 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e completed. Status:SUCCESS. Errors:None
Introspection of node bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 completed. Status:SUCCESS. Errors:None
Introspection of node 766ab623-464c-423d-a529-d9afb69d1167 completed. Status:SUCCESS. Errors:None
Introspection of node b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 completed. Status:SUCCESS. Errors:None
Successfully introspected 5 node(s).
Started Mistral Workflow tripleo.baremetal.v1.provide. Execution ID: f5594736-edcf-4927-a8a0-2a7bf806a59a
Waiting for messages on queue 'tripleo' with no timeout.
5 node(s) successfully moved to the "available" state.
(undercloud) [stack@undercloud ~]$
Araka ny hitanao amin'ny vokatra, ny zava-drehetra dia vita tsy misy hadisoana. Andeha hojerentsika fa ao amin'ny fanjakana misy ny node rehetra:
(undercloud) [stack@undercloud ~]$ openstack baremetal node list
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | None | power off | available | False |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | None | power off | available | False |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | None | power off | available | False |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | None | power off | available | False |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | None | power off | available | False |
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
(undercloud) [stack@undercloud ~]$
Raha any amin'ny fanjakana hafa ny nodes, matetika azo fehezina, dia nisy zavatra tsy nety ary mila mijery ny log ianao ary fantaro ny antony nahatonga izany. Ataovy ao an-tsaina fa amin'ity tranga ity dia mampiasa virtoaly isika ary mety hisy bibikely mifandray amin'ny fampiasana milina virtoaly na vbmc.
Avy eo dia mila manondro izay node hanao izay asa - izany hoe, manondro ny mombamomba izay ny node hametraka:
Amin'ny fametrahana tena izy dia ampiasaina ho azy ny mΓ΄dely namboarina, amin'ity tranga ity dia hanasarotra ny fizotrany izany, satria tsy maintsy hazavaina ny fanovana tsirairay ao amin'ny mΓ΄dely. Araka ny efa nosoratana teo aloha, na dia fametrahana tsotra aza dia ampy ho hitantsika ny fomba fiasany.
Fanamarihana: ny --libvirt-type qemu variable dia ilaina amin'ity tranga ity, satria hampiasa virtoaly nested izahay. Raha tsy izany dia tsy ho afaka hampandeha milina virtoaly ianao.
Amin'izao fotoana izao dia manana adiny iray eo ho eo ianao, na mety mihoatra (miankina amin'ny fahaiza-manaon'ny fitaovana) ary afaka manantena ianao fa aorian'io fotoana io dia hahita ity soratra manaraka ity ianao:
Andeha hojerentsika fa mandeha tsara ny zava-drehetra. Ao amin'ny lahatahiry lahatahiry an-tranon'ny mpampiasa dia misy rakitra roa - ny stackrc iray (ho an'ny fitantanana ny undercloud) ary ny overcloudrc faharoa (ho an'ny fitantanana overcloud). Ireo rakitra ireo dia tsy maintsy faritana ho loharano, satria misy fampahalalana ilaina amin'ny fanamarinana.
(undercloud) [stack@undercloud ~]$ openstack server list
+--------------------------------------+-------------------------+--------+-------------------------+----------------+--------------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------------------+--------+-------------------------+----------------+--------------+
| fd7d36f4-ce87-4b9a-93b0-add2957792de | overcloud-controller-0 | ACTIVE | ctlplane=192.168.255.15 | overcloud-full | control |
| edc77778-8972-475e-a541-ff40eb944197 | overcloud-novacompute-1 | ACTIVE | ctlplane=192.168.255.26 | overcloud-full | compute |
| 5448ce01-f05f-47ca-950a-ced14892c0d4 | overcloud-cephstorage-1 | ACTIVE | ctlplane=192.168.255.34 | overcloud-full | ceph-storage |
| ce6d862f-4bdf-4ba3-b711-7217915364d7 | overcloud-novacompute-0 | ACTIVE | ctlplane=192.168.255.19 | overcloud-full | compute |
| e4507bd5-6f96-4b12-9cc0-6924709da59e | overcloud-cephstorage-0 | ACTIVE | ctlplane=192.168.255.44 | overcloud-full | ceph-storage |
+--------------------------------------+-------------------------+--------+-------------------------+----------------+--------------+
(undercloud) [stack@undercloud ~]$
(undercloud) [stack@undercloud ~]$ source overcloudrc
(overcloud) [stack@undercloud ~]$
(overcloud) [stack@undercloud ~]$ openstack project list
+----------------------------------+---------+
| ID | Name |
+----------------------------------+---------+
| 4eed7d0f06544625857d51cd77c5bd4c | admin |
| ee1c68758bde41eaa9912c81dc67dad8 | service |
+----------------------------------+---------+
(overcloud) [stack@undercloud ~]$
(overcloud) [stack@undercloud ~]$
(overcloud) [stack@undercloud ~]$ openstack network agent list
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| 10495de9-ba4b-41fe-b30a-b90ec3f8728b | Open vSwitch agent | overcloud-novacompute-1.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| 1515ad4a-5972-46c3-af5f-e5446dff7ac7 | L3 agent | overcloud-controller-0.localdomain | nova | :-) | UP | neutron-l3-agent |
| 322e62ca-1e5a-479e-9a96-4f26d09abdd7 | DHCP agent | overcloud-controller-0.localdomain | nova | :-) | UP | neutron-dhcp-agent |
| 9c1de2f9-bac5-400e-998d-4360f04fc533 | Open vSwitch agent | overcloud-novacompute-0.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| d99c5657-851e-4d3c-bef6-f1e3bb1acfb0 | Open vSwitch agent | overcloud-controller-0.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| ff85fae6-5543-45fb-a301-19c57b62d836 | Metadata agent | overcloud-controller-0.localdomain | None | :-) | UP | neutron-metadata-agent |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
(overcloud) [stack@undercloud ~]$
Ny fametrahana ahy dia mbola mila fikasihana kely iray - manampy lalana amin'ny mpanara-maso, satria amin'ny tambajotra hafa ny milina iasako. Mba hanaovana izany, mandehana any amin'ny control-1 eo ambanin'ny kaonty heat-admin ary soraty ny lalana
(undercloud) [stack@undercloud ~]$ ssh [email protected]
Last login: Fri Aug 14 09:47:40 2020 from 192.168.255.1
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$ sudo ip route add 10.169.0.0/16 via 192.168.255.254
Eny, afaka mandeha any amin'ny faravodilanitra ianao izao. Ny fampahalalana rehetra - adiresy, fidirana ary tenimiafina - dia ao amin'ny rakitra /home/stack/overcloudrc. Toy izao ny diagrama farany:
Teny an-dalana, tamin'ny fametrahana anay, ny adiresin'ny milina dia navoaka tamin'ny alΓ lan'ny DHCP ary, araka ny hitanao, dia navoakan'ny "kisendrasendra" izy ireo. Azonao atao ny mamaritra tsara ao amin'ny mΓ΄dely izay adiresy tokony ampifandraisina amin'ny milina mandritra ny fametrahana, raha ilaina izany.
Ahoana ny fandehan'ny fifamoivoizana eo amin'ny milina virtoaly?
Ato amin'ity lahatsoratra ity isika dia hijery safidy telo ho an'ny fifamoivoizana mandalo
Amin'izao fotoana izao, ny node dia manana tetezana ovs telo - br-int, br-tun, br-ex. Eo anelanelan'izy ireo, araka ny hitantsika, dia misy andiana interface tsara. Ho fanamorana ny fahatakarana, andeha hojerentsika ireo fifandraisana rehetra ireo amin'ny diagram ary hojerentsika izay mitranga.
Raha jerena ny adiresin'ny tonelina VxLAN dia hita fa ny tonelina iray dia natsangana ho compute-1 (192.168.255.26), ny tonelina faharoa dia mijery ny control-1 (192.168.255.15). Fa ny tena mahaliana dia ny hoe tsy manana fifandraisana ara-batana ny br-ex, ary raha mijery ny fikorianan'ny rivotra ianao dia ho hitanao fa ity tetezana ity dia afaka mampiato ny fifamoivoizana amin'izao fotoana izao.
Araka ny fitsipika voalohany, izay rehetra avy amin'ny seranan-tsambo phy-br-ex dia tsy maintsy ariana.
Raha ny marina dia tsy misy toerana hafa hidiran'ny fifamoivoizana amin'ity tetezana ity afa-tsy amin'ity interface ity (ny interface miaraka amin'ny br-int), ary raha jerena ny fitetezana dia efa niditra tao amin'ny tetezana ny fifamoivoizana BUM.
Izany hoe, amin'ny alΓ lan'ny tonelina VxLAN ihany no ahafahan'ny fifamoivoizana miala amin'ity node ity fa tsy misy zavatra hafa. Na izany aza, raha velominao ny DVR dia hiova ny toe-draharaha, fa mbola hiatrika izany indray izahay. Rehefa mampiasa fitokana-monina, ohatra amin'ny fampiasana vlans, dia tsy hanana interface L3 iray amin'ny vlan 0 ianao, fa interface maro. Na izany aza, ny fifamoivoizana VxLAN dia handao ny node amin'ny fomba mitovy, fa koa ao anaty karazana vlan voatokana.
Nandamina ny node compute isika, andao hiroso amin'ny node fanaraha-maso.
Raha ny marina, afaka milaza isika fa mitovy daholo ny zava-drehetra, fa ny adiresy IP dia tsy eo amin'ny interface ara-batana intsony fa eo amin'ny tetezana virtoaly. Izany no atao satria io seranan-tsambo io no seranan-tsambo hivoahanβny fifamoivoizana any ivelany.
Manana milina virtoaly roa izahay isaky ny node solosaina. Amin'ny fampiasana compute-0 ho ohatra, andeha hojerentsika ny fomba ampidirana ny zava-drehetra.
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh list
Id Name State
----------------------------------------------------
1 instance-00000001 running
3 instance-00000003 running
[heat-admin@overcloud-novacompute-0 ~]$
Ny milina dia manana fifandraisana virtoaly tokana - tap95d96a75-a0:
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface Type Source Model MAC
-------------------------------------------------------
tap95d96a75-a0 bridge qbr95d96a75-a0 virtio fa:16:3e:44:98:20
[heat-admin@overcloud-novacompute-0 ~]$
Ity interface ity dia mijery ao amin'ny tetezana linux:
[heat-admin@overcloud-novacompute-0 ~]$ sudo brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.0242904c92a8 no
qbr5bd37136-47 8000.5e4e05841423 no qvb5bd37136-47
tap5bd37136-47
qbr95d96a75-a0 8000.de076cb850f6 no qvb95d96a75-a0
tap95d96a75-a0
[heat-admin@overcloud-novacompute-0 ~]$
Araka ny hitanao avy amin'ny vokatra dia tsy misy afa-tsy fifandraisana roa ao amin'ny tetezana - tap95d96a75-a0 sy qvb95d96a75-a0.
Eto dia mendrika ny hieritreritra kely momba ireo karazana fitaovana tambajotra virtoaly ao amin'ny OpenStack:
vtap - interface virtoaly mifatotra amin'ny ohatra (VM)
qbr - Linux tetezana
qvb sy qvo - vEth mpivady mifandray amin'ny Linux tetezana sy Open vSwitch tetezana
br-int, br-tun, br-vlan β Sokafy ny tetezana vSwitch
patch-, int-br-, phy-br- - Sokafy vSwitch patch interfaces mampifandray tetezana
qg, qr, ha, fg, sg - Sokafy ny seranana vSwitch ampiasain'ny fitaovana virtoaly hifandraisana amin'ny OVS
Araka ny azonao, raha manana seranan-tsambo qvb95d96a75-a0 ao amin'ny tetezana isika, izay mpivady vEth, dia misy ny mpifanandrina aminy, izay tokony ho antsoina hoe qvo95d96a75-a0. Andeha hojerentsika hoe inona ny seranan-tsambo ao amin'ny OVS.
Araka ny hitantsika, ny seranan-tsambo dia ao amin'ny br-int. Ny Br-int dia miasa toy ny switch izay mamarana ny seranan-tsambo virtoaly. Ho fanampin'ny qvo95d96a75-a0, ny port qvo5bd37136-47 dia hita ao amin'ny vokatra. Ity no seranana mankany amin'ny milina virtoaly faharoa. Vokatr'izany dia toy izao ny kisary ataontsika:
Fanontaniana izay tokony hahaliana avy hatrany ny mpamaky mahay - inona ny tetezana linux eo anelanelan'ny seranan-tsambo virtoaly sy ny seranan-tsambo OVS? Ny zava-misy dia ny fiarovana ny milina dia ampiasaina ny vondrona fiarovana, izay tsy inona fa iptables. OVS dia tsy miasa amin'ny iptables, noho izany dia noforonina io "crutch". Na izany aza, lasa lany andro - nosoloina conntrack amin'ny famoahana vaovao.
Izany hoe, amin'ny farany ny drafitra dia toy izao manaraka izao:
Koa satria ireo VM roa ireo dia hita ao amin'ny tambajotra L2 mitovy ary amin'ny hypervisor iray ihany, ny fifamoivoizana eo anelanelan'izy ireo dia hivezivezy eo an-toerana amin'ny alΓ lan'ny br-int, satria ireo milina roa ireo dia ho ao amin'ny VLAN iray ihany:
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface Type Source Model MAC
-------------------------------------------------------
tap95d96a75-a0 bridge qbr95d96a75-a0 virtio fa:16:3e:44:98:20
[heat-admin@overcloud-novacompute-0 ~]$
[heat-admin@overcloud-novacompute-0 ~]$
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000003
Interface Type Source Model MAC
-------------------------------------------------------
tap5bd37136-47 bridge qbr5bd37136-47 virtio fa:16:3e:83:ad:a4
[heat-admin@overcloud-novacompute-0 ~]$
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl fdb/show br-int
port VLAN MAC Age
6 1 fa:16:3e:83:ad:a4 0
3 1 fa:16:3e:44:98:20 0
[heat-admin@overcloud-novacompute-0 ~]$
Masinina roa amin'ny hypervisors samy hafa amin'ny tambajotra L2 mitovy
Andeha hojerentsika izao ny fandehan'ny fifamoivoizana eo anelanelan'ny milina roa amin'ny tamba-jotra L2 mitovy, fa hita amin'ny hypervisors samihafa. Raha ny marina, tsy hisy fiovana firy, ny fifamoivoizana eo anelanelan'ny hypervisors dia handeha amin'ny tonelina vxlan. Andeha isika hijery ohatra iray.
Adiresin'ny milina virtoaly izay hijerena ny fifamoivoizana:
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface Type Source Model MAC
-------------------------------------------------------
tap95d96a75-a0 bridge qbr95d96a75-a0 virtio fa:16:3e:44:98:20
[heat-admin@overcloud-novacompute-0 ~]$
[heat-admin@overcloud-novacompute-1 ~]$ sudo virsh domiflist instance-00000002
Interface Type Source Model MAC
-------------------------------------------------------
tape7e23f1b-07 bridge qbre7e23f1b-07 virtio fa:16:3e:72:ad:53
[heat-admin@overcloud-novacompute-1 ~]$
Mijery ny latabatra fandefasana amin'ny br-int amin'ny compute-0 izahay:
Ny Mac dia ao amin'ny latabatra fandefasana br-int amin'ny compute-1, ary araka ny hita amin'ny famoahana etsy ambony dia hita amin'ny port 2, izay seranan-tsambo mankany br-tun:
Izany hoe, ny fonosana voaray dia hanidina mankany amin'ny seranana 3, izay efa misy milina virtoaly instance-00000003.
Ny hatsaran'ny fametrahana ny Openstack amin'ny fianarana amin'ny fotodrafitrasa virtoaly dia ny ahafahantsika misambotra mora foana ny fifamoivoizana eo amin'ny hypervisors ary mahita ny zava-mitranga aminy. Izao no hataontsika izao, mihazakazaka tcpdump amin'ny seranan-tsambo vnet mankany amin'ny compute-0:
[root@hp-gen9 bormoglotx]# tcpdump -vvv -i vnet3
tcpdump: listening on vnet3, link-type EN10MB (Ethernet), capture size 262144 bytes
*****************omitted*******************
04:39:04.583459 IP (tos 0x0, ttl 64, id 16868, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.19.39096 > 192.168.255.26.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 8012, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.1.85 > 10.0.1.88: ICMP echo request, id 5634, seq 16, length 64
04:39:04.584449 IP (tos 0x0, ttl 64, id 35181, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.26.speedtrace-disc > 192.168.255.19.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 59124, offset 0, flags [none], proto ICMP (1), length 84)
10.0.1.88 > 10.0.1.85: ICMP echo reply, id 5634, seq 16, length 64
*****************omitted*******************
Ny andalana voalohany dia mampiseho fa ny Patek avy amin'ny adiresy 10.0.1.85 dia mankany amin'ny adiresy 10.0.1.88 (fifindran'ny ICMP), ary voafono ao anaty fonosana VxLAN misy vni 22 ary ny fonosana dia avy amin'ny mpampiantrano 192.168.255.19 (compute-0) mankany amin'ny 192.168.255.26. .1 ( compute-XNUMX). Azontsika atao ny manamarina fa ny VNI dia mifanaraka amin'ilay voalaza ao amin'ny ovs.
Andao hiverina amin'ity andalana actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:2. 0x16 dia vni amin'ny rafitra isa hexadecimal. Andao avadika ho rafitra faha-16 ity isa ity:
16 = 6*16^0+1*16^1 = 6+16 = 22
Izany hoe, vni mifanitsy amin'ny zava-misy.
Ny andalana faharoa dia mampiseho ny fifamoivoizana miverina, eny, tsy misy dikany ny manazava izany, mazava ny zava-drehetra ao.
Ny tranga farany amin'izao fotoana izao dia ny fandehanana eo anelanelan'ny tambajotra ao anatin'ny tetikasa iray mampiasa router virtoaly. Mandinika tranga tsy misy DVR izahay (hojerentsika amin'ny lahatsoratra hafa), ka ny routing dia mitranga amin'ny node tambajotra. Amin'ny toe-javatra misy antsika, ny node tambajotra dia tsy napetraka ao amin'ny sampana misaraka ary eo amin'ny node fanaraha-maso.
Voalohany, andeha hojerentsika fa mandeha ny lalana:
$ ping 10.0.2.8
PING 10.0.2.8 (10.0.2.8): 56 data bytes
64 bytes from 10.0.2.8: seq=0 ttl=63 time=7.727 ms
64 bytes from 10.0.2.8: seq=1 ttl=63 time=3.832 ms
^C
--- 10.0.2.8 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 3.832/5.779/7.727 ms
Satria amin'ity tranga ity dia tsy maintsy mandeha any amin'ny vavahady ny fonosana ary alefa any, mila mitady ny adiresy poppy amin'ny vavahady isika, izay hijerena ny latabatra ARP amin'ny ohatra:
$ arp
host-10-0-1-254.openstacklocal (10.0.1.254) at fa:16:3e:c4:64:70 [ether] on eth0
host-10-0-1-1.openstacklocal (10.0.1.1) at fa:16:3e:e6:2c:5c [ether] on eth0
host-10-0-1-90.openstacklocal (10.0.1.90) at fa:16:3e:83:ad:a4 [ether] on eth0
host-10-0-1-88.openstacklocal (10.0.1.88) at fa:16:3e:72:ad:53 [ether] on eth0
Andeha hojerentsika hoe aiza no tokony halefa ny fifamoivoizana miaraka amin'ny tanjona (10.0.1.254) fa:16:3e:c4:64:70:
Tonga any amin'ny node fanaraha-maso ny fifamoivoizana, noho izany dia mila mandeha any isika ary hijery hoe ahoana no hitranga.
Araka ny tsaroanao, ny node fanaraha-maso ao anatiny dia mitovy tanteraka amin'ny node compute - ireo tetezana telo mitovy, ny br-ex ihany no manana seranana ara-batana izay ahafahan'ny node mandefa fifamoivoizana any ivelany. Ny famoronana ohatra dia nanova ny fikirakirana teo amin'ny nodes compute - linux bridge, iptables ary interfaces dia nampiana tao amin'ny nodes. Ny famoronana tambajotra sy ny router virtoaly dia namela ny marika amin'ny fanamafisana ny node fanaraha-maso.
Noho izany, mazava ho azy fa ny adiresy MAC vavahady dia tsy maintsy ao amin'ny latabatra fandefasana br-int eo amin'ny node fanaraha-maso. Andeha hojerentsika fa ao izy io ary aiza no tadiaviny:
Ny Mac dia hita avy amin'ny port qr-0c52b15f-8f. Raha miverina amin'ny lisitry ny seranan-tsambo virtoaly ao amin'ny Openstack isika, ity karazana seranana ity dia ampiasaina hampifandraisana ireo fitaovana virtoaly isan-karazany amin'ny OVS. Raha ho marimarina kokoa, ny qr dia seranan-tsambo mankany amin'ny router virtoaly, izay aseho ho toy ny namespace.
Andeha hojerentsika hoe inona ny toerana misy ny anaran'ny mpizara:
Kopia telo. Fa raha tsaraina amin'ny anarana dia azonao fantarina ny tanjon'ny tsirairay amin'izy ireo. Hiverina amin'ny tranga misy ID 0 sy 1 izahay aty aoriana, liana amin'ny namespace qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe izahay:
[heat-admin@overcloud-controller-0 ~]$ sudo ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe ip route
10.0.1.0/24 dev qr-0c52b15f-8f proto kernel scope link src 10.0.1.254
10.0.2.0/24 dev qr-92fa49b5-54 proto kernel scope link src 10.0.2.254
[heat-admin@overcloud-controller-0 ~]$
Ity sehatra anarana ity dia misy roa anatiny izay noforoninay teo aloha. Samy nampiana ny br-int ny seranana virtoaly roa. Andeha hojerentsika ny adiresy mac amin'ny seranan-tsambo qr-0c52b15f-8f, satria ny fifamoivoizana, raha jerena ny adiresy mac alehany, dia nandeha tamin'ity interface ity.
Ny fifamoivoizana dia miditra ao amin'ny tonelina mba hanao compute-1. Eny, amin'ny compute-1 dia tsotra ny zava-drehetra - manomboka amin'ny br-tun ny fonosana dia mankany amin'ny br-int ary avy eo mankany amin'ny interface virtoaly:
[heat-admin@overcloud-novacompute-1 ~]$ brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.02429c001e1c no
qbr3210e8ec-c0 8000.ea27f45358be no qvb3210e8ec-c0
tap3210e8ec-c0
qbre7e23f1b-07 8000.b26ac0eded8a no qvbe7e23f1b-07
tape7e23f1b-07
[heat-admin@overcloud-novacompute-1 ~]$
[heat-admin@overcloud-novacompute-1 ~]$ sudo virsh domiflist instance-00000004
Interface Type Source Model MAC
-------------------------------------------------------
tap3210e8ec-c0 bridge qbr3210e8ec-c0 virtio fa:16:3e:6c:ad:9c
[heat-admin@overcloud-novacompute-1 ~]$
Raha ny marina, nandeha tany amin'ny fonosana izahay. Heveriko fa voamarikao fa nandalo tonelina vxlan samihafa ny fifamoivoizana ary nivoaka niaraka tamin'ny VNI samihafa. Andeha hojerentsika hoe karazana VNI ireo, ary avy eo dia hanangona fanariam-pako eo amin'ny seranan-tsambo fanaraha-maso ny node ary ho azo antoka fa mandeha tsara araka ny voalaza etsy ambony ny fifamoivoizana.
Noho izany, ny tonelina hanaovana compute-0 dia manana ireto hetsika manaraka ireto=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:3. Andao hamadika 0x16 ho rafitra isa decimal:
0x16 = 6*16^0+1*16^1 = 6+16 = 22
Ny tonelina hanaovana compute-1 dia manana VNI manaraka: actions=load:0->NXM_OF_VLAN_TCI[],load:0x63->NXM_NX_TUN_ID[],output:2. Andao hamadika 0x63 ho rafitra isa decimal:
0x63 = 3*16^0+6*16^1 = 3+96 = 99
Eny ary, andeha hojerentsika ny fanariam-pako:
[root@hp-gen9 bormoglotx]# tcpdump -vvv -i vnet4
tcpdump: listening on vnet4, link-type EN10MB (Ethernet), capture size 262144 bytes
*****************omitted*******************
04:35:18.709949 IP (tos 0x0, ttl 64, id 48650, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.19.41591 > 192.168.255.15.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 49042, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.1.85 > 10.0.2.8: ICMP echo request, id 5378, seq 9, length 64
04:35:18.710159 IP (tos 0x0, ttl 64, id 23360, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.15.38983 > 192.168.255.26.4789: [no cksum] VXLAN, flags [I] (0x08), vni 99
IP (tos 0x0, ttl 63, id 49042, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.1.85 > 10.0.2.8: ICMP echo request, id 5378, seq 9, length 64
04:35:18.711292 IP (tos 0x0, ttl 64, id 43596, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.26.42588 > 192.168.255.15.4789: [no cksum] VXLAN, flags [I] (0x08), vni 99
IP (tos 0x0, ttl 64, id 55103, offset 0, flags [none], proto ICMP (1), length 84)
10.0.2.8 > 10.0.1.85: ICMP echo reply, id 5378, seq 9, length 64
04:35:18.711531 IP (tos 0x0, ttl 64, id 8555, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.15.38983 > 192.168.255.19.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 63, id 55103, offset 0, flags [none], proto ICMP (1), length 84)
10.0.2.8 > 10.0.1.85: ICMP echo reply, id 5378, seq 9, length 64
*****************omitted*******************
Ny fonosana voalohany dia fonosana vxlan avy amin'ny mpampiantrano 192.168.255.19 (compute-0) mba hampiantrano 192.168.255.15 (control-1) miaraka amin'ny vni 22, ao anatiny misy fonosana ICMP avy amin'ny mpampiantrano 10.0.1.85 mankany amin'ny mpampiantrano 10.0.2.8. Araka ny kajy etsy ambony, ny vni dia mifanaraka amin'ny zavatra hitanay tamin'ny vokatra.
Ny fonosana faharoa dia fonosana vxlan avy amin'ny mpampiantrano 192.168.255.15 (control-1) mba hampiantrano 192.168.255.26 (compute-1) miaraka amin'ny vni 99, ao anatiny misy fonosana ICMP avy amin'ny mpampiantrano 10.0.1.85 mankany amin'ny 10.0.2.8. Araka ny kajy etsy ambony, ny vni dia mifanaraka amin'ny zavatra hitanay tamin'ny vokatra.
Ny fonosana roa manaraka dia ny fifamoivoizana miverina avy amin'ny 10.0.2.8 fa tsy 10.0.1.85.
Izany hoe, tamin'ny farany dia nahazo ny rafitra fanaraha-maso node manaraka:
Toa izany ve? Adinonay ny toerana misy anarana roa:
Raha niresaka momba ny rafitry ny sehatra rahona izahay, dia tsara raha mahazo adiresy ho azy avy amin'ny mpizara DHCP ny milina. Ireo dia mpizara DHCP roa ho an'ny tambajotranay roa 10.0.1.0/24 sy 10.0.2.0/24.
Andeha hojerentsika fa marina izany. Adiresy iray ihany no ao amin'ity velarana anarana ity - 10.0.1.1 - ny adiresin'ny mpizara DHCP mihitsy, ary tafiditra ao anatin'ny br-int ihany koa izany:
Eny ary, tadidio fa milina 4 fotsiny ity, tambajotra anatiny 2 ary router virtoaly iray... Tsy manana tambajotra ivelany eto izahay ankehitriny, tetikasa maro samihafa, samy manana ny tambajotrany (mifanindry), ary manana nesorina ny router iray, ary tamin'ny farany, tsy nisy afa-tsy node fanaraha-maso iray ihany tao amin'ny dabilio fitsapana (ho an'ny fandeferana diso dia tsy maintsy misy kΓ΄lejy telo node). Lojika fa amin'ny varotra dia "kely" sarotra kokoa ny zava-drehetra, fa amin'ity ohatra tsotra ity dia azontsika ny fomba tokony hiasana - na manana 3 na 300 namespaces ianao dia mazava ho azy fa zava-dehibe, fa avy amin'ny fomba fijery ny fiasan'ny rafitra iray manontolo, tsy hisy hiova be... na dia tsy hampiditra SDN mpivarotra sasany aza ianao. Saingy tantara hafa tanteraka izany.
Manantena aho fa mahaliana. Raha manana fanamarihana/fanampiny ianao, na any amin'ny toerana nandaingako tanteraka (olona aho ary ny hevitro dia ho subjective foana) - soraty izay tokony ahitsy/ampiana - hanitsy/ampianay ny zava-drehetra.
Ho famaranana, te-hilaza teny vitsivitsy momba ny fampitahana ny Openstack (na lavanila sy mpivarotra) amin'ny vahaolana rahona avy amin'ny VMWare aho - Nametraka an'io fanontaniana io matetika loatra aho tato anatin'ny roa taona lasa ary, raha ny marina dia miteny aho. efa leo ihany fa mbola. Raha ny hevitro dia sarotra be ny mampitaha ireo vahaolana roa ireo, saingy azo lazaina fa misy ny tsy fahampiana amin'ireo vahaolana roa ireo ary rehefa misafidy vahaolana iray dia mila mandanjalanja ny tombony sy ny tsy fahampiana.
Raha vahaolana entin'ny vondrom-piarahamonina ny OpenStack, dia manan-jo hanao izay tiany fotsiny ny VMWare (vakio - inona no mahasoa azy) ary lojika izany - satria orinasa ara-barotra efa zatra mitady vola amin'ny mpanjifany. Saingy misy iray lehibe sy matavy FA - azonao atao ny miala amin'ny OpenStack, ohatra avy amin'ny Nokia, ary miaraka amin'ny fandaniana kely dia mifindra amin'ny vahaolana avy amin'ny, ohatra, Juniper (Contrail Cloud), saingy mety tsy ho afaka hiala amin'ny VMWare ianao. . Amiko dia toa izao ireo vahaolana roa ireo - Openstack (vendor) dia tranom-borona tsotra ametrahana anao, saingy manana fanalahidy ianao ary afaka miala amin'ny fotoana rehetra. Ny VMWare dia tranom-borona volamena, ny tompony dia manana ny fanalahidin'ny tranom-borona ary handoa be anao izany.
Tsy mampiroborobo ny vokatra voalohany na ny faharoa aho - misafidy izay ilainao ianao. Fa raha manana safidy toy izany aho dia hifidy vahaolana roa - VMWare ho an'ny IT cloud (enta-mavesatra ambany, fitantanana mora), OpenStack avy amin'ny mpivarotra sasany (Nokia sy Juniper dia manome vahaolana turnkey tena tsara) - ho an'ny rahona Telecom. Tsy hampiasa ny Openstack ho an'ny IT madio aho - toy ny mitifitra fody miaraka amin'ny tafondro, saingy tsy hitako izay contraindications amin'ny fampiasana azy afa-tsy ny famerana. Na izany aza, ny fampiasana VMWare amin'ny fifandraisan-davitra dia toy ny mitaona vato voatorotoro ao anaty Ford Raptor - tsara tarehy avy any ivelany, fa ny mpamily dia tsy maintsy manao dia 10 fa tsy iray.
Raha ny hevitro, ny fatiantoka lehibe indrindra amin'ny VMWare dia ny fanakatonana tanteraka - ny orinasa dia tsy hanome anao fampahalalana momba ny fomba fiasany, ohatra, vSAN na inona ao amin'ny kernel hypervisor - tsy mahasoa fotsiny izany - izany hoe, ianao. tsy lasa manam-pahaizana manokana amin'ny VMWare - raha tsy misy ny fanohanan'ny mpivarotra, dia voaheloka ianao (matetika aho mihaona amin'ireo manam-pahaizana VMWare izay very hevitra amin'ny fanontaniana tsy misy dikany). Amiko ny VMWare dia mividy fiara mihidy ny kapaoty - eny, mety manana manam-pahaizana manokana afaka manova ny fehin-tsetroka ianao, fa izay nivarotra anao io vahaolana io ihany no afaka manokatra ny kapa. Izaho manokana dia tsy tiako ny vahaolana tsy azoko atao. Holazainao fa mety tsy voatery hiditra ao ambanin'ny satroka ianao. Eny, azo atao izany, fa hijery anao aho rehefa mila manangona asa lehibe ao amin'ny rahona avy amin'ny milina virtoaly 20-30, tambajotra 40-50, ny antsasany te-hivoaka, ary ny tapany faharoa dia mangataka. Fanafainganana SR-IOV, raha tsy izany dia mila roapolo amin'ireo fiara ireo ianao - raha tsy izany dia tsy ho ampy ny fampisehoana.
Misy fomba fijery hafa, ka ianao ihany no afaka manapa-kevitra izay hofidiana ary, ny tena zava-dehibe dia ianao no tompon'andraikitra amin'ny safidinao. Heveriko fotsiny izany - olona nahita sy nikasika vokatra 4 farafahakeliny - Nokia, Juniper, Red Hat ary VMWare. Izany hoe manana zavatra azo ampitahaina aho.