Réamhrá don chuid líonra den bhonneagar scamall

Réamhrá don chuid líonra den bhonneagar scamall

Tá néalríomhaireacht ag dul isteach níos doimhne agus níos doimhne isteach inár saol agus is dócha nach bhfuil duine singil ann nár bhain úsáid as aon néalseirbhís ar a laghad uair amháin. Mar sin féin, cad é go díreach scamall agus conas a oibríonn sé, is beag duine a fhios, fiú ag leibhéal smaoineamh. Tá 5G ag teacht chun cinn cheana féin agus tá an bonneagar teileachumarsáide ag tosú ag bogadh ó réitigh cholún go réitigh scamall, díreach mar a rinne sé nuair a bhog sé ó réitigh chrua-earraí go hiomlán go “piléir” fíorúlaithe.

Sa lá atá inniu beimid ag caint faoi dhomhan inmheánach an bhonneagair scamall, go háirithe féachfaimid ar bhunghnéithe an líonra.

Cad is scamall ann? An fíorúlú céanna - dearcadh próifíle?

Níos mó ná ceist loighciúil. Níl - ní fíorúlú é seo, cé nach bhféadfaí é a dhéanamh gan é. Breathnaímid ar dhá shainmhíniú:

Néalríomhaireacht (dá ngairtear Cloud anseo feasta) Is samhail é chun rochtain éasca le húsáid a sholáthar ar acmhainní ríomhaireachta dáilte nach mór a imscaradh agus a sheoladh ar éileamh leis an bhfoighne is ísle agus is féidir agus leis an gcostas is lú ar an soláthraí seirbhíse.

Fíorúlú - is é seo an cumas aonán fisiceach amháin (mar shampla, freastalaí) a roinnt ina roinnt cinn fhíorúla, rud a mhéadaíonn úsáid acmhainní (mar shampla, bhí 3 fhreastalaí lódáilte agat ag 25-30 faoin gcéad, tar éis fíorúlaithe gheobhaidh tú 1 fhreastalaí luchtaithe ag 80-90 faoin gcéad). Ar ndóigh, itheann virtualization suas cuid de na hacmhainní - ní mór duit chun beatha an hypervisor, áfach, mar atá léirithe ag cleachtadh, is fiú an cluiche an choinneal. Is sampla idéalach de fhíorúiliú VMWare, a ullmhaíonn meaisíní fíorúla go foirfe, nó mar shampla KVM, is fearr liom, ach is ábhar blas é seo.

Bainimid úsáid as fíorúlú gan é a bhaint amach, agus úsáideann fiú ródairí iarainn fíorúlú cheana féin - mar shampla, sa leagan is déanaí de JunOS, tá an córas oibriúcháin suiteáilte mar mheaisín fíorúil ar bharr dáileadh fíor-ama Linux (Wind River 9). Ach ní scamall é virtualization, ach ní féidir leis an scamall a bheith ann gan fíorúlú.

Tá fíorúlú ar cheann de na bloic thógála ar a bhfuil an scamall tógtha.

Scamall a dhéanamh trí roinnt hypervisors a bhailiú go díreach i bhfearann ​​L2 amháin, ag cur cúpla leabhar súgartha yaml chun vlans a chlárú go huathoibríoch trí chineál éigin insible agus rud éigin cosúil le córas ceolfhoirne a chur isteach chun meaisíní fíorúla a chruthú go huathoibríoch, ní oibreoidh sé sin. Beidh sé níos cruinne, ach ní hé an Frankenstein mar thoradh air sin an scamall a theastaíonn uainn, cé go bhféadfadh sé a bheith ina aisling deiridh do dhaoine eile. Ina theannta sin, má ghlacann tú an Openstack céanna, is Frankenstein fós é go bunúsach, ach OH Bhuel, ná déanaimis labhairt faoi sin faoi láthair.

Ach tuigim ón sainmhíniú a chuirtear i láthair thuas nach bhfuil sé iomlán soiléir cad is féidir a thabhairt i ndáiríre scamall.

Mar sin, soláthraíonn doiciméad ó NIST (An Institiúid Náisiúnta um Chaighdeáin agus Teicneolaíocht) 5 phríomhthréith ar cheart go mbeadh néal-bhonneagar:

Seirbhís a sholáthar arna iarraidh sin. Ní mór rochtain saor in aisce a thabhairt don úsáideoir ar na hacmhainní ríomhaireachta a leithdháiltear dó (cosúil le líonraí, dioscaí fíorúla, cuimhne, croíleacáin próiseálaí, etc.), agus ní mór na hacmhainní seo a sholáthar go huathoibríoch - is é sin, gan idirghabháil ón soláthraí seirbhíse.

Fáil leathan ar sheirbhís. Ní mór rochtain ar acmhainní a sholáthar trí mheicníochtaí caighdeánacha chun gur féidir ríomhairí caighdeánacha agus cliaint tanaí agus gléasanna soghluaiste a úsáid.

Acmhainní a chomhcheangal i linnte. Ní mór go mbeadh comhthiomsuithe acmhainní in ann acmhainní a sholáthar do chliaint iolracha ag an am céanna, ag cinntiú go bhfuil cliaint aonraithe agus saor ó chomhthionchar agus ó iomaíocht le haghaidh acmhainní. Cuirtear líonraí san áireamh sna linnte freisin, rud a thugann le fios go bhféadfaí seoltaí forluiteacha a úsáid. Ní mór go mbeadh linnte in ann scála a dhéanamh ar éileamh. Trí úsáid a bhaint as linnte is féidir an leibhéal riachtanach lamháltais locht acmhainne agus astarraingt acmhainní fisiceacha agus fíorúla a sholáthar - ní chuirtear ach an tacar acmhainní a d’iarr sé ar fáil d’fhaighteoir na seirbhíse (áit a bhfuil na hacmhainní sin suite go fisiciúil, ar cé mhéad freastalaithe agus lasca - ní chuireann sé ábhar don chliant). Mar sin féin, ní mór dúinn a chur san áireamh nach mór don soláthraí a chinntiú go áirithint trédhearcach na n-acmhainní seo.

Oiriúnú tapa ar choinníollacha difriúla. Ní mór do sheirbhísí a bheith solúbtha - soláthar tapa acmhainní, a n-athdháileadh, acmhainní a chur leis nó a laghdú ar iarratas an chliaint, agus ar thaobh an chliaint ba chóir go mbeadh an mothú go bhfuil na hacmhainní scamall gan teorainn. Ar mhaithe le tuiscint, mar shampla, ní fheiceann tú rabhadh go bhfuil cuid de do spás diosca in Apple iCloud imithe toisc go bhfuil an tiomántán crua ar an bhfreastalaí briste síos, agus go mbriseann tiomántáin síos. Ina theannta sin, ar do chuid, tá féidearthachtaí na seirbhíse seo beagnach gan teorainn - ní mór duit 2 TB - gan aon fhadhb, d'íoc tú agus fuair tú é. Is féidir sampla den chineál céanna a thabhairt le Google.Drive nó Yandex.Disk.

Féidearthacht an tseirbhís a chuirtear ar fáil a thomhas. Ní mór do chórais néal acmhainní a chaitear a rialú agus a bharrfheabhsú go huathoibríoch, agus caithfidh na meicníochtaí sin a bheith trédhearcach don úsáideoir agus don soláthraí seirbhíse araon. Is é sin, is féidir leat a sheiceáil i gcónaí cé mhéad acmhainní atá tú féin agus do chliaint a chaitheamh.

Is fiú smaoineamh ar an bhfíric go bhfuil na ceanglais seo den chuid is mó ceanglais maidir le scamall poiblí, mar sin le haghaidh scamall príobháideach (is é sin, scamall seolta do riachtanais inmheánacha na cuideachta), is féidir na ceanglais seo a choigeartú beagán. Mar sin féin, tá siad fós le déanamh, nó ní bhfaighidh muid na buntáistí uile a bhaineann le néalríomhaireacht.

Cén fáth a bhfuil scamall ag teastáil uainn?

Mar sin féin, aon teicneolaíocht nua nó atá ann cheana féin, cruthaítear aon phrótacal nua le haghaidh rud éigin (go maith, ach amháin i gcás RIP-ng, ar ndóigh). Níl prótacal ag teastáil ó aon duine ar mhaithe le prótacal (bhuel, ach amháin i gcás RIP-ng, ar ndóigh). Tá sé loighciúil go gcruthaítear an Néal chun seirbhís de chineál éigin a sholáthar don úsáideoir/chliant. Táimid go léir eolach ar ar a laghad cúpla seirbhísí scamall, mar shampla Dropbox nó Google.Docs, agus creidim go n-úsáideann an chuid is mó daoine iad go rathúil - mar shampla, scríobhadh an t-alt seo ag baint úsáide as seirbhís scamall Google.Docs. Ach níl sna seirbhísí néil atá ar eolas againn ach cuid de chumais an néil - níos cruinne, níl iontu ach seirbhís de chineál SaaS. Is féidir linn seirbhís scamall a sholáthar ar thrí bhealach: i bhfoirm SaaS, PaaS nó IaaS. Braitheann an tseirbhís atá uait ar do mhianta agus ar do chumas.

Breathnaímid ar gach ceann in ord:

Bogearraí mar Sheirbhís (SaaS) Is samhail é chun seirbhís iomlán a sholáthar don chliant, mar shampla, seirbhís ríomhphoist mar Yandex.Mail nó Gmail. Sa mhúnla seachadta seirbhíse seo, ní dhéanann tusa, mar chliant, aon ní i ndáiríre ach amháin na seirbhísí a úsáid - is é sin, ní gá duit smaoineamh ar an tseirbhís a bhunú, ar lamháltas nó ar iomarcaíocht na lochtanna. Is é an rud is mó gan do phasfhocal a chur i mbaol; déanfaidh soláthraí na seirbhíse seo an chuid eile duit. Ó thaobh an tsoláthraí seirbhíse, tá sé freagrach go hiomlán as an tseirbhís ar fad - ó chrua-earraí an fhreastalaí agus córais oibriúcháin óstaigh go dtí socruithe bunachar sonraí agus bogearraí.

Ardán mar Sheirbhís (PaaS) — при использовании данной модели поставщик услуг предоставляет клиенту заготовку под сервис, например возьмем Web сервер. The service provider provided the client with a virtual server (in fact, a set of resources, such as RAM/CPU/Storage/Nets, etc.), and even installed the OS and necessary software on this server, however, the configuration of Déanann an cliant an stuif seo go léir agus as feidhmíocht na seirbhíse freagraíonn an cliant. Поставщик услуг, как и в прошлом случае отвечает за работоспособность физического оборудования, гипервизоров, самой виртуальной машины, ее сетевую доступность и т д, но сам сервис уже вне его зоны ответственности.

Bonneagar mar Sheirbhís (IaaS) - tá an cur chuige seo níos suimiúla cheana féin, go deimhin, soláthraíonn an soláthraí seirbhíse bonneagar iomlán fíorúilithe don chliant - is é sin, roinnt sraith (linn) acmhainní, mar shampla Cores CPU, RAM, Líonraí, etc. Tá gach rud eile suas go dtí an cliant - cad ba mhaith leis an gcliant a dhéanamh leis na hacmhainní seo laistigh den linn leithdháilte (cuóta) - níl sé thar a bheith tábhachtach don soláthraí. Cibé an bhfuil an cliant ag iarraidh a VEPC féin a chruthú nó fiú oibreoir mion a chruthú agus seirbhísí cumarsáide a sholáthar - gan aon cheist - déan é. I gcás den sórt sin, tá an soláthraí seirbhíse freagrach as acmhainní a sholáthar, a lamháltas lochtanna agus infhaighteacht, chomh maith leis an OS a ligeann dóibh na hacmhainní seo a chomhthiomsú agus iad a chur ar fáil don chliant leis an gcumas acmhainní a mhéadú nó a laghdú ag am ar bith. ar iarratas an chliaint. Cumraíonn an cliant gach meaisín fíorúil agus tinsel eile é féin tríd an tairseach agus consól féinseirbhíse, lena n-áirítear líonraí a bhunú (seachas líonraí seachtracha).

Cad is OpenStack ann?

I ngach ceann de na trí rogha, tá OS ag teastáil ón soláthraí seirbhíse a chuirfidh ar a gcumas bonneagar scamall a chruthú. Go deimhin, le SaaS, tá níos mó ná rannán amháin freagrach as an gcairn iomlán teicneolaíochtaí - tá rannán ann atá freagrach as an mbonneagar - is é sin, cuireann sé IaaS ar fáil do rannán eile, cuireann an rannán seo SaaS ar fáil don chliant. Tá OpenStack ar cheann de na córais oibriúcháin scamall a ligeann duit a lán lasca, freastalaithe agus córais stórála a bhailiú isteach i linn acmhainní amháin, an linn choiteann seo a roinnt ina bhfo -chlóis (tionóntaí) agus na hacmhainní seo a sholáthar do chliaint thar an líonra.

OpenStack Is córas oibriúcháin néal é a ligeann duit linnte móra acmhainní ríomhaireachta, stóráil sonraí agus acmhainní líonra a rialú, arna soláthar agus arna mbainistiú trí API ag baint úsáide as meicníochtaí fíordheimhnithe caighdeánacha.

I bhfocail eile, is sraith de thionscadail bogearraí saor in aisce é seo atá deartha chun seirbhísí néal a chruthú (poiblí agus príobháideacha) - is é sin, sraith uirlisí a ligeann duit freastalaí agus trealamh a aistriú isteach i linn aonair acmhainní, a bhainistiú. na hacmhainní seo, ag soláthar an leibhéal riachtanach lamháltais lochtanna .

Agus an t-ábhar seo á scríobh, tá cuma mar seo ar struchtúr OpenStack:
Réamhrá don chuid líonra den bhonneagar scamall
Pictiúr tógtha ó openstack.org

Comhlíonann gach ceann de na comhpháirteanna atá san áireamh in OpenStack feidhm shonrach. Ligeann an ailtireacht dháilte seo duit sraith na gcomhpháirteanna feidhmiúla a theastaíonn uait a áireamh sa réiteach. Mar sin féin, is comhpháirteanna fréamhacha iad roinnt comhpháirteanna agus beidh neamh-inoibritheacht iomlán nó páirteach an tuaslagáin ina iomláine mar thoradh ar iad a bhaint. De ghnáth déantar na comhpháirteanna seo a aicmiú mar:

  • Painéal na nIonstraimí — GUI gréasán-bhunaithe chun seirbhísí OpenStack a bhainistiú
  • Keystone is seirbhís aitheantais láraithe é a sholáthraíonn feidhmiúlacht fíordheimhnithe agus údaraithe do sheirbhísí eile, chomh maith le dintiúir úsáideoirí agus a róil a bhainistiú.
  • Neodrón - seirbhís líonra a sholáthraíonn nascacht idir comhéadain seirbhísí éagsúla OpenStack (lena n-áirítear nascacht idir VManna agus a rochtain ar an domhan lasmuigh)
  • luaith - Soláthraíonn sé rochtain ar stóráil bloc do mheaisíní fíorúla
  • Nova — bainistiú saolré na meaisíní fíorúla
  • Sracfhéachaint — stór íomhánna meaisíní fíorúla agus grianghraif
  • Swift — soláthraíonn sé rochtain ar an réad stórála
  • Ceiliméadar — seirbhís a sholáthraíonn an cumas teiliméadracht a bhailiú agus na hacmhainní atá ar fáil agus a chaitear a thomhas
  • Teas — ceolfhoirneoireacht bunaithe ar theimpléid chun acmhainní a chruthú agus a sholáthar go huathoibríoch

Is féidir liosta iomlán de na tionscadail go léir agus a gcuspóir a fheiceáil anseo.

Is seirbhís é gach comhpháirt OpenStack a chomhlíonann feidhm shonrach agus a sholáthraíonn API chun an fheidhm sin a bhainistiú agus idirghníomhú le seirbhísí córais oibriúcháin scamall eile chun bonneagar aontaithe a chruthú. Mar shampla, soláthraíonn Nova bainistíocht acmhainní ríomhaireachta agus API chun rochtain a fháil ar na hacmhainní seo a chumrú, soláthraíonn Glance bainistíocht íomhá agus API chun iad a bhainistiú, soláthraíonn Cinder stóráil bloc agus API chun é a bhainistiú, etc. Tá na feidhmeanna go léir idirnasctha ar bhealach an-dlúth.

Mar sin féin, má fhéachann tú air, tá gach seirbhís a ritheann in OpenStack ar deireadh thiar de chineál éigin meaisín fíorúil (nó coimeádán) ceangailte leis an líonra. Éiríonn an cheist - cén fáth a bhfuil an oiread sin eilimintí de dhíth orainn?

A ligean ar dul tríd an algartam le haghaidh a chruthú meaisín fíorúil agus é a nascadh leis an líonra agus stórála leanúnach i Openstack.

  1. Nuair a chruthaíonn tú iarratas chun meaisín a chruthú, bíodh sé ina iarratas trí Horizon (Deais) nó ina iarratas tríd an CLI, is é an chéad rud a tharlaíonn ná údarú d'iarratas ar Keystone - an féidir leat meaisín a chruthú, an bhfuil an ceart an líonra seo a úsáid, an ndéanann do dhréachtchuóta, etc.
  2. Fíordheimhníonn Keystone d’iarratas agus gineann sé comhartha aitheantais sa teachtaireacht freagartha, a úsáidfear a thuilleadh. Tar éis freagra a fháil ó Keystone, seoltar an t-iarratas i dtreo Nova (nova api).
  3. Seiceálann Nova-api bailíocht d’iarratais trí theagmháil a dhéanamh le Keystone ag baint úsáide as an chomhartha údar a gineadh roimhe seo
  4. Déanann Keystone fíordheimhniú agus soláthraíonn sé faisnéis faoi cheadanna agus srianta bunaithe ar an chomhartha údair seo.
  5. Cruthaíonn Nova-api iontráil don VM nua i mbunachar sonraí nova agus cuireann sé an t-iarratas chun an meaisín a chruthú chuig nova-scheduler.
  6. Roghnaíonn Nova-scheduler an t-óstach (nód ríomhaire) ar a n-imscarfar an VM bunaithe ar na paraiméadair, na meáchain agus na criosanna sonraithe. Scríobhtar taifead de seo agus an VM ID chuig nova-database.
  7. Ansin, déanann nova-scheduler teagmháil le nova-compute le hiarratas ar shampla a imscaradh. Teagmhálaithe Nova-compute nova-conductor chun faisnéis a fháil faoi pharaiméadair an mheaisín (is eilimint nova é nova-conductor a fheidhmíonn mar seachfhreastalaí idir nova-database agus nova-compute, a chuireann teorainn le líon na n-iarratas chuig nova-database chun fadhbanna le bunachar sonraí a sheachaint laghdú comhsheasmhachta ualaigh).
  8. Faigheann Nova-conductor an fhaisnéis iarrtha ó nova-database agus cuireann sé ar aghaidh chuig nova-compute í.
  9. Ansin, sracfhéachaint ar ghlaonna nova-compute chun aitheantas na híomhá a fháil. Déanann Glace an t-iarratas a bhailíochtú in Keystone agus seolann sé an fhaisnéis a iarradh ar ais.
  10. Teagmhálacha Nova-Compute Neodrón chun faisnéis a fháil faoi pharaiméadair líonra. Cosúil le Sracfhéachaint, bailíonn neodrón an t-iarratas i Keystone, agus ina dhiaidh sin cruthaíonn sé iontráil sa bhunachar sonraí (aitheantóir calafoirt, etc.), cruthaíonn sé iarratas chun calafort a chruthú, agus cuireann sé an fhaisnéis iarrtha ar ais chuig NOVA-Compute.
  11. Teagmhálacha Nova-Compute Cinder le hiarratas chun toirt a leithdháileadh ar an meaisín fíorúil. Cosúil le Sracfhéachaint, bailíonn leann úll an t -iarratas i Keystone, cruthaíonn sé iarratas ar chruthú toirte, agus cuireann sé an fhaisnéis iarrtha ar ais.
  12. libvirt teagmhálaithe Nova-ríomh le hiarratas chun meaisín fíorúil a imscaradh leis na paraiméadair sonraithe.

Go deimhin, is cosúil go bhfuil oibríocht shimplí chun meaisín fíorúil simplí a chruthú ina ghuairneán de ghlaonna API idir gnéithe den ardán scamall. Ina theannta sin, mar a fheiceann tú, is éard atá i fiú na seirbhísí a ainmníodh roimhe seo comhpháirteanna níos lú a dtarlaíonn idirghníomhaíocht eatarthu. Níl ann ach cuid bheag den mhéid a ligeann an t-ardán scamall duit a dhéanamh meaisín a chruthú - tá seirbhís ann atá freagrach as an trácht a chothromú, seirbhís atá freagrach as stóráil bloc, seirbhís atá freagrach as DNS, seirbhís atá freagrach as freastalaithe miotail lom a sholáthar, etc. Ligeann an scamall gur chóir duit caitheamh le do mheaisíní fíorúla cosúil le tréad caorach (seachas fíorúlú). Má tharlaíonn rud éigin do do mheaisín i dtimpeallacht fhíorúil - déanann tú é a aischur ó chúltacaí, etc., ach tógtar feidhmchláir néil ar bhealach nach mbíonn ról chomh tábhachtach ag an meaisín fíorúil - "fuair bás" an meaisín fíorúil - gan aon fhadhb - cruthaítear ceann nua go simplí tá an fheithicil bunaithe ar an teimpléad agus, mar a deir siad, níor thug an scuad faoi deara caillteanas an trodaire. Ar ndóigh, forálann sé seo do láithreacht meicníochtaí orchestration - ag baint úsáide as teimpléid Teas, is féidir leat a imscaradh go héasca feidhm chasta comhdhéanta de iliomad líonraí agus meaisíní fíorúil.

Is fiú a choinneáil i gcuimhne i gcónaí nach bhfuil aon bhonneagar scamall gan líonra - idirghníomhaíonn gach eilimint ar bhealach amháin nó ar bhealach eile le heilimintí eile tríd an líonra. Ina theannta sin, tá líonra neamh-statach go hiomlán ag an scamall. Ar ndóigh, tá an líonra underlay statach fiú níos mó nó níos lú - ní chuirtear nóid agus lasca nua leis gach lá, ach is féidir agus gan dabht go n-athróidh an chomhpháirt forleagan de shíor - cuirfear nó scriosfar líonraí nua, beidh meaisíní fíorúla nua le feiceáil agus beidh seanchinn ann. bás. Agus mar is cuimhin leat ón sainmhíniú ar an scamall a tugadh ag tús an t-alt, ba cheart acmhainní a leithdháileadh ar an úsáideoir go huathoibríoch agus leis an idirghabháil is lú (nó níos fearr fós, gan) ón soláthraí seirbhíse. Is é sin, ní scamall é an cineál soláthair acmhainní líonra atá ann anois i bhfoirm ceann tosaigh i bhfoirm do chuntais phearsanta atá inrochtana trí http/https agus an t-innealtóir líonra ar dualgas Vasily mar inneall, fiú. má tá ocht lámha ag Vasily.

Soláthraíonn Neutron, mar sheirbhís líonra, API chun an chuid líonra den bhonneagar néal a bhainistiú. Cumhachtaíonn agus bainistíonn an tseirbhís an chuid líonraithe de Openstack trí chiseal astarraingthe a sholáthar ar a dtugtar Network-mar-a-Service (NAaS). Is é sin, is é an líonra an t-aonad intomhaiste fíorúil céanna mar, mar shampla, cores CPU fíorúil nó an méid RAM.

Ach sula dtéann tú ar aghaidh go dtí ailtireacht an chuid líonra de OpenStack, déanaimis machnamh ar an gcaoi a n-oibríonn an líonra seo in OpenStack agus cén fáth go bhfuil an líonra mar chuid thábhachtach agus lárnach den scamall.

Mar sin tá dhá VM cliant RED againn agus dhá VM cliant GREEN. Glacaimid leis go bhfuil na meaisíní seo suite ar dhá hypervisors ar an mbealach seo:

Réamhrá don chuid líonra den bhonneagar scamall

I láthair na huaire, níl ann ach fíorú 4 fhreastalaí agus níl aon rud eile ann, ós rud é go bhfuil gach rud atá déanta againn go dtí seo, 4 fhreastalaí a chur ar fáil, agus iad á gcur ar dhá fhreastalaí fisiciúla. Agus go dtí seo níl siad fiú ceangailte leis an líonra.

Chun scamall a dhéanamh, ní mór dúinn roinnt comhpháirteanna a chur leis. Ar dtús, déanaimid fíorúlú ar an gcuid líonra - ní mór dúinn na 4 mheaisín seo a nascadh i mbeirteanna, agus tá na cliaint ag iarraidh nasc L2. Is féidir leat lasc a úsáid agus trunk a chumrú ina threo agus gach rud a réiteach ag baint úsáide as droichead linux nó, le haghaidh úsáideoirí níos forbartha, openvswitch (tabharfaimid ar ais chuige seo níos déanaí). Ach is féidir go leor líonraí a bheith ann, agus ní hé an smaoineamh is fearr é L2 a bhrú trí lasc i gcónaí - tá ranna éagsúla, deasc seirbhíse, míonna ag fanacht le hiarratas a chomhlánú, seachtainí fabhtcheartaithe - sa domhan nua-aimseartha seo. ní oibríonn an cur chuige a thuilleadh. Agus dá luaithe a thuigeann cuideachta é seo, is amhlaidh is fusa di bogadh ar aghaidh. Mar sin, idir na hypervisors roghnóimid líonra L3 trína ndéanfaidh ár meaisíní fíorúla cumarsáid, agus ar bharr an líonra L3 seo tógfaimid líonraí forleagan L2 fíorúla ina mbeidh trácht ár n-innill fíorúla ar siúl. Is féidir leat GRE, Geneve nó VxLAN a úsáid mar chuimsiú. Dírímid ar an dara ceann faoi láthair, cé nach bhfuil sé thar a bheith tábhachtach.

Caithfimid VTEP a lonnú áit éigin (tá súil agam go bhfuil gach duine eolach ar théarmaíocht VxLAN). Ós rud é go bhfuil líonra L3 againn ag teacht díreach ó na freastalaithe, ní chuireann aon rud cosc ​​orainn VTEP a chur ar na freastalaithe iad féin, agus tá OVS (OpenvSwitch) ar fheabhas chun é seo a dhéanamh. Mar thoradh air sin, fuair muid an dearadh seo:

Réamhrá don chuid líonra den bhonneagar scamall

Ós rud é go gcaithfear trácht idir VManna a roinnt, beidh uimhreacha vlan éagsúla ag na calafoirt i dtreo na meaisíní fíorúla. Ní bhíonn ról ag an uimhir chlib ach amháin laistigh de lasc fhíorúil amháin, mar nuair a bhíonn sé cuimsithe i VxLAN is féidir linn é a bhaint go héasca, toisc go mbeidh VNI againn.

Réamhrá don chuid líonra den bhonneagar scamall

Anois is féidir linn ár meaisíní agus líonraí fíorúla a chruthú dóibh gan aon fhadhbanna.

Mar sin féin, cad a tharlaíonn má tá meaisín eile ag an gcliant, ach go bhfuil sé ar líonra difriúil? Ní mór dúinn fréamhú idir líonraí. Breathnóimid ar rogha shimplí nuair a úsáidtear ródú láraithe - is é sin, déantar trácht trí nóid líonra tiomnaithe speisialta (go maith, mar riail, déantar iad a chomhcheangal le nóid rialaithe, mar sin beidh an rud céanna againn).

Вроде бы ничего сложного — делаем бридж интерфейс на контрольной ноде, гоним на нее трафик и оттуда маршрутизируем его куда нам надо. Но проблема в том, что клиент RED хочет использовать сеть 10.0.0.0/24, и клиент GREEN хочет использовать сеть 10.0.0.0/24. Is é sin, tosaímid ar spásanna seoltaí a thrasnú. Кроме того клиенты не хотят, чтобы другие клиенты могли маршрутизироваться в их внутренние сети, что логично. Чтобы разделить сети и трафик данных клиентов мы для каждого из них выделим отдельный namespace. Namespace — это по факту копия сетевого стека Linux, то есть клиенты в namespace RED полностью изолированы от клиентов из namespace GREEN (ну либо маршрутизация между данными сетями клиентов разрешена через default namespace либо уже на вышестоящем транспортном оборудовании).

Is é sin, faighimid an léaráid seo a leanas:

Réamhrá don chuid líonra den bhonneagar scamall

Tagann tolláin L2 le chéile ó na nóid ríomhaireachta go léir go dtí an nód rialaithe. nód ina bhfuil an comhéadan L3 do na líonraí seo suite, gach ceann díobh in ainmspás tiomnaithe le haghaidh aonrú.

Mar sin féin, rinneamar dearmad ar an rud is tábhachtaí. Caithfidh an meaisín fíorúil seirbhís a sholáthar don chliant, is é sin, caithfidh sé comhéadan seachtrach amháin ar a laghad a bheith aige trínar féidir é a bhaint amach. Is é sin, ní mór dúinn dul amach sa domhan lasmuigh. Tá roghanna éagsúla anseo. Déanaimis an rogha is simplí. Cuirfimid líonra amháin le gach cliant, a bheidh bailí i líonra an tsoláthraí agus nach mbeidh forluí le líonraí eile. Is féidir leis na líonraí trasnú agus breathnú ar VRFanna éagsúla ar thaobh an líonra soláthraithe. Beidh na sonraí líonra beo freisin in ainmspás gach cliant. Mar sin féin, beidh siad fós ag dul amach go dtí an domhan lasmuigh trí chomhéadan fisiceach amháin (nó banna, atá níos loighciúil). Chun trácht cliant a scaradh, déanfar trácht a théann lasmuigh a chlibeáil le clib VLAN a leithdháilfear ar an gcliant.

Mar thoradh air sin, fuair muid an léaráid seo:

Réamhrá don chuid líonra den bhonneagar scamall

Ceist réasúnta ná cén fáth nach ndéanfaí geataí ar na nóid ríomh iad féin? Ní fadhb mhór í seo; ina theannta sin, má chasann tú ar an ródaire dáilte (DVR), oibreoidh sé seo. Sa chás seo, táimid ag smaoineamh ar an rogha is simplí le geata láraithe, a úsáidtear de réir réamhshocraithe in Openstack. Le haghaidh feidhmeanna ard-ualaigh, úsáidfidh siad ródaire dáilte agus teicneolaíochtaí luasghéaraithe mar SR-IOV agus Passthrough, ach mar a deir siad, is scéal go hiomlán difriúil é sin. Gcéad dul síos, déanaimis déileáil leis an mbunchuid, agus ansin déanfaimid na sonraí.

I ndáiríre, tá ár scéim inoibrithe cheana féin, ach tá cúpla nuances ann:

  • Ní mór dúinn ár n-innill a chosaint ar bhealach éigin, is é sin, scagaire a chur ar an gcomhéadan lasc i dtreo an chliaint.
  • Déan é do mheaisín fíorúil seoladh IP a fháil go huathoibríoch, ionas nach gá duit logáil isteach tríd an gconsól gach uair agus an seoladh a chlárú.

Let tús le cosaint meaisín. Chun seo is féidir leat iptables banal a úsáid, cén fáth nach bhfuil.

Is é sin, anois tá ár topology éirithe beagán níos casta:

Réamhrá don chuid líonra den bhonneagar scamall

A ligean ar bogadh ar aghaidh. Ní mór dúinn freastalaí DHCP a chur leis. Is é an áit is fearr chun freastalaithe DHCP a aimsiú do gach cliant ná an nód rialaithe a luadh thuas, áit a bhfuil na spásanna ainmneacha suite:

Réamhrá don chuid líonra den bhonneagar scamall

Mar sin féin, tá fadhb bheag ann. Cad a tharlaíonn má atosaíonn gach rud agus má imíonn gach eolas faoi sheoltaí cíosa ar DHCP. Tá sé loighciúil go dtabharfar seoltaí nua do na meaisíní, nach bhfuil an-áisiúil. Tá dhá bhealach amach anseo - ceachtar úsáid ainmneacha fearainn agus cuir freastalaí DNS le haghaidh gach cliant, ansin ní bheidh an seoladh a bheith tábhachtach go háirithe dúinn (cosúil leis an gcuid líonra i k8s) - ach tá fadhb le líonraí seachtracha, ós rud é is féidir seoltaí a eisiúint iontu freisin trí DHCP - ní mór duit sioncrónú le freastalaithe DNS san ardán scamall agus freastalaí DNS seachtrach, nach bhfuil i mo thuairim an-solúbtha, ach is féidir go leor. Nó is é an dara rogha meiteashonraí a úsáid - is é sin, sábháil faisnéis faoin seoladh a eisítear chuig an meaisín ionas go mbeidh a fhios ag an bhfreastalaí DHCP cén seoladh atá le heisiúint chuig an meaisín má tá seoladh faighte ag an meaisín cheana féin. Tá an dara rogha níos simplí agus níos solúbtha, toisc go gceadaíonn sé duit faisnéis bhreise a shábháil faoin gcarr. Anois cuirimis meiteashonraí gníomhaire leis an léaráid:

Réamhrá don chuid líonra den bhonneagar scamall

Saincheist eile is fiú a phlé freisin ná an cumas líonra seachtrach amháin a úsáid ag gach cliant, ós rud é go mbeidh líonraí seachtracha, má chaithfidh siad a bheith bailí ar fud an líonra ar fad, deacair - ní mór duit leithdháileadh na líonraí sin a leithdháileadh agus a rialú i gcónaí. Beidh an cumas líonra réamh-chumraithe seachtrach amháin a úsáid do gach cliant an-úsáideach agus scamall poiblí á chruthú. Déanfaidh sé seo níos fusa meaisíní a imscaradh mar ní gá dúinn dul i gcomhairle le bunachar sonraí seoltaí agus spás seoltaí uathúil a roghnú do líonra seachtrach gach cliant. Ina theannta sin, is féidir linn líonra seachtrach a chlárú roimh ré agus ag am an imscartha ní bheidh orainn ach seoltaí seachtracha a cheangal le meaisíní cliant.

Agus anseo tagann NAT lenár gcabhair - ní dhéanfaimid ach é a chumasú do chliaint rochtain a fháil ar an domhan lasmuigh tríd an ainmspás réamhshocraithe ag baint úsáide as aistriúchán NAT. Bhuel, seo fadhb bheag. Tá sé seo go maith má ghníomhaíonn an freastalaí cliant mar chliant agus ní mar fhreastalaí - is é sin, cuireann sé tús le naisc seachas glacadh leis. Ach dúinne beidh sé an bealach eile timpeall. Sa chás seo, ní mór dúinn NAT ceann scríbe a dhéanamh ionas go dtuigeann an nód rialaithe nuair a bhíonn trácht á fháil againn go bhfuil an trácht seo beartaithe do mheaisín fíorúil A de chuid cliant A, rud a chiallaíonn go gcaithfimid aistriúchán NAT a dhéanamh ó sheoladh seachtrach, mar shampla 100.1.1.1 .10.0.0.1, chuig seoladh inmheánach 100. Sa chás seo, cé go n-úsáidfidh gach cliant an líonra céanna, caomhnaítear leithlisiú inmheánach go hiomlán. Is é sin, ní mór dúinn dNAT agus sNAT a dhéanamh ar an nód rialaithe. Braitheann cibé an n-úsáidfear líonra amháin le seoltaí ar snámh nó líonraí seachtracha, nó an dá cheann ag an am céanna, ar a bhfuil tú ag iarraidh a thabhairt isteach sa scamall. Ní chuirfimid seoltaí ar snámh leis an léaráid, ach fágfaimid na líonraí seachtracha a cuireadh leis cheana féin níos luaithe - tá a líonra seachtrach féin ag gach cliant (sa léaráid léirítear iad mar vlan 200 agus XNUMX ar an gcomhéadan seachtrach).

Mar thoradh air sin, fuair muid réiteach suimiúil agus ag an am céanna dea-smaoineamh, a bhfuil solúbthacht áirithe aige ach nach bhfuil meicníochtaí lamháltais locht ann fós.

Ar an gcéad dul síos, níl ach nód rialaithe amháin againn - tiocfaidh gach córas as a dteip. Chun an fhadhb seo a réiteach, ní mór duit córam de 3 nóid ar a laghad a dhéanamh. Cuirimis é seo leis an léaráid:

Réamhrá don chuid líonra den bhonneagar scamall

Ar ndóigh, déantar na nóid go léir a shioncrónú agus nuair a fhágann nód gníomhach, glacfaidh nód eile a fhreagrachtaí.

Is é an chéad fhadhb eile dioscaí meaisín fíorúil. Faoi láthair, déantar iad a stóráil ar na hypervisors iad féin, agus i gcás fadhbanna leis an hypervisor, caillimid na sonraí go léir - agus ní bheidh láithreacht ruathar ina chuidiú anseo mura gcaillfimid an diosca, ach an freastalaí iomlán. Chun seo a dhéanamh, ní mór dúinn seirbhís a dhéanamh a fheidhmeoidh mar an taobh tosaigh le haghaidh stórála de chineál éigin. Níl an cineál stórála a bheidh ann go háirithe tábhachtach dúinn, ach ba cheart go gcosnódh sé ár gcuid sonraí ó theip ar an diosca agus an nód, agus b'fhéidir an comh-aireachta ar fad. Tá roinnt roghanna anseo - tá, ar ndóigh, líonraí SAN le Fiber Channel, ach a ligean ar a bheith macánta - tá FC cheana féin iarsma den am atá caite - analógach de E1 in iompar - tá, aontaím, tá sé fós in úsáid, ach ach amháin sa chás go bhfuil sé dodhéanta go hiomlán gan é. Dá bhrí sin, ní dhéanfainn líonra FC a imscaradh go deonach in 2020, agus fios agam go bhfuil roghanna eile níos suimiúla ann. Cé gur dá chuid féin, d’fhéadfadh go mbeadh daoine ann a chreideann gurb é FC lena theorainneacha go léir a theastaíonn uainn - ní dhéanfaidh mé argóint, tá a dtuairim féin ag gach duine. Mar sin féin, is é an réiteach is suimiúla i mo thuairim ná SDS a úsáid, mar Ceph.

Ligeann Ceph duit réiteach stórála sonraí atá ar fáil go mór a thógáil le go leor roghanna cúltaca féideartha, ag tosú le cóid le seiceáil paireacht (cosúil le ruathar 5 nó 6) a chríochnaíonn le macasamhlú sonraí iomlána ar dhioscaí éagsúla, ag cur san áireamh suíomh na dioscaí i freastalaithe, agus freastalaithe i gcaibinéid, etc.

Teastaíonn 3 nóid eile uait chun Ceph a thógáil. Déanfar idirghníomhaíocht leis an stóráil freisin tríd an líonra ag baint úsáide as seirbhísí stórála bloc, réad agus comhad. Cuirimis stóras leis an scéimre:

Réamhrá don chuid líonra den bhonneagar scamall

Nóta: is féidir leat nóid ríomh hyperconverged a dhéanamh freisin - is é seo an coincheap a bhaineann le roinnt feidhmeanna a chomhcheangal ar nód amháin - mar shampla, stóráil + ríomhaire - gan nóid speisialta a thiomnú do stóráil ceph. Gheobhaidh muid an scéim chéanna fabht-fhulangach - mar go gcuirfidh SDS sonraí in áirithe leis an leibhéal áirithinte a shonraimid. Mar sin féin, is comhréiteach i gcónaí iad nóid hyperconverged - ós rud é nach ndéanann an nód stórála ach an t-aer a théamh mar is cosúil ar an gcéad amharc (ós rud é nach bhfuil aon mheaisíní fíorúla ann) - caitheann sé acmhainní LAP ar SDS a sheirbhísiú (go deimhin, déanann sé go léir macasamhlú agus aisghabháil tar éis teipeanna nóid, dioscaí, etc.). Is é sin, caillfidh tú cuid de chumhacht an nód ríomh má chomhcheanglaíonn tú é le stóráil.

Ní mór an stuif seo go léir a bhainistiú ar bhealach éigin - ní mór dúinn rud éigin trína bhféadfaimid meaisín, líonra, ródaire fíorúil, srl a chruthú. Chun seo a dhéanamh, cuirfimid seirbhís leis an nód rialaithe a fheidhmeoidh mar dheais - an beidh an cliant in ann ceangal leis an tairseach seo trí http/ https agus gach rud a theastaíonn uaidh a dhéanamh (bhuel, beagnach).

Mar thoradh air sin, tá córas fabht-fhulangach againn anois. Ní mór gach gné den bhonneagar seo a bhainistiú ar bhealach éigin. Cuireadh síos roimhe seo gur sraith tionscadal é Openstack, a soláthraíonn gach ceann acu feidhm shonrach. Mar a fheicimid, tá níos mó ná go leor gnéithe nach mór a chumrú agus a rialú. Sa lá atá inniu beimid ag caint faoi chuid an líonra.

Ailtireacht neodrón

In OpenStack, is é Neutron atá freagrach as calafoirt meaisíní fíorúla a nascadh le líonra L2 coitianta, ag cinntiú ródú tráchta idir VManna atá suite ar líonraí L2 éagsúla, chomh maith le ródú amach, ag soláthar seirbhísí cosúil le NAT, Snámh IP, DHCP, etc.

Ar leibhéal ard, is féidir cur síos a dhéanamh ar oibriú na seirbhíse líonra (an chuid bhunúsach) mar seo a leanas.

Agus an VM á thosú, an tseirbhís líonra:

  1. Cruthaíonn sé calafort le haghaidh VM ar leith (nó calafoirt) agus cuireann sé an tseirbhís DHCP in iúl di;
  2. Cruthaítear gléas líonra fíorúil nua (trí libvirt);
  3. Nascann an VM leis an gcalafort/na calafoirt a cruthaíodh i gcéim 1;

Go héadrom go leor, tá obair Neutron bunaithe ar mheicníochtaí caighdeánacha a bhfuil taithí ag gach duine a bhí riamh orthu i Linux - spásanna ainmneacha, inptables, droichid Linux, OpenVSwitch, Conntrack, etc.

Ba cheart a shoiléiriú láithreach nach rialaitheoir SDN é Neodrón.

Is éard atá i neodrón roinnt comhpháirteanna idirnasctha:

Réamhrá don chuid líonra den bhonneagar scamall

Openstack neodrón freastalaí is deamhan é a oibríonn le hiarratais úsáideoirí tríd an API. Níl baint ag an deamhan seo le haon naisc líonra a chlárú, ach cuireann sé an fhaisnéis riachtanach ar fáil dá fhorlíontáin, a chumraíonn an eilimint líonra atá ag teastáil ansin. Cláraíonn gníomhairí neodrón ar nóid OpenStack leis an bhfreastalaí Neodrón.

Is feidhmchlár é neodrón-freastalaí i ndáiríre atá scríofa i python, ina bhfuil dhá chuid:

  • REST seirbhíse
  • Breiseán Neodrón (croílár/seirbhís)

Tá an tseirbhís REST deartha chun glaonna API a fháil ó chomhpháirteanna eile (mar shampla, iarratas chun roinnt faisnéise a sholáthar, etc.)

Is comhpháirteanna/modúil bogearraí plug-in iad breiseáin a dtugtar orthu le linn iarratais API - is é sin le rá go dtarlaíonn sannadh seirbhíse tríothu. Tá forlíontáin roinnte ina dhá chineál - seirbhís agus fréamh. De ghnáth, tá an breiseán capall freagrach go príomha as an spás seoltaí agus naisc L2 idir VManna a bhainistiú, agus soláthraíonn forlíontáin seirbhíse feidhmiúlacht bhreise mar VPN nó FW cheana féin.

Is féidir liosta na breiseán atá ar fáil inniu a fheiceáil mar shampla anseo

Is féidir go mbeadh roinnt breiseán seirbhíse ann, ach ní féidir ach breiseán capall amháin a bheith ann.

Neodrón Openstack-ml2 Is é an breiseán fréimhe caighdeánach Openstack. Tá ailtireacht mhodúlach ag an mbreiseán seo (murab ionann agus a réamhtheachtaí) agus déanann sé an tseirbhís líonra a chumrú trí thiománaithe atá ceangailte leis. Breathnóimid ar an mbreiseán féin beagán níos déanaí, ós rud é go deimhin tugann sé an tsolúbthacht atá ag OpenStack sa chuid líonra. Is féidir an breiseán fréimhe a athsholáthar (mar shampla, déanann Contrail Networking a leithéid de athsholáthar).

Seirbhís RPC (RabbitMQ-Ferver) — seirbhís a sholáthraíonn bainistíocht scuaine agus idirghníomhú le seirbhísí eile OpenStack, chomh maith le hidirghníomhaíocht idir gníomhairí seirbhísí líonra.

Gníomhairí Líonra — gníomhairí atá suite i ngach nód, trína ndéantar seirbhísí líonra a chumrú.

Tá roinnt cineálacha gníomhairí ann.

Is é an príomhghníomhaire Gníomhaire L2. Ritheann na gníomhairí seo ar gach ceann de na hypervisors, lena n-áirítear nóid rialaithe (níos cruinne, ar gach nóid a sholáthraíonn aon seirbhís do thionóntaí) agus is é a phríomhfheidhm ná meaisíní fíorúla a nascadh le líonra L2 coitianta, agus freisin foláirimh a ghiniúint nuair a tharlaíonn aon imeachtaí ( mar shampla an port a dhíchumasú/a chumasú).

Is é an chéad ghníomhaire eile, nach lú tábhacht Gníomhaire L3. De réir réamhshocraithe, ritheann an gníomhaire seo go heisiach ar nód líonra (go minic cuirtear an nód líonra le chéile le nód rialaithe) agus soláthraíonn sé ródú idir líonraí tionóntaí (idir a líonraí agus líonraí tionóntaí eile, agus tá sé inrochtana don domhan lasmuigh, ag soláthar NAT, chomh maith le seirbhís DHCP). Mar sin féin, nuair a bhíonn DVR (ródaire dáilte) á úsáid, feictear go bhfuil gá le breiseán L3 ar na nóid ríomh freisin.

Úsáideann gníomhaire L3 spásanna ainm Linux chun sraith dá líonraí iargúlta féin a sholáthar do gach tionónta agus feidhmiúlacht na ródairí fíorúla a sheolann trácht agus a sholáthraíonn seirbhísí geata do líonraí Sraith 2.

Bunachar — bunachar sonraí aitheantóirí líonraí, fo-líonra, port, linnte, etc.

Go deimhin, glacann Neutron le hiarratais API ó chruthú aonáin líonra, fíordheimhníonn sé an t-iarratas, agus trí RPC (má fhaigheann sé rochtain ar roinnt breiseán nó gníomhaire) nó REST API (má dhéanann sé cumarsáid i SDN) a tharchur chuig na gníomhairí (trí forlíontáin) an treoracha is gá chun an tseirbhís iarrtha a eagrú .

Anois déanaimis dul chuig an suiteáil tástála (conas a imlonnaítear é agus cad atá san áireamh ann, feicfimid níos déanaí sa chuid phraiticiúil) agus feicfimid cá bhfuil gach comhpháirt suite:

(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 ~]$ 

Réamhrá don chuid líonra den bhonneagar scamall

I ndáiríre, sin struchtúr iomlán Neodrón. Anois is fiú roinnt ama a chaitheamh ar an mbreiseán ML2.

Ciseal Modúlach 2

Mar a luadh thuas, is breiseán fréimhe caighdeánach OpenStack é an breiseán agus tá ailtireacht modúlach aige.

Bhí struchtúr monolithic ag réamhtheachtaí an bhreiseáin ML2, rud nár cheadaigh, mar shampla, meascán de roinnt teicneolaíochtaí a úsáid i suiteáil amháin. Mar shampla, níorbh fhéidir leat openvswitch agus linuxbridge a úsáid ag an am céanna - an chéad cheann nó an dara ceann. Ar an gcúis seo, cruthaíodh an breiseán ML2 lena ailtireacht.

Tá dhá chomhpháirt ag ML2 - dhá chineál tiománaithe: Tiománaithe Cineál agus tiománaithe Meicníochta.

Tiománaithe cineál Socraigh na teicneolaíochtaí a úsáidfear chun naisc líonra a eagrú, mar shampla VXLAN, VLAN, GRE. Ag an am céanna, ceadaíonn an tiománaí úsáid a bhaint as teicneolaíochtaí éagsúla. Is é an teicneolaíocht chaighdeánach cuimsiú VXLAN do líonraí forleagain agus do líonraí seachtracha VLAN.

I measc na dtiománaithe cineáil tá na cineálacha líonra seo a leanas:

Flat - líonra gan chlibeáil
VLANanna - líonra clibeáilte
Áitiúil — cineál speisialta líonra le haghaidh suiteálacha uile-i-amháin (tá gá le suiteálacha den sórt sin le haghaidh forbróirí nó le haghaidh oiliúna)
GRE — líonra forleagan ag baint úsáide as tolláin GRE
Vxlan — líonra forleagan ag baint úsáide as tolláin VxLAN

Tiománaithe meicníochtaí uirlisí a shainiú a áirithíonn eagrú na dteicneolaíochtaí atá sonraithe sa tiománaí cineáil - mar shampla, openvswitch, sr-iov, opendaylight, OVN, etc.

Ag brath ar chur i bhfeidhm an tiománaí seo, úsáidfear gníomhairí arna rialú ag Neodrón, nó úsáidfear naisc le rialtóir SDN seachtrach, a thugann aire do gach saincheist a bhaineann le líonraí L2 a eagrú, ródú, etc.

Sampla: má úsáidimid ML2 in éineacht le OVS, ansin tá gníomhaire L2 suiteáilte ar gach nód ríomhaireachta a bhainistíonn OVS. Mar sin féin, má úsáideann muid, mar shampla, OVN nó OpenDayLight, ansin tagann rialú OVS faoina ndlínse - tugann Neutron, tríd an breiseán fréimhe, orduithe don rialtóir, agus déanann sé cheana féin cad a dúradh leis.

Déanaimis scuabadh suas ar Open vSwitch

I láthair na huaire, ceann de na comhpháirteanna lárnacha de OpenStack is Open vSwitch.
Nuair a bhíonn OpenStack á shuiteáil gan aon díoltóir breise SDN mar Juniper Contrail nó Nokia Nuage, is é OVS an príomhchuid líonra den líonra scamall agus, mar aon le hócáidí, ConnTrack, spásanna ainmneacha, is féidir leat líonraí forluí il-tionachta lán-thionscanta a eagrú. Ar ndóigh, is féidir an chomhpháirt seo a athsholáthar, mar shampla, agus réitigh SDN dílseánaigh tríú páirtí á n-úsáid.

Is lasc bogearraí foinse oscailte é OVS atá deartha le húsáid i dtimpeallachtaí fíorúlaithe mar sheoltóir tráchta fíorúil.

I láthair na huaire, tá feidhmiúlacht an-réasúnta ag OVS, a chuimsíonn teicneolaíochtaí mar QoS, LACP, VLAN, VxLAN, GENEVE, OpenFlow, DPDK, etc.

Nóta: Níor ceapadh OVS ar dtús mar lasc bog le haghaidh feidhmeanna teileachumarsáide an-lódáilte agus bhí sé deartha níos fearr le haghaidh feidhmeanna TF a bhfuil níos lú bandaleithead ag teastáil uathu amhail freastalaí WEB nó freastalaí ríomhphoist. Mar sin féin, tá tuilleadh forbartha á dhéanamh ar OVS agus tá feabhas mór tagtha ar fheidhmiúcháin reatha OVS ar a fheidhmíocht agus ar a gcumas, rud a fhágann gur féidir le hoibreoirí teileachumarsáide a bhfuil feidhmeanna an-lódáilte acu é a úsáid, mar shampla, tá feidhmiú OVS ann le tacaíocht do luasghéarú DPDK.

Tá trí chomhpháirt thábhachtacha de OVanna ann a chaithfidh tú a bheith ar an eolas faoi:

  • Modúl eithne - Comhpháirt atá suite sa spás eithne a phróiseálann trácht bunaithe ar na rialacha a fhaightear ón eilimint rialaithe;
  • vSwitch Is próiseas é deamhan (ovs-vswitchd) a seoladh sa spás úsáideora atá freagrach as an modúl eithne a ríomhchlárú - is é sin, léiríonn sé go díreach loighic oibríocht an lasc
  • Freastalaí bunachar sonraí - bunachar sonraí áitiúil atá suite ar gach óstach a ritheann OVS, ina stóráiltear an chumraíocht. Is féidir le rialtóirí SDN cumarsáid a dhéanamh tríd an modúl seo trí úsáid a bhaint as prótacal OVSDB.

Tá sraith d’áiseanna diagnóiseacha agus bainistíochta ag gabháil leis seo go léir, mar shampla ovs-vsctl, ovs-appctl, ovs-ofctl, etc.

Faoi láthair, úsáideann oibreoirí teileachumarsáide Openstack go forleathan chun feidhmeanna líonra a aistriú chuige, mar shampla EPC, SBC, HLR, etc. Is féidir le roinnt feidhmeanna maireachtáil gan fadhbanna le OVS mar atá, ach mar shampla, déanann EPC próiseáil ar thrácht suibscríobhaí - ansin téann sé trí méid ollmhór tráchta (sroicheann toirteanna tráchta na céadta gigabits in aghaidh an tsoicind anois). Ar ndóigh, ní hé an smaoineamh is fearr é trácht den sórt sin a thiomáint trí spás eithne (ós rud é go bhfuil an seoltóir suite ann de réir réamhshocraithe). Mar sin, is minic a imlonnaítear OVS go hiomlán i spás úsáideora ag baint úsáide as teicneolaíocht luasghéaraithe DPDK chun trácht a chur ar aghaidh ó NIC go spás úsáideora ag seachaint an eithne.

Nóta: i gcás néal a imlonnaítear le haghaidh feidhmeanna teileachumarsáide, is féidir trácht a aschur ó nód a ríomh a sheachnaíonn OVS go díreach chuig trealamh lasctha. Úsáidtear meicníochtaí SR-IOV agus Passthrough chun na críche seo.

Conas a oibríonn sé seo ar leagan amach fíor?

Bhuel, a ligean ar bogadh ar aghaidh go dtí an chuid phraiticiúil anois agus a fheiceáil conas a oibríonn sé go léir go praiticiúil.

Ar dtús, déanaimis suiteáil Openstack simplí a imscaradh. Ós rud é nach bhfuil sraith freastalaithe agam le haghaidh turgnaimh, cuirfimid an fhréamhshamhail le chéile ar fhreastalaí fisiceach amháin ó mheaisíní fíorúla. Sea, go nádúrtha, níl réiteach den sórt sin oiriúnach chun críocha tráchtála, ach chun sampla a fheiceáil ar an gcaoi a n-oibríonn an líonra i Openstack, is leor suiteáil den sórt sin do na súile. Thairis sin, tá suiteáil den sórt sin níos suimiúla fós chun críocha oiliúna - ós rud é gur féidir leat trácht a ghabháil, etc.

Ós rud é nach gá dúinn ach an chuid bhunúsach a fheiceáil, ní féidir linn roinnt líonraí a úsáid ach gach rud a ardú ag baint úsáide as ach dhá líonra, agus úsáidfear an dara líonra sa leagan amach seo go heisiach le haghaidh rochtana ar an bhfreastalaí undercloud agus DNS. Ní dhéanfaimid teagmháil le líonraí seachtracha faoi láthair - is ábhar é seo d'alt mór ar leith.

Mar sin, déanaimis tús le hord. Сначала немного теории. Cuirfimid OpenStack isteach ag baint úsáide as Tripleo (OpenStack ar OpenStack). Суть TripleO заключается в том, что мы устанавливаем Openstack all-in-one (то есть на одну ноду), называемый undercloud, и далее используем возможности развернутого Openstack чтобы установить Openstack, предназначенный для эксплуатации, называемый overcloud. Undercloud будет использовать заложенную в него возможность управлять физическими серверами (bare metal) — проект Ironic — для провижининга гипервизоров, которые будут выполнять роли compute, control, storage нод. Is é sin, ní úsáidimid aon uirlisí tríú páirtí chun OpenStack a imscaradh - déanaimid OpenStack a úsáid ag úsáid OpenStack. Beidh sé i bhfad níos soiléire de réir mar a théann an tsuiteáil ar aghaidh, mar sin ní stopfaimid ansin agus rachaimid ar aghaidh.

Nóta: San Airteagal seo, ar mhaithe le simplíocht, níor úsáid mé aonrú líonra le haghaidh líonraí inmheánacha Openstack, ach déantar gach rud a imscaradh ag baint úsáide as líonra amháin. Mar sin féin, ní chuireann láithreacht nó neamhláithreacht aonrú líonra isteach ar fheidhmiúlacht bhunúsach an réitigh - oibreoidh gach rud díreach mar an gcéanna le linn aonrú a úsáid, ach beidh trácht ag sreabhadh ar an líonra céanna. Le haghaidh suiteáil tráchtála, tá sé riachtanach go nádúrtha aonrú a úsáid ag baint úsáide as vlananna agus comhéadain éagsúla. Mar shampla, tá trácht bainistíochta stórála ceph agus trácht sonraí féin (rochtain ar mheaisín ar dhioscaí, etc.) nuair a bhíonn siad scoite ag baint úsáide as folíonta éagsúla (Bainistíocht Stórála agus Stóráil) agus ligeann sé seo duit an réiteach a dhéanamh níos fulangaí lochtanna tríd an trácht seo a roinnt, mar shampla , trasna calafoirt éagsúla, nó ag baint úsáide as próifílí QoS éagsúla le haghaidh tráchta éagsúla ionas nach trácht sonraí brú amach trácht comharthaíochta. In ár gcás, rachaidh siad ar an líonra céanna agus go deimhin ní chuireann sé seo teorainn linn ar bhealach ar bith.

Nóta: Ós rud é go bhfuil muid chun meaisíní fíorúla a reáchtáil i dtimpeallacht fhíorúil bunaithe ar mheaisíní fíorúla, ní mór dúinn fíorúlú neadaithe a chumasú ar dtús.

Is féidir leat seiceáil an bhfuil fíorúlú neadaithe cumasaithe nó nach bhfuil:


[root@hp-gen9 bormoglotx]# cat /sys/module/kvm_intel/parameters/nested
N
[root@hp-gen9 bormoglotx]# 

Má fheiceann tú an litir N, cumasaimid tacaíocht le haghaidh fíorúlú neadaithe de réir aon treoir a fhaigheann tú ar an líonra, mar shampla den sórt sin .

Ní mór dúinn an ciorcad seo a leanas a chur le chéile ó mheaisíní fíorúla:

Réamhrá don chuid líonra den bhonneagar scamall

I mo chás, chun na meaisíní fíorúla atá mar chuid den suiteáil amach anseo a nascadh (agus fuair mé 7 gcinn acu, ach is féidir leat dul isteach le 4 mura bhfuil a lán acmhainní agat), d’úsáid mé OpenvSwitch. Chruthaigh mé droichead ovs amháin agus cheangail mé meaisíní fíorúla leis trí ghrúpaí calafoirt. Chun seo a dhéanamh, chruthaigh mé comhad xml mar seo:


[root@hp-gen9 ~]# virsh net-dumpxml ovs-network-1        
<network>
  <name>ovs-network-1</name>
  <uuid>7a2e7de7-fc16-4e00-b1ed-4d190133af67</uuid>
  <forward mode='bridge'/>
  <bridge name='ovs-br1'/>
  <virtualport type='openvswitch'/>
  <portgroup name='trunk-1'>
    <vlan trunk='yes'>
      <tag id='100'/>
      <tag id='101'/>
      <tag id='102'/>
    </vlan>
  </portgroup>
  <portgroup name='access-100'>
    <vlan>
      <tag id='100'/>
    </vlan>
  </portgroup>
  <portgroup name='access-101'>
    <vlan>
      <tag id='101'/>
    </vlan>
  </portgroup>
</network>

Dearbhaítear trí ghrúpa calafoirt anseo - dhá rochtain agus trunk amháin (bhí an dara ceann ag teastáil don fhreastalaí DNS, ach is féidir leat a dhéanamh gan é, nó é a shuiteáil ar an meaisín óstach - cibé acu is áisiúla duit). Ansin, ag baint úsáide as an teimpléad seo, dearbhaímid ár gceann féin trí virsh net-define:


virsh net-define ovs-network-1.xml 
virsh net-start ovs-network-1 
virsh net-autostart ovs-network-1 

Anois cuirimid na cumraíochtaí calafoirt hypervisor in eagar:


[root@hp-gen9 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens1f0   
TYPE=Ethernet
NAME=ens1f0
DEVICE=ens1f0
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=ovs-br1
ONBOOT=yes
OVS_OPTIONS="trunk=100,101,102"
[root@hp-gen9 ~]
[root@hp-gen9 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ovs-br1 
DEVICE=ovs-br1
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.255.200
PREFIX=24
[root@hp-gen9 ~]# 

Tabhair faoi deara: sa chás seo, ní bheidh an seoladh ar port ovs-br1 inrochtana toisc nach bhfuil clib vlan aige. Chun é seo a shocrú, ní mór duit an t-ordú sudo ovs-vsctl set port ovs-br1 tag = 100 a eisiúint. Mar sin féin, tar éis atosaigh, beidh an chlib seo imithe (má tá a fhios ag aon duine conas é a dhéanamh fanacht i bhfeidhm, beidh mé an-bhuíoch). Ach níl sé seo chomh tábhachtach, mar ní bheidh an seoladh seo ag teastáil uainn ach le linn na suiteála agus ní bheidh sé ag teastáil nuair a bheidh Openstack imlonnaithe go hiomlán.

Ansin, cruthaímid meaisín undercloud:


virt-install  -n undercloud --description "undercloud"  --os-type=Linux  --os-variant=centos7.0  --ram=8192  --vcpus=8  --disk path=/var/lib/libvirt/images/undercloud.qcow2,bus=virtio,size=40,format=qcow2 --network network:ovs-network-1,model=virtio,portgroup=access-100 --network network:ovs-network-1,model=virtio,portgroup=access-101 --graphics none  --location /var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-2003.iso --extra-args console=ttyS0

Le linn na suiteála, socraíonn tú na paraiméadair riachtanacha go léir, mar shampla ainm an mheaisín, pasfhocail, úsáideoirí, freastalaithe ntp, etc., is féidir leat na calafoirt a chumrú láithreach, ach domsa go pearsanta, tar éis a shuiteáil, tá sé níos éasca logáil isteach sa mheaisín trí an consól agus na comhaid riachtanacha a cheartú. Má tá íomhá réamhdhéanta agat cheana féin, is féidir leat é a úsáid, nó an méid a rinne mé a dhéanamh - íoslódáil an íomhá Centos 7 íosta agus é a úsáid chun an VM a shuiteáil.

Tar éis suiteáil rathúil, ba chóir go mbeadh meaisín fíorúil agat ar féidir leat undercloud a shuiteáil


[root@hp-gen9 bormoglotx]# virsh list
 Id    Name                           State
----------------------------------------------------
 6     dns-server                     running
 62    undercloud                     running

Ar dtús, suiteáil na huirlisí atá riachtanach don phróiseas suiteála:

sudo yum update -y
sudo yum install -y net-tools
sudo yum install -y wget
sudo yum install -y ipmitool

Suiteáil undercloud

Cruthaímid úsáideoir cruachta, socraímid pasfhocal, cuirimid le sudoer é agus tugaimid an cumas dó orduithe fréimhe a fhorghníomhú trí sudo gan a bheith air pasfhocal a chur isteach:


useradd stack
passwd stack

echo “stack ALL=(root) NOPASSWD:ALL” > /etc/sudoers.d/stack
chmod 0440 /etc/sudoers.d/stack

Anois sonraimid an t-ainm iomlán undercloud sa chomhad ina hóstach:


vi /etc/hosts

127.0.0.1   undercloud.openstack.rnd localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Ansin, cuirimid stórtha leis agus suiteáilimid na bogearraí a theastaíonn uainn:


sudo yum install -y https://trunk.rdoproject.org/centos7/current/python2-tripleo-repos-0.0.1-0.20200409224957.8bac392.el7.noarch.rpm
sudo -E tripleo-repos -b queens current
sudo -E tripleo-repos -b queens current ceph
sudo yum install -y python-tripleoclient
sudo yum install -y ceph-ansible

Tabhair faoi deara: mura bhfuil sé beartaithe agat ceph a shuiteáil, ní gá duit orduithe a bhaineann le ceph a chur isteach. Bhain mé úsáid as an scaoileadh Queens, ach is féidir leat úsáid a bhaint as aon cheann eile is mian leat.

Ansin, cóipeáil an comhad cumraíochta undercloud chuig stack eolaire baile an úsáideora:


cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf

Anois ní mór dúinn an comhad seo a cheartú, é a choigeartú dár suiteáil.

Ní mór duit na línte seo a chur le tús an chomhaid:

vi undercloud.conf
[DEFAULT]
undercloud_hostname = undercloud.openstack.rnd
local_ip = 192.168.255.1/24
network_gateway = 192.168.255.1
undercloud_public_host = 192.168.255.2
undercloud_admin_host = 192.168.255.3
undercloud_nameservers = 192.168.255.253
generate_service_certificate = false
local_interface = eth0
local_mtu = 1450
network_cidr = 192.168.255.0/24
masquerade = true
masquerade_network = 192.168.255.0/24
dhcp_start = 192.168.255.11
dhcp_end = 192.168.255.50
inspection_iprange = 192.168.255.51,192.168.255.100
scheduler_max_attempts = 10

Mar sin, déanaimis dul tríd na socruithe:

Undercloud_Hostname — ní mór ainm iomlán an fhreastalaí undercloud a bheith ag teacht leis an iontráil ar an bhfreastalaí DNS

logánta_ip — seoladh áitiúil faoi scamall i dtreo sholáthar líonra

líonra_geata — go bhfuil an seoladh áitiúil céanna, a fheidhmeoidh mar thairseach rochtana ar an domhan lasmuigh le linn suiteáil na nóid thar scamall, ag comhthráthach leis an seoladh ip áitiúil freisin

undercloud_public_host — seoladh API seachtrach, sanntar aon seoladh saor in aisce ón líonra soláthair

undercloud_admin_host seoladh API inmheánach, sanntar aon seoladh saor in aisce ón líonra soláthair

Undercloud_nameservers - freastalaí DNS

giniúint_seirbhís_teastas - tá an líne seo an-tábhachtach sa sampla reatha, mar mura socraíonn tú go bréagach é gheobhaidh tú earráid le linn na suiteála, déantar cur síos ar an bhfadhb ar an rianaitheoir fabhtanna Red Hat

comhéadan_áitiúil comhéadan i soláthar líonra. Déanfar an comhéadan seo a athchumrú le linn imscaradh undercloud, mar sin ní mór duit dhá chomhéadan a bheith agat ar undercloud - ceann chun é a rochtain, an dara ceann le haghaidh soláthar

áitiúil_mtu - MTU. Ós rud é go bhfuil saotharlann tástála againn agus go bhfuil MTU de 1500 agam ar chalafoirt lasc OVS, is gá é a chur go 1450 ionas gur féidir le paicéid atá cuimsithe i VXLAN dul tríd

líonra_cidr - Líonra soláthair

masquerade — NAT a úsáid chun rochtain a fháil ar líonra seachtrach

masquerade_líonra - líonra a bheidh NATed

dhcp_tús — seoladh tosaigh an chomhthiomsaithe seoltaí óna sannfar seoltaí do nóid le linn imscaradh róscamall

dhcp_deireadh — seoladh deiridh na comhthiomsaithe seoltaí óna sannfar seoltaí do nóid le linn imscaradh róscamall

iniúchadh_rang — comhthiomsú seoltaí atá riachtanach don inbhreathnú (níor cheart go mbeadh forluí orthu leis an gcomhthiomsú thuas)

sceidealóir_uas_iarrachtaí — líon uasta na n-iarrachtaí chun forscamall a shuiteáil (caithfidh sé a bheith níos mó ná nó cothrom le líon na nóid)

Tar éis cur síos a dhéanamh ar an gcomhad, is féidir leat an t-ordú a thabhairt chun undercloud a imscaradh:


openstack undercloud install

Tógann an nós imeachta ó 10 go 30 nóiméad ag brath ar do iarann. Ar deireadh thiar ba cheart duit aschur mar seo a fheiceáil:

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.

#############################################################################

Deir an t -aschur seo go bhfuil UnderCloud suiteáilte agat go rathúil agus gur féidir leat stádas UnderCloud a sheiceáil anois agus dul ar aghaidh chun Overcloud a shuiteáil.

Má fhéachann tú ar an aschur ifconfig, feicfidh tú go bhfuil comhéadan droichead nua le feiceáil

[stack@undercloud ~]$ ifconfig
br-ctlplane: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 192.168.255.1  netmask 255.255.255.0  broadcast 192.168.255.255
        inet6 fe80::5054:ff:fe2c:89e  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:2c:08:9e  txqueuelen 1000  (Ethernet)
        RX packets 14  bytes 1095 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 20  bytes 1292 (1.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Déanfar imscaradh Overcloud tríd an gcomhéadan seo anois.

Ón aschur thíos is féidir leat a fheiceáil go bhfuil gach seirbhís againn ar aon nód amháin:

(undercloud) [stack@undercloud ~]$ openstack host list
+--------------------------+-----------+----------+
| Host Name                | Service   | Zone     |
+--------------------------+-----------+----------+
| undercloud.openstack.rnd | conductor | internal |
| undercloud.openstack.rnd | scheduler | internal |
| undercloud.openstack.rnd | compute   | nova     |
+--------------------------+-----------+----------+

Anseo thíos tá cumraíocht na coda líonra undercloud:


(undercloud) [stack@undercloud ~]$ python -m json.tool /etc/os-net-config/config.json 
{
    "network_config": [
        {
            "addresses": [
                {
                    "ip_netmask": "192.168.255.1/24"
                }
            ],
            "members": [
                {
                    "dns_servers": [
                        "192.168.255.253"
                    ],
                    "mtu": 1450,
                    "name": "eth0",
                    "primary": "true",
                    "type": "interface"
                }
            ],
            "mtu": 1450,
            "name": "br-ctlplane",
            "ovs_extra": [
                "br-set-external-id br-ctlplane bridge-id br-ctlplane"
            ],
            "routes": [],
            "type": "ovs_bridge"
        }
    ]
}
(undercloud) [stack@undercloud ~]$

Suiteáil overcloud

I láthair na huaire níl againn ach fo-scamall, agus níl go leor nóid againn óna mbaileofar scáthlán. Mar sin, ar an gcéad dul síos, déanaimis na meaisíní fíorúla a theastaíonn uainn a imscaradh. Le linn an imscaradh, déanfaidh undercloud féin an OS agus na bogearraí riachtanacha a shuiteáil ar an meaisín overcloud - is é sin, ní gá dúinn an meaisín a imscaradh go hiomlán, ach diosca (nó dioscaí) a chruthú dó agus a pharaiméadair a chinneadh - is é sin , go deimhin, faigheann muid freastalaí lom gan OS suiteáilte air .

Rachaimid chuig an bhfillteán le dioscaí ár meaisíní fíorúla agus cruthaímid dioscaí den mhéid riachtanach:


cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -o preallocation=metadata control-1.qcow2 60G
qemu-img create -f qcow2 -o preallocation=metadata compute-1.qcow2 60G
qemu-img create -f qcow2 -o preallocation=metadata compute-2.qcow2 60G
qemu-img create -f qcow2 -o preallocation=metadata storage-1.qcow2 160G
qemu-img create -f qcow2 -o preallocation=metadata storage-2.qcow2 160G

Ós rud é go bhfuilimid ag feidhmiú mar fhréamh, ní mór dúinn úinéir na dioscaí seo a athrú ionas nach mbeidh fadhb le cearta againn:


[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]# 

TABHAIR FAOI DEARA: Mura bhfuil sé ar intinn agat Ceph a shuiteáil chun é a staidéar, ansin ní chruthaíonn na horduithe 3 nód ar a laghad le dhá dhiosca ar a laghad, ach sa teimpléad léiríonn sé go n -úsáidfear dioscaí fíorúla VDA, VDB, etc.

Go hiontach, anois ní mór dúinn na meaisíní seo go léir a shainiú:


virt-install --name control-1 --ram 32768 --vcpus 8 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/control-1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --network network:ovs-network-1,model=virtio,portgroup=trunk-1 --dry-run --print-xml > /tmp/control-1.xml  

virt-install --name storage-1 --ram 16384 --vcpus 4 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/storage-1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/storage-1.xml  

virt-install --name storage-2 --ram 16384 --vcpus 4 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/storage-2.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/storage-2.xml  

virt-install --name compute-1 --ram 32768 --vcpus 12 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/compute-1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/compute-1.xml  

virt-install --name compute-2 --ram 32768 --vcpus 12 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/compute-2.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/compute-2.xml 

Ag an deireadh tá ordú -print-xml> /tmp/storage-1.xml, a chruthaíonn comhad xml le cur síos ar gach meaisín san fhillteán /tmp/; mura gcuireann tú é leis, ní bheidh tú in ann meaisíní fíorúla a aithint.

Anois ní mór dúinn na meaisíní seo go léir a shainiú i virsh:


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 ~]#

Anois nuance beag - úsáideann tripleO IPMI chun freastalaithe a bhainistiú le linn suiteála agus introspection.

Is éard atá in introspection an próiseas chun na crua-earraí a iniúchadh chun na paraiméadair atá riachtanach chun nóid a sholáthar a fháil. Déantar introspection ag baint úsáide as an scéal, seirbhís atá deartha chun oibriú le freastalaithe miotail lom.

Ach seo an fhadhb - cé go bhfuil calafort ar leith ag freastalaithe crua-earraí IPMI (nó calafort roinnte, ach níl sé seo tábhachtach), níl na calafoirt sin ag meaisíní fíorúla. Anseo tagann crutch ar a dtugtar vbmc chun ár gcabhair - áirgiúlacht a ligeann duit aithris a dhéanamh ar phort IPMI. Is fiú aird a thabhairt ar an nuance seo go háirithe dóibh siúd ar mian leo saotharlann den sórt sin a bhunú ar hypervisor ESXI - le bheith macánta, níl a fhios agam an bhfuil analóg de vbmc aige, mar sin is fiú smaoineamh ar an gceist seo roimh imscaradh gach rud. .

Suiteáil vbmc:


yum install yum install python2-virtualbmc

Mura féidir le do OS an pacáiste a aimsiú, cuir an stór leis:

yum install -y https://www.rdoproject.org/repos/rdo-release.rpm

Anois leagamar an fóntais. Tá gach rud anseo banal go dtí an pointe náire. Anois tá sé loighciúil nach bhfuil aon freastalaithe ar an liosta vbmc


[root@hp-gen9 ~]# vbmc list

[root@hp-gen9 ~]# 

Chun iad a bheith le feiceáil, ní mór iad a dhearbhú de láimh mar seo:


[root@hp-gen9 ~]# vbmc add control-1 --port 7001 --username admin --password admin
[root@hp-gen9 ~]# vbmc add storage-1 --port 7002 --username admin --password admin
[root@hp-gen9 ~]# vbmc add storage-2 --port 7003 --username admin --password admin
[root@hp-gen9 ~]# vbmc add compute-1 --port 7004 --username admin --password admin
[root@hp-gen9 ~]# vbmc add compute-2 --port 7005 --username admin --password admin
[root@hp-gen9 ~]#
[root@hp-gen9 ~]# vbmc list
+-------------+--------+---------+------+
| Domain name | Status | Address | Port |
+-------------+--------+---------+------+
| compute-1   | down   | ::      | 7004 |
| compute-2   | down   | ::      | 7005 |
| control-1   | down   | ::      | 7001 |
| storage-1   | down   | ::      | 7002 |
| storage-2   | down   | ::      | 7003 |
+-------------+--------+---------+------+
[root@hp-gen9 ~]#

Sílim go bhfuil an chomhréir ordaithe soiléir gan mhíniú. Mar sin féin, faoi láthair tá ár seisiúin go léir i stádas DOWN. Chun iad a aistriú go stádas UP, ní mór duit iad a chumasú:


[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 ~]#

Agus an teagmháil dheireanach - ní mór duit na rialacha balla dóiteáin a cheartú (nó é a dhíchumasú go hiomlán):


firewall-cmd --zone=public --add-port=7001/udp --permanent
firewall-cmd --zone=public --add-port=7002/udp --permanent
firewall-cmd --zone=public --add-port=7003/udp --permanent
firewall-cmd --zone=public --add-port=7004/udp --permanent
firewall-cmd --zone=public --add-port=7005/udp --permanent
firewall-cmd --reload

Anois, a ligean ar dul go dtí undercloud agus seiceáil go bhfuil gach rud ag obair. Is é seoladh an mheaisín óstaigh ná 192.168.255.200, ar undercloud chuireamar an pacáiste ipmitool riachtanach leis le linn ullmhúcháin le haghaidh imscaradh:


[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

Mar a fheiceann tú, tá an nód rialaithe seolta againn go rathúil trí vbmc. Anois déanaimis é a mhúchadh agus bogadh ar aghaidh:


[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 ~]#

Is é an chéad chéim eile ná introspection na nóid ar a mbeidh overcloud a shuiteáil. Chun seo a dhéanamh, ní mór dúinn comhad json a ullmhú le cur síos ar ár nóid. Tabhair faoi deara, murab ionann agus suiteáil ar fhreastalaithe lom, go léiríonn an comhad an port ar a bhfuil vbmc ag rith do gach meaisín.


[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

Tabhair faoi deara: tá dhá chomhéadan ag an nód rialaithe, ach sa chás seo níl sé seo tábhachtach, sa suiteáil seo beidh ceann amháin go leor dúinn.

Anois ullmhaímid an comhad json. Ní mór dúinn seoladh poipín an chalafoirt a chur in iúl trína ndéanfar an soláthar, paraiméadair na nóid, ainmneacha a thabhairt dóibh agus a chur in iúl conas dul chuig ipmi:


{
    "nodes":[
        {
            "mac":[
                "52:54:00:20:a2:2f"
            ],
            "cpu":"8",
            "memory":"32768",
            "disk":"60",
            "arch":"x86_64",
            "name":"control-1",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7001"
        },
        {
            "mac":[
                "52:54:00:79:0b:cb"
            ],
            "cpu":"4",
            "memory":"16384",
            "disk":"160",
            "arch":"x86_64",
            "name":"storage-1",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7002"
        },
        {
            "mac":[
                "52:54:00:a7:fe:27"
            ],
            "cpu":"4",
            "memory":"16384",
            "disk":"160",
            "arch":"x86_64",
            "name":"storage-2",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7003"
        },
        {
            "mac":[
                "52:54:00:98:e9:d6"
            ],
            "cpu":"12",
            "memory":"32768",
            "disk":"60",
            "arch":"x86_64",
            "name":"compute-1",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7004"
        },
        {
            "mac":[
                "52:54:00:6a:ea:be"
            ],
            "cpu":"12",
            "memory":"32768",
            "disk":"60",
            "arch":"x86_64",
            "name":"compute-2",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7005"
        }
    ]
}

Anois ní mór dúinn íomhánna a ullmhú le haghaidh ironic. Chun seo a dhéanamh, iad a íoslódáil trí wget agus a shuiteáil:

(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 ~]$

Íomhánna a uaslódáil chuig 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 ~]$

Ag seiceáil go bhfuil gach íomhá lódáilte


(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 ~]$

Rud amháin eile - ní mór duit freastalaí DNS a chur leis:


(undercloud) [stack@undercloud ~]$ openstack subnet list
+--------------------------------------+-----------------+--------------------------------------+------------------+
| ID                                   | Name            | Network                              | Subnet           |
+--------------------------------------+-----------------+--------------------------------------+------------------+
| f45dea46-4066-42aa-a3c4-6f84b8120cab | ctlplane-subnet | 6ca013dc-41c2-42d8-9d69-542afad53392 | 192.168.255.0/24 |
+--------------------------------------+-----------------+--------------------------------------+------------------+
(undercloud) [stack@undercloud ~]$ openstack subnet show f45dea46-4066-42aa-a3c4-6f84b8120cab
+-------------------+-----------------------------------------------------------+
| Field             | Value                                                     |
+-------------------+-----------------------------------------------------------+
| allocation_pools  | 192.168.255.11-192.168.255.50                             |
| cidr              | 192.168.255.0/24                                          |
| created_at        | 2020-08-13T20:10:37Z                                      |
| description       |                                                           |
| dns_nameservers   |                                                           |
| enable_dhcp       | True                                                      |
| gateway_ip        | 192.168.255.1                                             |
| host_routes       | destination='169.254.169.254/32', gateway='192.168.255.1' |
| id                | f45dea46-4066-42aa-a3c4-6f84b8120cab                      |
| ip_version        | 4                                                         |
| ipv6_address_mode | None                                                      |
| ipv6_ra_mode      | None                                                      |
| name              | ctlplane-subnet                                           |
| network_id        | 6ca013dc-41c2-42d8-9d69-542afad53392                      |
| prefix_length     | None                                                      |
| project_id        | a844ccfcdb2745b198dde3e1b28c40a3                          |
| revision_number   | 0                                                         |
| segment_id        | None                                                      |
| service_types     |                                                           |
| subnetpool_id     | None                                                      |
| tags              |                                                           |
| updated_at        | 2020-08-13T20:10:37Z                                      |
+-------------------+-----------------------------------------------------------+
(undercloud) [stack@undercloud ~]$ 
(undercloud) [stack@undercloud ~]$ neutron subnet-update f45dea46-4066-42aa-a3c4-6f84b8120cab --dns-nameserver 192.168.255.253                                    
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Updated subnet: f45dea46-4066-42aa-a3c4-6f84b8120cab
(undercloud) [stack@undercloud ~]$

Anois is féidir linn an t-ordú le haghaidh introspection a thabhairt:

(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 ~]$

Mar a fheiceann tú ón aschur, críochnaíodh gach rud gan earráidí. Déanaimis seiceáil go bhfuil gach nóid sa riocht atá ar fáil:


(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 ~]$ 

Má tá na nóid i stát difriúil, de ghnáth inbhainistithe, ansin chuaigh rud éigin mícheart agus ní mór duit breathnú ar an logáil isteach agus a dhéanamh amach cén fáth ar tharla sé seo. Coinnigh i gcuimhne go bhfuil muid ag baint úsáide as fíorúlú sa chás seo agus d'fhéadfadh go mbeadh fabhtanna ag baint le húsáid meaisíní fíorúla nó vbmc.

Ansin, ní mór dúinn a chur in iúl cén nód a dhéanfaidh an fheidhm - is é sin, cuir in iúl an phróifíl lena n-imscarfar an nód:


(undercloud) [stack@undercloud ~]$ openstack overcloud profiles list
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| Node UUID                            | Node Name | Provision State | Current Profile | Possible Profiles |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | available       | None            |                   |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | available       | None            |                   |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | available       | None            |                   |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | available       | None            |                   |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | available       | None            |                   |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
(undercloud) [stack@undercloud ~]$ openstack flavor list
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
| ID                                   | Name          |  RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
| 168af640-7f40-42c7-91b2-989abc5c5d8f | swift-storage | 4096 |   40 |         0 |     1 | True      |
| 52148d1b-492e-48b4-b5fc-772849dd1b78 | baremetal     | 4096 |   40 |         0 |     1 | True      |
| 56e66542-ae60-416d-863e-0cb192d01b09 | control       | 4096 |   40 |         0 |     1 | True      |
| af6796e1-d0c4-4bfe-898c-532be194f7ac | block-storage | 4096 |   40 |         0 |     1 | True      |
| e4d50fdd-0034-446b-b72c-9da19b16c2df | compute       | 4096 |   40 |         0 |     1 | True      |
| fc2e3acf-7fca-4901-9eee-4a4d6ef0265d | ceph-storage  | 4096 |   40 |         0 |     1 | True      |
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
(undercloud) [stack@undercloud ~]$

Sonraigh an phróifíl do gach nód:


openstack baremetal node set --property capabilities='profile:control,boot_option:local' b4b2cf4a-b7ca-4095-af13-cc83be21c4f5
openstack baremetal node set --property capabilities='profile:ceph-storage,boot_option:local' b89a72a3-6bb7-429a-93bc-48393d225838
openstack baremetal node set --property capabilities='profile:ceph-storage,boot_option:local' 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e
openstack baremetal node set --property capabilities='profile:compute,boot_option:local' bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8
openstack baremetal node set --property capabilities='profile:compute,boot_option:local' 766ab623-464c-423d-a529-d9afb69d1167

Déanaimis seiceáil go ndearna muid gach rud i gceart:


(undercloud) [stack@undercloud ~]$ openstack overcloud profiles list
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| Node UUID                            | Node Name | Provision State | Current Profile | Possible Profiles |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | available       | control         |                   |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | available       | ceph-storage    |                   |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | available       | ceph-storage    |                   |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | available       | compute         |                   |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | available       | compute         |                   |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
(undercloud) [stack@undercloud ~]$

Má tá gach rud ceart, tugaimid an t-ordú chun overcloud a imscaradh:

openstack overcloud deploy --templates --control-scale 1 --compute-scale 2  --ceph-storage-scale 2 --control-flavor control --compute-flavor compute  --ceph-storage-flavor ceph-storage --libvirt-type qemu

I bhfíorshuiteáil, úsáidfear teimpléid saincheaptha go nádúrtha, inár gcás féin déanfaidh sé seo an próiseas casta go mór, mar ní mór gach eagarthóireacht sa teimpléad a mhíniú. Mar a scríobhadh níos luaithe, beidh fiú suiteáil simplí go leor dúinn a fheiceáil conas a oibríonn sé.

Tabhair faoi deara: tá gá leis an athróg qemu --libvirt-type sa chás seo, toisc go n-úsáidfimid fíorúlú neadaithe. Seachas sin, ní bheidh tú in ann meaisíní fíorúla a rith.

Anois tá thart ar uair an chloig agat, nó b'fhéidir níos mó (ag brath ar chumais na crua-earraí) agus ní féidir leat ach a bheith ag súil go bhfeicfidh tú an teachtaireacht seo a leanas tar éis an ama seo:


2020-08-14 08:39:21Z [overcloud]: CREATE_COMPLETE  Stack CREATE completed successfully

 Stack overcloud CREATE_COMPLETE 

Host 192.168.255.21 not found in /home/stack/.ssh/known_hosts
Started Mistral Workflow tripleo.deployment.v1.get_horizon_url. Execution ID: fcb996cd-6a19-482b-b755-2ca0c08069a9
Overcloud Endpoint: http://192.168.255.21:5000/
Overcloud Horizon Dashboard URL: http://192.168.255.21:80/dashboard
Overcloud rc file: /home/stack/overcloudrc
Overcloud Deployed
(undercloud) [stack@undercloud ~]$

Anois tá leagan beagnach lán de Openstack agat, ar féidir leat staidéar a dhéanamh air, triail a bhaint as, etc.

Déanaimis seiceáil go bhfuil gach rud ag obair i gceart. I gcruach eolaire baile an úsáideora tá dhá chomhad - stackrc amháin (chun undercloud a bhainistiú) agus an dara overcloudrc (chun overcloud a bhainistiú). Ní mór na comhaid seo a shonrú mar fhoinse, ós rud é go bhfuil faisnéis iontu atá riachtanach don fhíordheimhniú.


(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 ~]$

Éilíonn mo shuiteáil teagmháil bheag amháin - ag cur bealach ar an rialtóir, ós rud é go bhfuil an meaisín a bhfuil mé ag obair leis ar líonra difriúil. Chun seo a dhéanamh, téigh go dtí control-1 faoin gcuntas teas-admin agus cláraigh an bealach


(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

Bhuel, anois is féidir leat dul isteach sa spéire. Tá gach eolas - seoltaí, logáil isteach agus pasfhocal - sa chomhad /home/stack/overcloudrc. Breathnaíonn an léaráid deiridh mar seo:

Réamhrá don chuid líonra den bhonneagar scamall

Dála an scéil, inár suiteáil, eisíodh seoltaí meaisíní trí DHCP agus, mar a fheiceann tú, eisítear iad “go randamach”. Is féidir leat a shainiú go docht sa teimpléad cén seoladh ba chóir a cheangal leis an meaisín le linn imscaradh, más gá duit é.

Conas a shreabhann an trácht idir meaisíní fíorúla?

San Airteagal seo féachfaimid ar thrí rogha maidir le trácht a théann tharstu

  • Dhá mheaisín ar hypervisor amháin ar líonra L2 amháin
  • Dhá mheaisín ar hypervisors éagsúla ar an líonra L2 céanna
  • Dhá mheaisín ar líonraí éagsúla (fréamhú traslíonra)

Cásanna a bhfuil rochtain acu ar an domhan lasmuigh trí líonra seachtrach, ag baint úsáide as seoltaí ar snámh, chomh maith le ródú dáilte, déanfaimid machnamh ar an gcéad uair eile, anois díreoimid ar thrácht inmheánach anois.

Le seiceáil, cuirimis an léaráid seo a leanas le chéile:

Réamhrá don chuid líonra den bhonneagar scamall

Tá 4 mheaisín fhíorúla cruthaithe againn - 3 cheann ar líonra L2 amháin - net-1, agus 1 cheann eile ar an ngréasán net-2

(overcloud) [stack@undercloud ~]$ nova list --tenant 5e18ce8ec9594e00b155485f19895e6c             
+--------------------------------------+------+----------------------------------+--------+------------+-------------+-----------------+
| ID                                   | Name | Tenant ID                        | Status | Task State | Power State | Networks        |
+--------------------------------------+------+----------------------------------+--------+------------+-------------+-----------------+
| f53b37b5-2204-46cc-aef0-dba84bf970c0 | vm-1 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | -          | Running     | net-1=10.0.1.85 |
| fc8b6722-0231-49b0-b2fa-041115bef34a | vm-2 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | -          | Running     | net-1=10.0.1.88 |
| 3cd74455-b9b7-467a-abe3-bd6ff765c83c | vm-3 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | -          | Running     | net-1=10.0.1.90 |
| 7e836338-6772-46b0-9950-f7f06dbe91a8 | vm-4 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | -          | Running     | net-2=10.0.2.8  |
+--------------------------------------+------+----------------------------------+--------+------------+-------------+-----------------+
(overcloud) [stack@undercloud ~]$ 

Feicfimid cad iad na hypervisors ar a bhfuil na meaisíní cruthaithe suite:

(overcloud) [stack@undercloud ~]$ nova show f53b37b5-2204-46cc-aef0-dba84bf970c0 | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname             | vm-1                                                     |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | overcloud-novacompute-0.localdomain                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000001                                        |
(overcloud) [stack@undercloud ~]$ nova show fc8b6722-0231-49b0-b2fa-041115bef34a | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname             | vm-2                                                     |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | overcloud-novacompute-1.localdomain                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000002                                        |
(overcloud) [stack@undercloud ~]$ nova show 3cd74455-b9b7-467a-abe3-bd6ff765c83c | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname             | vm-3                                                     |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | overcloud-novacompute-0.localdomain                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000003                                        |
(overcloud) [stack@undercloud ~]$ nova show 7e836338-6772-46b0-9950-f7f06dbe91a8 | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname             | vm-4                                                     |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | overcloud-novacompute-1.localdomain                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000004                                        |

(overcloud) [stack@undercloud ~]$
Tá meaisíní vm-1 agus vm-3 suite ar compute-0, tá meaisíní vm-2 agus vm-4 suite ar nód compute-1.

Ina theannta sin, cruthaíodh ródaire fíorúil chun ródú a chumasú idir na líonraí sonraithe:

(overcloud) [stack@undercloud ~]$ openstack router list  --project 5e18ce8ec9594e00b155485f19895e6c
+--------------------------------------+----------+--------+-------+-------------+-------+----------------------------------+
| ID                                   | Name     | Status | State | Distributed | HA    | Project                          |
+--------------------------------------+----------+--------+-------+-------------+-------+----------------------------------+
| 0a4d2420-4b9c-46bd-aec1-86a1ef299abe | router-1 | ACTIVE | UP    | False       | False | 5e18ce8ec9594e00b155485f19895e6c |
+--------------------------------------+----------+--------+-------+-------------+-------+----------------------------------+
(overcloud) [stack@undercloud ~]$ 

Tá dhá chalafort fhíorúla ag an ródaire, a fheidhmíonn mar gheataí do líonraí:

(overcloud) [stack@undercloud ~]$ openstack router show 0a4d2420-4b9c-46bd-aec1-86a1ef299abe | grep interface
| interfaces_info         | [{"subnet_id": "2529ad1a-6b97-49cd-8515-cbdcbe5e3daa", "ip_address": "10.0.1.254", "port_id": "0c52b15f-8fcc-4801-bf52-7dacc72a5201"}, {"subnet_id": "335552dd-b35b-456b-9df0-5aac36a3ca13", "ip_address": "10.0.2.254", "port_id": "92fa49b5-5406-499f-ab8d-ddf28cc1a76c"}] |
(overcloud) [stack@undercloud ~]$ 

Ach sula ndéanaimid breathnú ar an gcaoi a sreabhann an trácht, déanaimis féachaint ar an méid atá againn faoi láthair ar an nód rialaithe (atá ina nód líonra freisin) agus ar an nód ríomh. Let tús leis an nód ríomh.


[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-vsctl show
[heat-admin@overcloud-novacompute-0 ~]$ sudo sudo ovs-appctl dpif/show
system@ovs-system: hit:3 missed:3
  br-ex:
    br-ex 65534/1: (internal)
    phy-br-ex 1/none: (patch: peer=int-br-ex)
  br-int:
    br-int 65534/2: (internal)
    int-br-ex 1/none: (patch: peer=phy-br-ex)
    patch-tun 2/none: (patch: peer=patch-int)
  br-tun:
    br-tun 65534/3: (internal)
    patch-int 1/none: (patch: peer=patch-tun)
    vxlan-c0a8ff0f 3/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.15)
    vxlan-c0a8ff1a 2/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.26)
[heat-admin@overcloud-novacompute-0 ~]$

I láthair na huaire, tá trí dhroichead ubhagán ag an nód - br-int, br-tun, br-ex. Eatarthu, mar a fheicimid, tá sraith de chomhéadain. Ar mhaithe le tuiscint, déanaimis na comhéadain seo go léir a bhreacadh ar an léaráid agus féach cad a tharlaíonn.

Réamhrá don chuid líonra den bhonneagar scamall

Ag féachaint ar na seoltaí ar ardaítear tolláin VXLAN, is féidir a fheiceáil go n-ardaítear tollán amháin go ríomh-1 (192.168.255.26), féachann an dara tollán le Control-1 (192.168.255.15). Ach is é an rud is spéisiúla ná nach bhfuil comhéadain fhisiceacha ag BR-EX, agus má fhéachann tú ar na sreafaí atá cumraithe, is féidir leat a fheiceáil nach féidir leis an droichead seo ach trácht a scaoileadh faoi láthair.


[heat-admin@overcloud-novacompute-0 ~]$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 192.168.255.19  netmask 255.255.255.0  broadcast 192.168.255.255
        inet6 fe80::5054:ff:fe6a:eabe  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:6a:ea:be  txqueuelen 1000  (Ethernet)
        RX packets 2909669  bytes 4608201000 (4.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1821057  bytes 349198520 (333.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[heat-admin@overcloud-novacompute-0 ~]$ 

Mar a fheiceann tú ón aschur, déantar an seoladh a scriú go díreach chuig an gcalafort fisiceach, agus ní chuig an gcomhéadan droichead fíorúil.


[heat-admin@overcloud-novacompute-0 ~]$  sudo ovs-appctl fdb/show br-ex
 port  VLAN  MAC                Age
[heat-admin@overcloud-novacompute-0 ~]$  sudo ovs-ofctl dump-flows br-ex
 cookie=0x9169eae8f7fe5bb2, duration=216686.864s, table=0, n_packets=303, n_bytes=26035, priority=2,in_port="phy-br-ex" actions=drop
 cookie=0x9169eae8f7fe5bb2, duration=216686.887s, table=0, n_packets=0, n_bytes=0, priority=0 actions=NORMAL
[heat-admin@overcloud-novacompute-0 ~]$ 

De réir na chéad riail, ní mór gach rud a tháinig ón gcalafort phy-br-ex a chaitheamh amach.
I ndáiríre, níl áit ar bith eile ann do thrácht teacht isteach sa droichead seo ach amháin ón gcomhéadan seo (an comhéadan le br-int), agus de réir na dtiteann, tá trácht BUM ag eitilt isteach sa droichead cheana féin.

Is é sin, ní féidir le trácht an nód seo a fhágáil ach amháin tríd an tollán VxLAN agus gan aon rud eile. Mar sin féin, má chuireann tú an DVR ar siúl, athróidh an scéal, ach déileálfaimid leis sin uair eile. Agus aonrú líonra á úsáid agat, mar shampla ag baint úsáide as vlans, ní comhéadan L3 amháin a bheidh agat i vlan 0, ach roinnt comhéadain. Mar sin féin, fágfaidh trácht VxLAN an nód ar an mbealach céanna, ach freisin cuimsithe i vlan tiomnaithe de chineál éigin.

Táimid tar éis an nód a ríomh a réiteach, bogadh ar aghaidh go dtí an nód rialaithe.


[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl dpif/show
system@ovs-system: hit:930491 missed:825
  br-ex:
    br-ex 65534/1: (internal)
    eth0 1/2: (system)
    phy-br-ex 2/none: (patch: peer=int-br-ex)
  br-int:
    br-int 65534/3: (internal)
    int-br-ex 1/none: (patch: peer=phy-br-ex)
    patch-tun 2/none: (patch: peer=patch-int)
  br-tun:
    br-tun 65534/4: (internal)
    patch-int 1/none: (patch: peer=patch-tun)
    vxlan-c0a8ff13 3/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.19)
    vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$

Go deimhin, is féidir linn a rá go bhfuil gach rud mar an gcéanna, ach níl an seoladh IP ar an gcomhéadan fisiceach a thuilleadh ach ar an droichead fíorúil. Déantar é seo toisc gurb é an calafort seo an calafort trína n-imeoidh trácht go dtí an domhan lasmuigh.


[heat-admin@overcloud-controller-0 ~]$ ifconfig br-ex
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 192.168.255.15  netmask 255.255.255.0  broadcast 192.168.255.255
        inet6 fe80::5054:ff:fe20:a22f  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:20:a2:2f  txqueuelen 1000  (Ethernet)
        RX packets 803859  bytes 1732616116 (1.6 GiB)
        RX errors 0  dropped 63  overruns 0  frame 0
        TX packets 808475  bytes 121652156 (116.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl fdb/show br-ex
 port  VLAN  MAC                Age
    3   100  28:c0:da:00:4d:d3   35
    1     0  28:c0:da:00:4d:d3   35
    1     0  52:54:00:98:e9:d6    0
LOCAL     0  52:54:00:20:a2:2f    0
    1     0  52:54:00:2c:08:9e    0
    3   100  52:54:00:20:a2:2f    0
    1     0  52:54:00:6a:ea:be    0
[heat-admin@overcloud-controller-0 ~]$ 

Tá an calafort seo ceangailte leis an droichead br-ex agus ós rud é nach bhfuil clibeanna vlan air, is calafort trunc é an calafort seo ar a gceadaítear gach vlan, anois téann an trácht lasmuigh gan chlib, mar atá léirithe ag vlan-id 0 sa aschur thuas.

Réamhrá don chuid líonra den bhonneagar scamall

Tá gach rud eile i láthair na huaire cosúil leis an nód ríomh - na droichid céanna, na tolláin céanna ag dul go dtí dhá nód ríomh.

Ní mheasfaimid nóid stórála san Airteagal seo, ach chun tuiscint a fháil is gá a rá go bhfuil an chuid líonra de na nóid seo banal go dtí an pointe náire. Inár gcás, níl ach calafort fisiceach amháin (eth0) le seoladh IP sannta dó agus sin é. Níl aon tolláin VxLAN, droichid tolláin, etc - níl aon ubhagán ar chor ar bith, mar níl aon phointe ann. Nuair a bheidh aonrú líonra á úsáid, beidh dhá chomhéadan ag an nód seo (calafoirt fhisiceacha, bodny, nó díreach dhá vlan - is cuma - braitheann sé ar cad is mian leat) - ceann le haghaidh bainistíochta, an dara ceann le haghaidh tráchta (ag scríobh chuig an diosca VM , léamh ón diosca, srl.)

Rinneamar amach cad atá againn ar na nóid in éagmais aon seirbhísí. Anois seolfaimid 4 mheaisín fhíorúla agus feicfimid conas a athraíonn an scéim a thuairiscítear thuas - ba cheart go mbeadh calafoirt, ródairí fíorúla, etc.

Go dtí seo tá cuma mar seo ar ár líonra:

Réamhrá don chuid líonra den bhonneagar scamall

Tá dhá mheaisín fhíorúla againn ar gach nód ríomhaire. Ag baint úsáide as ríomh-0 mar shampla, féachaimis conas a chuirtear gach rud san áireamh.


[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh list 
 Id    Name                           State
----------------------------------------------------
 1     instance-00000001              running
 3     instance-00000003              running

[heat-admin@overcloud-novacompute-0 ~]$ 

Níl ach comhéadan fíorúil amháin ag an meaisín - 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 ~]$ 

Breathnaíonn an comhéadan seo sa droichead 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 ~]$ 

Mar a fheiceann tú ón aschur, níl ach dhá chomhéadan sa droichead - tap95d96a75-a0 agus qvb95d96a75-a0.

Anseo is fiú fanacht beagán ar na cineálacha feistí líonra fíorúla in OpenStack:
vtap - comhéadan fíorúil ceangailte le sampla (VM)
qbr - droichead Linux
qvb agus qvo - vEth péire ceangailte le droichead Linux agus droichead Oscailte vSwitch
br-int, br-tun, br-vlan — Oscail droichid vSwitch
paiste-, int-br-, phy-br- - Comhéadain paiste oscailte vSwitch a nascann droichid
qg, qr, ha, fg, sg - Oscail calafoirt vSwitch a úsáideann gléasanna fíorúla chun nascadh le OVS

De réir mar a thuigeann tú, má tá calafort qvb95d96a75-a0 againn sa droichead, atá ina phéire vEth, ansin áit éigin tá a mhacasamhail, ar chóir a bheith ar a dtugtar go loighciúil qvo95d96a75-a0. Feicfimid cad iad na poirt atá ar OVS.


[heat-admin@overcloud-novacompute-0 ~]$ sudo sudo ovs-appctl dpif/show
system@ovs-system: hit:526 missed:91
  br-ex:
    br-ex 65534/1: (internal)
    phy-br-ex 1/none: (patch: peer=int-br-ex)
  br-int:
    br-int 65534/2: (internal)
    int-br-ex 1/none: (patch: peer=phy-br-ex)
    patch-tun 2/none: (patch: peer=patch-int)
    qvo5bd37136-47 6/6: (system)
    qvo95d96a75-a0 3/5: (system)
  br-tun:
    br-tun 65534/3: (internal)
    patch-int 1/none: (patch: peer=patch-tun)
    vxlan-c0a8ff0f 3/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.15)
    vxlan-c0a8ff1a 2/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.26)
[heat-admin@overcloud-novacompute-0 ~]$ 

Mar is féidir linn a fheiceáil, tá an port i br-int. Feidhmíonn Br-int mar lasc a chuireann deireadh le calafoirt meaisíní fíorúla. Chomh maith le qvo95d96a75-a0, tá an calafort qvo5bd37136-47 le feiceáil san aschur. Is é seo an calafort chuig an dara meaisín fíorúil. Mar thoradh air sin, tá cuma mar seo ar ár léaráid anois:

Réamhrá don chuid líonra den bhonneagar scamall

Ceist ar cheart go mbeadh spéis ag an léitheoir aireach láithreach - cad é an droichead linux idir an calafort meaisín fíorúil agus an calafort OVS? Is é an fírinne ná chun an meaisín a chosaint, úsáidtear grúpaí slándála, rud nach bhfuil níos mó ná iptables. Ní oibríonn OVS le iptables, mar sin ceapadh an “crutch” seo. Mar sin féin, tá sé ag éirí as feidhm - tá sé á chur in ionad conntrack i eisiúintí nua.

Is é sin, i ndeireadh na dála breathnaíonn an scéim mar seo:

Réamhrá don chuid líonra den bhonneagar scamall

Dhá mheaisín ar hypervisor amháin ar líonra L2 amháin

Ós rud é go bhfuil an dá VM seo suite ar an líonra L2 céanna agus ar an hypervisor céanna, beidh an trácht eatarthu ag sreabhadh go loighciúil go háitiúil trí br-int, toisc go mbeidh an dá mheaisín ar an VLAN céanna:


[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 ~]$ 

Dhá mheaisín ar hypervisors éagsúla ar an líonra L2 céanna

Anois, déanaimis a fheiceáil conas a rachaidh an trácht idir dhá mheaisín ar an líonra L2 céanna, ach suite ar hypervisors éagsúla. Le bheith ionraic, ní athróidh aon rud i bhfad, ní rachaidh trácht ach idir na hypervisors tríd an tollán VXLAN. Breathnaímid ar shampla.

Seoltaí na meaisíní fíorúla a mbeimid ag féachaint ar an trácht eatarthu:

[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 ~]$ 

Féachaimid ar an tábla seolta i BR-Int ar Dearc-0:

[heat-admin@overcloud-novacompute-0 ~]$  sudo ovs-appctl fdb/show br-int | grep fa:16:3e:72:ad:53
    2     1  fa:16:3e:72:ad:53    1
[heat-admin@overcloud-novacompute-0 ~]

Ba cheart do thrácht dul go calafort 2 - féachaimis cén cineál poirt atá ann:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl show br-int | grep addr
 1(int-br-ex): addr:7e:7f:28:1f:bd:54
 2(patch-tun): addr:0a:bd:07:69:58:d9
 3(qvo95d96a75-a0): addr:ea:50:9a:3d:69:58
 6(qvo5bd37136-47): addr:9a:d1:03:50:3d:96
 LOCAL(br-int): addr:1a:0f:53:97:b1:49
[heat-admin@overcloud-novacompute-0 ~]$

Is paiste-tun é seo - is é sin, an comhéadan i br-tun. Feicfimid cad a tharlaíonn don phacáiste ar br-tun:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl dump-flows br-tun | grep fa:16:3e:72:ad:53
 cookie=0x8759a56536b67a8e, duration=1387.959s, table=20, n_packets=1460, n_bytes=138880, hard_timeout=300, idle_age=0, hard_age=0, priority=1,vlan_tci=0x0001/0x0fff,dl_dst=fa:16:3e:72:ad:53 actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:2
[heat-admin@overcloud-novacompute-0 ~]$ 

Déantar an paicéad a phacáistiú i VxLAN agus a sheoladh chuig calafort 2. Feicfimid cá bhfuil calafort 2 mar thoradh:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl show br-tun | grep addr   
 1(patch-int): addr:b2:d1:f8:21:96:66
 2(vxlan-c0a8ff1a): addr:be:64:1f:75:78:a7
 3(vxlan-c0a8ff0f): addr:76:6f:b9:3c:3f:1c
 LOCAL(br-tun): addr:a2:5b:6d:4f:94:47
[heat-admin@overcloud-novacompute-0 ~]$

Is tollán vxlan é seo ar ríomh-1:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl dpif/show | egrep vxlan-c0a8ff1a
    vxlan-c0a8ff1a 2/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.26)
[heat-admin@overcloud-novacompute-0 ~]$

Rachaimid go ríomh-1 agus féach cad a tharlóidh ina dhiaidh sin leis an bpacáiste:

[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-appctl fdb/show br-int | egrep fa:16:3e:44:98:20
    2     1  fa:16:3e:44:98:20    1
[heat-admin@overcloud-novacompute-1 ~]$ 

Tá Mac sa tábla seolta ar aghaidh br-int ar ríomh-1, agus mar atá le feiceáil ón aschur thuas, tá sé le feiceáil trí phort 2, is é sin an port i dtreo br-tun:

[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-ofctl show br-int | grep addr   
 1(int-br-ex): addr:8a:d7:f9:ad:8c:1d
 2(patch-tun): addr:46:cc:40:bd:20:da
 3(qvoe7e23f1b-07): addr:12:78:2e:34:6a:c7
 4(qvo3210e8ec-c0): addr:7a:5f:59:75:40:85
 LOCAL(br-int): addr:e2:27:b2:ed:14:46

Bhuel, feicimid go bhfuil poipín ceann scríbe ann i BR-Int ar chompute-1:

[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-appctl fdb/show br-int | egrep fa:16:3e:72:ad:53
    3     1  fa:16:3e:72:ad:53    0
[heat-admin@overcloud-novacompute-1 ~]$ 

Is é sin le rá, beidh an paicéad faighte ag eitilt go calafort 3, agus tá cás meaisín fíorúil ann cheana féin -00000003 taobh thiar de.

Is é an áilleacht a bhaineann le húsáid Openstack le haghaidh foghlama ar bhonneagar fíorúil ná gur féidir linn trácht a ghabháil go héasca idir hypervisors agus féachaint cad atá ag tarlú leis. Seo é a dhéanfaimid anois, rith tcpdump ar an gcalafort vnet i dtreo ríomh-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*******************

Léiríonn an chéad líne go dtéann Patek ó sheoladh 10.0.1.85 chuig 10.0.1.88 (trácht ICMP), agus tá sé fillte i bpaicéad VxLAN le vni 22 agus téann an paicéad ó óstach 192.168.255.19 (ríomh-0) chun 192.168.255.26 a óstáil. .1 (ríomh-XNUMX). Is féidir linn a sheiceáil go bhfuil an VNI ag teacht leis an gceann atá sonraithe in ubhagán.

Fillfimid ar an líne seo action=load: 0-> NXM_OF_VLAN_TCI[],load: 0x16->NXM_NX_TUN_ID[],aschur:2. Is é 0x16 vni sa chóras uimhir heicsidheachúil. Déanaimis an uimhir seo a thiontú go dtí an 16ú córas:


16 = 6*16^0+1*16^1 = 6+16 = 22

Is é sin, comhfhreagraíonn vni don réaltacht.

Taispeánann an dara líne trácht ar ais, go maith, níl aon phointe ann é a mhíniú, tá gach rud soiléir ann.

Dhá mheaisín ar líonraí éagsúla (ródú idirlíonraí)

Is é an cás deireanach don lá atá inniu ann ná ródú idir líonraí laistigh de thionscadal amháin ag baint úsáide as ródaire fíorúil. Táimid ag smaoineamh ar chás gan DVR (féachfaimid air in airteagal eile), agus mar sin tarlaíonn ródú ar an nód líonra. Is é ár gcás, ní chuirtear an nód líonra in aonán ar leith agus tá sé suite ar an nód rialaithe.

Ar dtús, feicimis go n-oibríonn ródú:

$ 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

Ós rud é sa chás seo go gcaithfidh an paicéad dul go dtí an geata agus a bheith curtha ansin, ní mór dúinn seoladh poipín an gheata a fháil amach, agus féachaimid ar an tábla ARP mar shampla:

$ 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

Anois feicimis cá háit ar cheart an trácht le ceann scríbe (10.0.1.254) fa:16:3e:c4:64:70 a sheoladh:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl fdb/show br-int | egrep fa:16:3e:c4:64:70
    2     1  fa:16:3e:c4:64:70    0
[heat-admin@overcloud-novacompute-0 ~]$ 

Breathnaímid ar an áit a dtagann port 2:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl show br-int | grep addr
 1(int-br-ex): addr:7e:7f:28:1f:bd:54
 2(patch-tun): addr:0a:bd:07:69:58:d9
 3(qvo95d96a75-a0): addr:ea:50:9a:3d:69:58
 6(qvo5bd37136-47): addr:9a:d1:03:50:3d:96
 LOCAL(br-int): addr:1a:0f:53:97:b1:49
[heat-admin@overcloud-novacompute-0 ~]$ 

Tá gach rud loighciúil, téann an trácht go br-tun. Feicfimid cén tollán vxlan ina mbeidh sé fillte:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl dump-flows br-tun | grep fa:16:3e:c4:64:70
 cookie=0x8759a56536b67a8e, duration=3514.566s, table=20, n_packets=3368, n_bytes=317072, hard_timeout=300, idle_age=0, hard_age=0, priority=1,vlan_tci=0x0001/0x0fff,dl_dst=fa:16:3e:c4:64:70 actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:3
[heat-admin@overcloud-novacompute-0 ~]$ 

Is é an tríú calafort tollán vxlan:

[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-tun | grep addr
 1(patch-int): addr:a2:69:00:c5:fa:ba
 2(vxlan-c0a8ff1a): addr:86:f0:ce:d0:e8:ea
 3(vxlan-c0a8ff13): addr:72:aa:73:2c:2e:5b
 LOCAL(br-tun): addr:a6:cb:cd:72:1c:45
[heat-admin@overcloud-controller-0 ~]$ 

A bhreathnaíonn ar an nód rialaithe:

[heat-admin@overcloud-controller-0 ~]$ sudo sudo ovs-appctl dpif/show | grep vxlan-c0a8ff1a
    vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$ 

Tá an nód rialaithe sroichte ag an trácht, mar sin ní mór dúinn dul chuige agus féachaint conas a tharlóidh ródú.

Mar is cuimhin leat, d'fhéach an nód rialaithe taobh istigh díreach mar an gcéanna leis an nód ríofa - na trí dhroichead céanna, ní raibh ach calafort fisiciúil ag BR -EX trína bhféadfadh an nód trácht a sheoladh taobh amuigh. D'athraigh cruthú cásanna an chumraíocht ar na nóid ríofa - cuireadh Linux Bridge, inptables agus comhéadain leis na nóid. D'fhág cruthú líonraí agus ródaire fíorúil a mharc ar chumraíocht an nód rialaithe freisin.

Mar sin, is léir go gcaithfidh seoladh MAC an gheata a bheith sa tábla seolta ar aghaidh ar an nód rialaithe. Déanaimis seiceáil go bhfuil sé ann agus cén áit a bhfuil sé ag féachaint:

[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:c4:64:70
    5     1  fa:16:3e:c4:64:70    1
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$  sudo ovs-ofctl show br-int | grep addr
 1(int-br-ex): addr:2e:58:b6:db:d5:de
 2(patch-tun): addr:06:41:90:f0:9e:56
 3(tapca25a97e-64): addr:fa:16:3e:e6:2c:5c
 4(tap22015e46-0b): addr:fa:16:3e:76:c2:11
 5(qr-0c52b15f-8f): addr:fa:16:3e:c4:64:70
 6(qr-92fa49b5-54): addr:fa:16:3e:80:13:72
 LOCAL(br-int): addr:06:de:5d:ed:44:44
[heat-admin@overcloud-controller-0 ~]$ 

Tá an Mac le feiceáil ón gcalafort qr-0c52b15f-8f. Má théann muid ar ais go dtí liosta na gcalafort fíorúla in Openstack, úsáidtear an cineál calafoirt seo chun feistí fíorúla éagsúla a nascadh le OVS. Chun a bheith níos cruinne, is port é qr chuig an ródaire fíorúil, a léirítear mar ainmspás.

Feicfimid cad iad na spásanna ainmneacha atá ar an bhfreastalaí:

[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns
qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe (id: 2)
qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 (id: 1)
qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 (id: 0)
[heat-admin@overcloud-controller-0 ~]$ 

Mar a oiread agus trí chóip. Ach ag meas na n-ainmneacha, is féidir leat buille faoi thuairim a dhéanamh ar chuspóir gach ceann acu. Fillfimid ar chásanna le ID 0 agus 1 níos déanaí, anois tá suim againn in ainmspás qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe:


[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 ~]$ 

Tá dhá cheann inmheánacha sa spás seo a chruthaíomar níos luaithe. Cuireadh an dá chalafort fíorúla le BR-INT. Déanaimis seiceáil ar sheoladh MAC an chalafoirt QR-0C52B15F-8F, ó chuaigh an trácht, ag breithiúnas ar an seoladh MAC ceann scríbe, chuig an gcomhéadan seo.

[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe ifconfig qr-0c52b15f-8f
qr-0c52b15f-8f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 10.0.1.254  netmask 255.255.255.0  broadcast 10.0.1.255
        inet6 fe80::f816:3eff:fec4:6470  prefixlen 64  scopeid 0x20<link>
        ether fa:16:3e:c4:64:70  txqueuelen 1000  (Ethernet)
        RX packets 5356  bytes 427305 (417.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5195  bytes 490603 (479.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[heat-admin@overcloud-controller-0 ~]$ 

Is é sin, sa chás seo, oibríonn gach rud de réir dhlíthe na ródú caighdeánach. Ós rud é go bhfuil an trácht i ndán don óstach 10.0.2.8, caithfidh sé imeacht tríd an dara comhéadan qr-92fa49b5-54 agus dul tríd an tollán vxlan go dtí an nód ríomh:


[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.1.88                ether   fa:16:3e:72:ad:53   C                     qr-0c52b15f-8f
10.0.1.90                ether   fa:16:3e:83:ad:a4   C                     qr-0c52b15f-8f
10.0.2.8                 ether   fa:16:3e:6c:ad:9c   C                     qr-92fa49b5-54
10.0.2.42                ether   fa:16:3e:f5:0b:29   C                     qr-92fa49b5-54
10.0.1.85                ether   fa:16:3e:44:98:20   C                     qr-0c52b15f-8f
[heat-admin@overcloud-controller-0 ~]$ 

Tá gach rud loighciúil, gan aon iontas. Feicfimid cá bhfuil seoladh poipín an óstaigh 10.0.2.8 le feiceáil i br-int:

[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:6c:ad:9c
    2     2  fa:16:3e:6c:ad:9c    1
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-int | grep addr
 1(int-br-ex): addr:2e:58:b6:db:d5:de
 2(patch-tun): addr:06:41:90:f0:9e:56
 3(tapca25a97e-64): addr:fa:16:3e:e6:2c:5c
 4(tap22015e46-0b): addr:fa:16:3e:76:c2:11
 5(qr-0c52b15f-8f): addr:fa:16:3e:c4:64:70
 6(qr-92fa49b5-54): addr:fa:16:3e:80:13:72
 LOCAL(br-int): addr:06:de:5d:ed:44:44
[heat-admin@overcloud-controller-0 ~]$ 

De réir mar a bheifí ag súil leis, téann an trácht go br-tun, feicfimid cén tollán a dtéann an trácht isteach ina dhiaidh:

[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl dump-flows br-tun | grep fa:16:3e:6c:ad:9c
 cookie=0x2ab04bf27114410e, duration=5346.829s, table=20, n_packets=5248, n_bytes=498512, hard_timeout=300, idle_age=0, hard_age=0, priority=1,vlan_tci=0x0002/0x0fff,dl_dst=fa:16:3e:6c:ad:9c actions=load:0->NXM_OF_VLAN_TCI[],load:0x63->NXM_NX_TUN_ID[],output:2
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-tun | grep addr
 1(patch-int): addr:a2:69:00:c5:fa:ba
 2(vxlan-c0a8ff1a): addr:86:f0:ce:d0:e8:ea
 3(vxlan-c0a8ff13): addr:72:aa:73:2c:2e:5b
 LOCAL(br-tun): addr:a6:cb:cd:72:1c:45
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$ sudo sudo ovs-appctl dpif/show | grep vxlan-c0a8ff1a
    vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$ 

Téann an trácht isteach sa tollán le ríomh-1. Bhuel, ar ríomh-1 tá gach rud simplí - ó br-tun téann an pacáiste go br-int agus as sin go dtí an comhéadan meaisín fíorúil:

[heat-admin@overcloud-controller-0 ~]$ sudo sudo ovs-appctl dpif/show | grep vxlan-c0a8ff1a
    vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:6c:ad:9c
    4     2  fa:16:3e:6c:ad:9c    1
[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-ofctl show br-int | grep addr                  
 1(int-br-ex): addr:8a:d7:f9:ad:8c:1d
 2(patch-tun): addr:46:cc:40:bd:20:da
 3(qvoe7e23f1b-07): addr:12:78:2e:34:6a:c7
 4(qvo3210e8ec-c0): addr:7a:5f:59:75:40:85
 LOCAL(br-int): addr:e2:27:b2:ed:14:46
[heat-admin@overcloud-novacompute-1 ~]$ 

Déanaimis seiceáil gurb é seo an comhéadan ceart go deimhin:

[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 ~]$

I ndáiríre, chuaigh muid an bealach ar fad tríd an bpacáiste. Sílim gur thug tú faoi deara go ndeachaigh an trácht trí tholláin vxlan éagsúla agus gur tháinig siad amach le VNIanna éagsúla. Feicfimid cén cineál VNI iad seo, agus ina dhiaidh sin baileoimid dumpáil ar chalafort rialaithe an nód agus déanfaimid cinnte go sreabhann an trácht go díreach mar a thuairiscítear thuas.
Mar sin, tá na gníomhartha seo a leanas ag an tollán chun-0 a ríomh = ualach: 0-> NXM_OF_VLAN_TCI[],ualach: 0x16-> NXM_NX_TUN_ID[],aschur:3. Déanaimis 0x16 a thiontú go dtí an córas uimhir dheachúil:


0x16 = 6*16^0+1*16^1 = 6+16 = 22

Tá an VNI seo a leanas ag an tollán chun-1 a ríomh: gníomhartha = ualach: 0-> NXM_OF_VLAN_TCI[],ualach: 0x63->NXM_NX_TUN_ID[],aschur:2. Déanaimis 0x63 a thiontú go dtí an córas uimhir dheachúil:


0x63 = 3*16^0+6*16^1 = 3+96 = 99

Bhuel, féachaimis anois ar an dumpáil:

[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*******************

Is é an chéad phaicéad paicéad vxlan ó óstach 192.168.255.19 (ríomh-0) chun 192.168.255.15 (control-1) a óstáil le vni 22, taobh istigh a bhfuil paicéad ICMP pacáistithe ó óstach 10.0.1.85 chun óstach 10.0.2.8. Mar a ríomhamar thuas, tagann vni leis an méid a chonaic muid san aschur.

Is é an dara paicéad paicéad vxlan ó óstach 192.168.255.15 (control-1) chun 192.168.255.26 (ríomh-1) a óstáil le vni 99, taobh istigh a bhfuil paicéad ICMP pacáistithe ó óstach 10.0.1.85 chun óstach 10.0.2.8. Mar a ríomhamar thuas, tagann vni leis an méid a chonaic muid san aschur.

Is trácht fillte iad an dá phacáiste eile ó 10.0.2.8 ní 10.0.1.85.

Is é sin, sa deireadh fuair muid an scéim nód rialaithe seo a leanas:

Réamhrá don chuid líonra den bhonneagar scamall

Féach mar sin é? Rinneamar dearmad ar dhá ainmspás:

[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns
qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe (id: 2)
qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 (id: 1)
qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 (id: 0)
[heat-admin@overcloud-controller-0 ~]$ 

Agus muid ag caint faoi ailtireacht an ardáin scamall, bheadh ​​​​sé go maith dá bhfaigheadh ​​meaisíní seoltaí go huathoibríoch ó fhreastalaí DHCP. Seo dhá fhreastalaí DHCP dár dhá líonra 10.0.1.0/24 agus 10.0.2.0/24.

Déanaimis seiceáil go bhfuil sé seo fíor. Níl ach seoladh amháin san ainmspás seo - 10.0.1.1 - seoladh an fhreastalaí DHCP féin, agus tá sé san áireamh freisin i br-int:

[heat-admin@overcloud-controller-0 ~]$ sudo ip netns exec qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1  bytes 28 (28.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1  bytes 28 (28.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tapca25a97e-64: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 10.0.1.1  netmask 255.255.255.0  broadcast 10.0.1.255
        inet6 fe80::f816:3eff:fee6:2c5c  prefixlen 64  scopeid 0x20<link>
        ether fa:16:3e:e6:2c:5c  txqueuelen 1000  (Ethernet)
        RX packets 129  bytes 9372 (9.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 49  bytes 6154 (6.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Feicfimid an bhfuil próisis ina bhfuil qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 ina n-ainm ar an nód rialaithe:


[heat-admin@overcloud-controller-0 ~]$ ps -aux | egrep qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 
root      640420  0.0  0.0   4220   348 ?        Ss   11:31   0:00 dumb-init --single-child -- ip netns exec qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 /usr/sbin/dnsmasq -k --no-hosts --no-resolv --pid-file=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/host --addn-hosts=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/opts --dhcp-leasefile=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/leases --dhcp-match=set:ipxe,175 --local-service --bind-dynamic --dhcp-range=set:subnet-335552dd-b35b-456b-9df0-5aac36a3ca13,10.0.2.0,static,255.255.255.0,86400s --dhcp-option-force=option:mtu,1450 --dhcp-lease-max=256 --conf-file= --domain=openstacklocal
heat-ad+  951620  0.0  0.0 112944   980 pts/0    S+   18:50   0:00 grep -E --color=auto qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638
[heat-admin@overcloud-controller-0 ~]$ 

Tá a leithéid de phróiseas ann agus bunaithe ar an bhfaisnéis a chuirtear i láthair san aschur thuas, is féidir linn, mar shampla, a fheiceáil cad atá againn faoi láthair ar cíos:

[heat-admin@overcloud-controller-0 ~]$ cat /var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/leases
1597492111 fa:16:3e:6c:ad:9c 10.0.2.8 host-10-0-2-8 01:fa:16:3e:6c:ad:9c
1597491115 fa:16:3e:76:c2:11 10.0.2.1 host-10-0-2-1 *
[heat-admin@overcloud-controller-0 ~]$

Mar thoradh air sin, faigheann muid an tsraith seirbhísí seo a leanas ar an nód rialaithe:

Réamhrá don chuid líonra den bhonneagar scamall

Ну и имейте ввиду — это всего лишь — 4 машины, 2 внутренние сети и один виртуальный маршрутизатор… У нас тут нет сейчас внешних сетей, кучи разных проектов, каждый со своими сетями (пересекающимися), и у нас выключен распределенный маршрутизатор, да в конце концов в тестовом стенде была всего одна control нода (для отказоустойчивости должен быть кворум из трех нод). It's logical that in commerce everything is “a little” more complicated, but in this simple example we understand how it should work - whether you have 3 or 300 namespaces is of course important, but from the point of view of the operation of the entire Struchtúr, ní athróidh aon rud i bhfad ... ach go dtí go gcuirfidh tú isteach i roinnt díoltóra SDN. Ach is scéal an -difriúil é sin.

Tá súil agam go raibh sé suimiúil. Má tá aon tuairimí/breisithe agat, nó áit éigin a ndearna mé bréag iomlán (tá mé daonna agus beidh mo thuairim suibiachtúil i gcónaí) - scríobh cad is gá a cheartú / a chur leis - ceartóimid / cuirfimid gach rud.

In conclusion, I would like to say a few words about comparing Openstack (both vanilla and vendor) with the cloud solution from VMWare - I've been asked this question too often over the past couple of years and, frankly speaking, I'm Tá sé tuirseach cheana féin, ach fós. На мой взгляд эти два решения сравнить очень сложно, но можно однозначно сказать что минусы есть в обоих решениях и выбирая какое то одно решение надо взвесить все за и против.

Más réiteach pobal-tiomáinte é OpenStack, ansin tá an ceart ag VMWare gan ach an méid a theastaíonn uaidh a dhéanamh (léigh - cad atá brabúsach dó) agus tá sé seo loighciúil - toisc gur cuideachta tráchtála é a úsáidtear chun airgead a dhéanamh óna chliaint. Ach tá ceann amháin mór agus saille ACH - is féidir leat a fháil amach OpenStack, mar shampla ó Nokia, agus gan mórán costais a aistriú chuig réiteach ó, mar shampla, Juniper (Contrail Cloud), ach ní dócha go mbeidh tú in ann éirí de thalamh VMWare. . Maidir liom féin, is cosúil leis an dá réiteach seo - is cage simplí é Openstack (díoltóir) ina gcuirtear tú, ach tá eochair agat agus is féidir leat imeacht ag am ar bith. Is cage órga é VMWare, tá eochair an chliabháin ag an úinéir agus cosnóidh sé go leor leat.

Níl mé ag cur chun cinn ceachtar an chéad táirge nó an dara - roghnaíonn tú cad is gá duit. Ach dá mbeadh rogha den sórt sin agam, roghnóinn an dá réiteach - VMWare don scamall TF (ualaí íseal, bainistíocht éasca), OpenStack ó roinnt díoltóir (Soláthraíonn Nokia agus Juniper réitigh turnkey an-mhaith) - don scamall Telecom. Ní úsáidfinn Openstack le haghaidh TF íon - tá sé cosúil le gealbhain lámhaigh le gunna, ach ní fheicim aon contraindications chun é a úsáid seachas iomarcaíocht. Mar sin féin, tá úsáid VMWare i teileachumarsáid cosúil le cloch brúite a tharraingt i Ford Raptor - tá sé go hálainn ón taobh amuigh, ach caithfidh an tiománaí 10 dturas a dhéanamh in ionad ceann amháin.

Is é mo thuairim gurb é an míbhuntáiste is mó a bhaineann le VMWare ná a dhúntacht iomlán - ní thabharfaidh an chuideachta aon fhaisnéis duit faoi conas a oibríonn sé, mar shampla, vSAN nó cad atá san eithne hypervisor - níl sé brabúsach dó - is é sin, beidh tú Ná bí i do shaineolaí ar VMWare riamh - gan tacaíocht díoltóir, tá tú doomed (go minic buailim le saineolaithe VMWare a mbíonn ceisteanna fánach ag cur isteach orthu). Maidir liom féin, tá VMWare ag ceannach carr leis an gcochall faoi ghlas - tá, b'fhéidir go mbeadh speisialtóirí agat ar féidir leo an crios ama a athrú, ach ní féidir ach an duine a dhíol tú an réiteach seo an cochall a oscailt. Go pearsanta, ní maith liom réitigh nach féidir liom a bheith oiriúnach dóibh. Déarfaidh tú go mb’fhéidir nach mbeidh ort dul faoin gcochall. Sea, tá sé seo indéanta, ach beidh mé ag breathnú ar tú nuair is gá duit a chéile feidhm mhór sa scamall ó 20-30 meaisíní fíorúil, 40-50 líonraí, leath acu ag iarraidh dul taobh amuigh, agus iarrann an dara leath. Luasghéarú SR-IOV, nó beidh níos mó cúpla dosaen de na gluaisteáin seo ag teastáil uait - nó ní leor an fheidhmíocht.

Tá tuairimí eile ann, mar sin ní féidir ach leatsa cinneadh a dhéanamh ar cad a roghnaíonn tú agus, níos tábhachtaí fós, beidh tú freagrach as do rogha ansin. Is é seo ach mo thuairim - duine a bhfuil ar a laghad 4 tháirge feicthe agus i dteagmháil léi - Nokia, Juniper, Red Hat agus VMWare. Is é sin, tá rud éigin agam le comparáid a dhéanamh leis.

Foinse: will.com

Add a comment