Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Tha coimpiutaireachd neòil a’ dol nas doimhne agus nas doimhne nar beatha agus is dòcha nach eil aon neach ann nach do chleachd seirbheisean sgòthan co-dhiù aon uair. Ach, dè dìreach a th’ ann an sgòth agus mar a tha e ag obair, chan eil mòran eòlach air, eadhon aig ìre beachd. Tha 5G mu thràth a’ tighinn gu buil agus tha am bun-structar cian-chonaltraidh a’ tòiseachadh a’ gluasad bho fhuasglaidhean pòla gu fuasglaidhean sgòthan, dìreach mar a rinn e nuair a ghluais e bho fhuasglaidhean làn bhathar-cruaidh gu “colbhan” mas fhìor.

An-diugh bruidhnidh sinn mu shaoghal bun-structair sgòthan a-staigh, gu sònraichte bheir sinn sùil air bunaitean pàirt an lìonraidh.

Dè th' ann an sgòth? An aon virtualization - sealladh pròifil?

A bharrachd air ceist loidsigeach. Chan e - chan e virtualization a tha seo, ged nach b 'urrainnear a dhèanamh às aonais. Bheir sinn sùil air dà mhìneachadh:

Coimpiutaireachd Cloud (Cloud an seo) na mhodail airson a bhith a’ toirt cothrom furasta do luchd-cleachdaidh air goireasan coimpiutaireachd sgaoilte a dh’ fheumar a chleachdadh agus a chuir air bhog air iarrtas leis an ùine as ìsle agus as lugha de chosgais don t-solaraiche seirbheis.

Mas-fhìorachadh - is e seo an comas aon eintiteas corporra (mar eisimpleir, frithealaiche) a roinn ann an grunnan brìgheil, agus mar sin a’ meudachadh cleachdadh ghoireasan (mar eisimpleir, bha 3 frithealaichean agad air an luchdachadh aig 25-30 sa cheud, às deidh virtualization gheibh thu 1 frithealaiche air a luchdachadh aig 80-90 sa cheud). Gu nàdarra, bidh virtualization ag ithe cuid de ghoireasan - feumaidh tu an hypervisor a bhiadhadh, ge-tà, mar a tha cleachdadh air sealltainn, is fhiach a ’choinneal a’ gheama. Is e deagh eisimpleir de virtualization VMWare, a bhios gu foirfe ag ullachadh innealan brìgheil, no mar eisimpleir KVM, as fheàrr leam, ach tha seo na chùis blas.

Bidh sinn a’ cleachdadh virtualization gun a bhith ga thoirt gu buil, agus tha eadhon routers iarainn mu thràth a’ cleachdadh virtualization - mar eisimpleir, anns an dreach as ùire de JunOS, tha an siostam obrachaidh air a chuir a-steach mar inneal brìgheil a bharrachd air cuairteachadh Linux fìor-ùine (Wind River 9). Ach chan e virtualization an sgòth, ach chan urrainn don sgòth a bhith ann às aonais virtualization.

Is e virtualization aon de na blocaichean togail air a bheil an sgòth air a thogail.

Le bhith a’ dèanamh sgòth le bhith dìreach a’ cruinneachadh grunn hypervisors ann an aon raon L2, a’ cur leabhar-cluiche no dhà yaml airson a bhith a’ clàradh vlan gu fèin-ghluasadach tro sheòrsa air choreigin agus a’ cuir rudeigin mar shiostam orcastra air a h-uile càil airson innealan brìgheil a chruthachadh gu fèin-ghluasadach chan obraich sin. Bidh e nas cruinne, ach chan e an Frankenstein a thig às an sgòth a tha a dhìth oirnn, ged is dòcha gur e seo an aisling mu dheireadh dha feadhainn eile. A bharrachd air an sin, ma ghabhas tu an aon Openstack, tha e gu ìre mhòr fhathast Frankenstein, ach o uill, nach bruidhinn sinn mu dheidhinn an-dràsta.

Ach tha mi a’ tuigsinn bhon mhìneachadh a tha air a thaisbeanadh gu h-àrd nach eil e gu tur soilleir dè a chanar ri sgòth.

Mar sin, tha sgrìobhainn bho NIST (Institiud Nàiseanta Inbhean is Teicneòlais) a’ toirt seachad 5 prìomh fheartan a bu chòir a bhith aig bun-structar sgòthan:

A’ toirt seachad seirbheis ma thèid iarraidh. Feumaidh cothrom an-asgaidh a thoirt don neach-cleachdaidh air na goireasan coimpiutair a chaidh a thoirt dha (leithid lìonraidhean, diosgan brìgheil, cuimhne, coraichean pròiseasar, msaa), agus feumar na goireasan sin a thoirt seachad gu fèin-ghluasadach - is e sin, gun eadar-theachd bhon t-solaraiche seirbheis.

Cothrom farsaing air seirbheis. Feumaidh cothrom air goireasan a bhith air a sholarachadh le uidheamachdan àbhaisteach gus leigeil le cleachdadh an dà chuid PCan àbhaisteach agus teachdaichean tana agus innealan gluasadach.

A’ cothlamadh ghoireasan gu linneachan. Feumaidh amaran ghoireasan a bhith comasach air goireasan a thoirt do dh’iomadh neach-dèiligidh aig an aon àm, a’ dèanamh cinnteach gu bheil teachdaichean leotha fhèin agus saor bho bhuaidh chàch a chèile agus farpais airson goireasan. Tha lìonraidhean cuideachd air an toirt a-steach do na linneachan, a tha a’ nochdadh comasachd seòladh thar-tharraingeach a chleachdadh. Feumaidh amaran a bhith comasach air sgèile a rèir iarrtas. Tha cleachdadh amaran ga dhèanamh comasach an ìre riatanach de fhulangas lochdan stòrais a thoirt seachad agus toirt air falbh goireasan corporra is brìgheil - tha neach-faighinn na seirbheis dìreach air a thoirt seachad leis an t-seata de ghoireasan a dh’ iarr e (far a bheil na goireasan sin suidhichte gu corporra, air cia mheud). frithealaichean agus suidsichean - chan eil e gu diofar don neach-dèiligidh). Ach, feumaidh sinn aire a thoirt don fhìrinn gum feum an solaraiche dèanamh cinnteach gu bheil na goireasan sin gan glèidheadh.

Atharrachadh luath gu diofar shuidheachaidhean. Feumaidh seirbheisean a bhith sùbailte - solar luath de ghoireasan, an ath-sgaoileadh, cur ris no lughdachadh ghoireasan air iarrtas an neach-dèiligidh, agus air taobh an neach-dèiligidh bu chòir gum biodh faireachdainn gu bheil na goireasan sgòthan gun chrìoch. Airson a bhith furasta a thuigsinn, mar eisimpleir, chan fhaic thu rabhadh gu bheil pàirt den àite diosc agad ann an Apple iCloud air a dhol à bith leis gu bheil an draibhear cruaidh air an fhrithealaiche air briseadh sìos, agus gu bheil draibhearan a’ briseadh sìos. A bharrachd air an sin, air do phàirt, tha na comasan aig an t-seirbheis seo cha mhòr gun chrìoch - feumaidh tu 2 TB - gun duilgheadas sam bith, phàigh thu agus fhuair thu e. Faodar eisimpleir coltach ris a thoirt seachad le Google.Drive no Yandex.Disk.

Comasach air an t-seirbheis a chaidh a thoirt seachad a thomhas. Feumaidh siostaman Cloud smachd a chumail air agus an fheum as fheàrr a dhèanamh de ghoireasan a thèid a chaitheamh, agus feumaidh na h-innealan sin a bhith follaiseach don neach-cleachdaidh agus don t-solaraiche seirbheis. Is e sin, faodaidh tu an-còmhnaidh sgrùdadh a dhèanamh air cia mheud goireas a tha thu fhèin agus do luchd-dèiligidh a’ caitheamh.

Is fhiach beachdachadh air gu bheil na riatanasan sin sa mhòr-chuid mar riatanasan airson sgòth poblach, agus mar sin airson sgòth prìobhaideach (is e sin, sgòth a chaidh a chuir air bhog airson feumalachdan a-staigh na companaidh), faodar na riatanasan sin atharrachadh beagan. Ach, tha iad fhathast ri dhèanamh, air dhòigh eile chan fhaigh sinn na buannachdan uile bho choimpiutaireachd sgòthan.

Carson a tha feum againn air sgòth?

Ach, teicneòlas ùr no gnàthaichte sam bith, thèid protocol ùr sam bith a chruthachadh airson rudeigin (gu math, ach a-mhàin RIP-ng, gu dearbh). Chan fheum duine protocol air sgàth protocol (uill, ach a-mhàin RIP-ng, gu dearbh). Tha e loidsigeach gu bheil an Cloud air a chruthachadh gus seirbheis de sheòrsa air choreigin a thoirt don neach-cleachdaidh / teachdaiche. Tha sinn uile eòlach air co-dhiù seirbheis neòil no dhà, mar eisimpleir Dropbox no Google.Docs, agus tha mi a 'creidsinn gu bheil a' mhòr-chuid de dhaoine gan cleachdadh gu soirbheachail - mar eisimpleir, chaidh an artaigil seo a sgrìobhadh a 'cleachdadh seirbheis sgòthan Google.Docs. Ach chan eil anns na seirbheisean sgòthan as aithne dhuinn ach pàirt de chomasan an sgòth - nas mionaidiche, chan eil annta ach seirbheis coltach ri SaaS. Is urrainn dhuinn seirbheis neòil a thoirt seachad ann an trì dòighean: ann an cruth SaaS, PaaS no IaaS. Bidh an t-seirbheis a tha a dhìth ort an urra ri do mhiannan agus comasan.

Bheir sinn sùil air gach fear ann an òrdugh:

Bathar-bog mar Sheirbheis (SaaS) na mhodail airson seirbheis làn-chuimseach a thoirt don neach-dèiligidh, mar eisimpleir, seirbheis post-d mar Yandex.Mail no Gmail. Anns a 'mhodail lìbhrigidh seirbheis seo, chan eil thu fhèin, mar neach-dèiligidh, a' dèanamh dad ach a bhith a 'cleachdadh nan seirbheisean - is e sin, chan fheum thu smaoineachadh mu bhith a' stèidheachadh na seirbheis, a 'fulang le lochdan no a bhith a' cur às do dhreuchd. Chan e am prìomh rud am facal-faire agad a mhilleadh; nì solaraiche na seirbheis seo an còrr dhut. Bho shealladh an t-solaraiche seirbheis, tha e gu tur an urra ris an t-seirbheis gu lèir - bho bhathar-cruaidh frithealaiche agus siostaman obrachaidh aoigheachd gu suidheachadh stòr-dàta agus bathar-bog.

Àrd-ùrlar mar sheirbheis (PaaS) - nuair a bhios tu a’ cleachdadh a’ mhodail seo, bheir an solaraiche seirbheis pìos obrach don neach-dèiligidh airson na seirbheis, mar eisimpleir, gabhamaid frithealaiche lìn. Thug an solaraiche seirbheis seachad frithealaiche brìgheil don neach-dèiligidh (gu dearbh, seata de ghoireasan, leithid RAM / CPU / Storage / Nets, msaa), agus eadhon chuir e a-steach an OS agus am bathar-bog riatanach air an t-seirbheisiche seo, ge-tà, rèiteachadh tha a h-uile stuth seo air a dhèanamh leis an neach-dèiligidh fhèin agus airson coileanadh na seirbheis bidh an neach-dèiligidh a’ freagairt. Tha uallach air an t-solaraiche seirbheis, mar a bha sa chùis roimhe, airson coileanadh uidheamachd corporra, hypervisors, an inneal brìgheil fhèin, an lìonra a tha ri fhaighinn, msaa, ach chan eil an t-seirbheis fhèin na raon dleastanais tuilleadh.

Bun-structar mar sheirbheis (IaaS) - tha an dòigh-obrach seo mar-thà nas inntinniche, gu dearbh, tha an solaraiche seirbheis a’ toirt bun-structar brìgheil iomlan don neach-dèiligidh - is e sin, cuid de sheata (amar) de ghoireasan, leithid CPU Cores, RAM, Lìonraidhean, msaa. an neach-dèiligidh - na tha an neach-dèiligidh ag iarraidh a dhèanamh leis na goireasan sin taobh a-staigh an amar ainmichte (cuota) - chan eil e gu sònraichte cudromach don t-solaraiche. Co-dhiù a tha an neach-dèiligidh ag iarraidh a vEPC fhèin a chruthachadh no eadhon gnìomhaiche beag a chruthachadh agus seirbheisean conaltraidh a thoirt seachad - gun cheist - dèan e. Ann an suidheachadh mar sin, tha uallach air an t-solaraiche seirbheis airson goireasan a sholarachadh, am fulangas lochdan agus na tha ri fhaighinn, a bharrachd air an OS a leigeas leotha na goireasan sin a chruinneachadh agus an toirt don neach-dèiligidh leis a’ chomas goireasan àrdachadh no lughdachadh aig àm sam bith. air iarrtas an neach-dèiligidh. Bidh an neach-dèiligidh a’ rèiteachadh a h-uile inneal brìgheil agus tinsel eile e fhèin tron ​​​​phort fèin-sheirbheis agus consol, a’ toirt a-steach stèidheachadh lìonraidhean (ach a-mhàin lìonraidhean taobh a-muigh).

Dè a th’ ann an OpenStack?

Anns na trì roghainnean, feumaidh an solaraiche seirbheis OS a leigeas le bun-structar sgòthan a chruthachadh. Gu dearbh, le SaaS, tha barrachd air aon roinn an urra ris a 'chruach theicneòlasan gu lèir - tha roinn ann a tha an urra ris a' bhun-structair - is e sin, tha e a 'toirt seachad IaaS gu roinn eile, tha an roinn seo a' toirt SaaS don neach-dèiligidh. Is e OpenStack aon de na siostaman obrachaidh sgòthan a leigeas leat dòrlach de suidsichean, frithealaichean agus siostaman stòraidh a chruinneachadh ann an aon amar ghoireasan, an amar cumanta seo a roinn ann an subpools (luchd-gabhail) agus na goireasan sin a thoirt do luchd-dèiligidh thairis air an lìonra.

OpenStack na shiostam obrachaidh sgòthan a leigeas leat smachd a chumail air amaran mòra de ghoireasan coimpiutaireachd, stòradh dàta agus goireasan lìonra, air an toirt seachad agus air an riaghladh tro API a’ cleachdadh innealan dearbhaidh àbhaisteach.

Ann am faclan eile, is e seo seata de phròiseactan bathar-bog an-asgaidh a tha air an dealbhadh gus seirbheisean sgòthan a chruthachadh (an dà chuid poblach agus prìobhaideach) - is e sin, seata innealan a leigeas leat frithealaiche agus uidheamachd atharrachadh gu aon amar de ghoireasan, a riaghladh. na goireasan sin, a’ toirt seachad an ìre riatanach de fhulangas lochdan.

Aig àm sgrìobhaidh an stuth seo, tha structar OpenStack a’ coimhead mar seo:
Ro-ràdh don phàirt lìonra de bhun-structar sgòthan
Dealbh air a thogail bho openstack.org

Bidh gach pàirt de OpenStack a’ coileanadh gnìomh sònraichte. Leigidh an ailtireachd sgaoilte seo leat an seata de cho-phàirtean gnìomh a tha a dhìth ort a thoirt a-steach don fhuasgladh. Ach, tha cuid de cho-phàirtean nam bun-phàirtean agus ma thèid an toirt air falbh bidh am fuasgladh gu tur neo-obrachail no gu ìre. Mar as trice tha na co-phàirtean sin air an seòrsachadh mar:

  • Dashboard - GUI stèidhichte air an lìon airson seirbheisean OpenStack a riaghladh
  • Keystone na sheirbheis dearbh-aithne meadhanaichte a bheir seachad comas dearbhaidh is ùghdarrais airson seirbheisean eile, a bharrachd air a bhith a’ riaghladh teisteanasan luchd-cleachdaidh agus an dreuchdan.
  • Neutron - seirbheis lìonra a bheir seachad ceangal eadar eadar-aghaidh diofar sheirbheisean OpenStack (a’ toirt a-steach ceangal eadar VMan agus an ruigsinneachd don t-saoghal a-muigh)
  • èibhleag - a’ toirt cothrom air stòradh bloca airson innealan brìgheil
  • Albainn - riaghladh cearcall beatha innealan brìgheil
  • Sùil air - stòr de dhealbhan inneal brìgheil agus dealbhan-camara
  • Swift - a’ toirt cothrom air an stuth stòraidh
  • Ceilometer - seirbheis a bheir seachad comas air telemetry a chruinneachadh agus na goireasan a tha rim faighinn agus air an caitheamh a thomhas
  • Heat - orchestration stèidhichte air teamplaidean airson cruthachadh agus solarachadh ghoireasan gu fèin-ghluasadach

Chithear liosta iomlan de na pròiseactan uile agus an adhbhar an seo.

Tha gach pàirt OpenStack na sheirbheis a choileanas gnìomh sònraichte agus a bheir seachad API gus an gnìomh sin a riaghladh agus eadar-obrachadh le seirbheisean siostam obrachaidh sgòthan eile gus bun-structar aonaichte a chruthachadh. Mar eisimpleir, tha Nova a’ toirt seachad riaghladh ghoireasan coimpiutaireachd agus API airson ruigsinneachd air na goireasan sin a rèiteachadh, tha Glance a’ toirt seachad riaghladh ìomhaighean agus API airson an riaghladh, tha Cinder a’ toirt seachad stòradh bloca agus API airson a riaghladh, msaa. Tha a h-uile gnìomh eadar-cheangailte ann an dòigh gu math dlùth.

Ach, ma choimheadas tu air, tha a h-uile seirbheis a tha a’ ruith ann an OpenStack aig a’ cheann thall mar sheòrsa de inneal brìgheil (no inneal-giùlain) ceangailte ris an lìonra. Tha a’ cheist ag èirigh - carson a tha feum againn air uimhir de eileamaidean?

Rachamaid tron ​​​​algairim airson inneal brìgheil a chruthachadh agus a cheangal ris an lìonra agus stòradh leantainneach ann an Openstack.

  1. Nuair a chruthaicheas tu iarrtas airson inneal a chruthachadh, biodh e na iarrtas tro Horizon (Dashboard) no iarrtas tron ​​​​CLI, is e a’ chiad rud a thachras cead an iarrtais agad air Keystone - an urrainn dhut inneal a chruthachadh, a bheil an còir an lìonra seo a chleachdadh, a bheil an dreachd cuota agad, msaa.
  2. Bidh Keystone a’ dearbhadh d’ iarrtas agus a’ gineadh comharra ùghdar anns an teachdaireachd fhreagairt, a thèid a chleachdadh tuilleadh. An dèidh freagairt fhaighinn bho Keystone, thèid an t-iarrtas a chuir gu Nova (nova api).
  3. Bidh Nova-api a’ sgrùdadh dligheachd an iarrtais agad le bhith a’ cur fios gu Keystone a’ cleachdadh an tòcan ùghdar a chaidh a chruthachadh roimhe seo
  4. Bidh Keystone a’ dèanamh dearbhadh agus a’ toirt seachad fiosrachadh mu cheadan is chuingealachaidhean stèidhichte air an t-suaicheantas ùghdarrais seo.
  5. Bidh Nova-api a’ cruthachadh inntrig airson an VM ùr ann an nova-data-data agus a’ dol seachad air an iarrtas airson an inneal a chruthachadh gu nova-scheduler.
  6. Bidh Nova-scheduler a’ taghadh an aoigh (nòta coimpiutair) air am bi an VM air a chleachdadh stèidhichte air na paramadairean, na cuideaman agus na sònaichean ainmichte. Tha clàr de seo agus an ID VM air an sgrìobhadh gu stòr-dàta nova.
  7. An ath rud, bidh nova-scheduler a’ conaltradh ri nova-compute le iarrtas airson eisimpleir a chleachdadh. Cuir fios gu Nova-compute gu nova-conductor gus fiosrachadh fhaighinn mu pharamadairean inneal (tha nova-conductor na eileamaid nova a bhios ag obair mar fhrithealaiche proxy eadar nova-data-data agus nova-compute, a’ cuingealachadh an àireamh de dh’ iarrtasan gu nova-data-data gus duilgheadasan le stòr-dàta a sheachnadh lùghdachadh cunbhalachd luchd).
  8. Bidh Nova-conductor a’ faighinn an fhiosrachaidh a chaidh iarraidh bho nova-database agus ga chuir gu nova-compute.
  9. An ath rud, bidh nova-compute a’ gairm sùil gus an ìomhaigh ìomhaigh fhaighinn. Bidh Glace a’ dearbhadh an iarrtais ann an Keystone agus a’ tilleadh am fiosrachadh a chaidh iarraidh.
  10. Bidh Nova-compute a’ conaltradh ri neutron gus fiosrachadh fhaighinn mu pharamadairean lìonra. Coltach ri sùil, bidh neutron a’ dearbhadh an iarrtais ann an Keystone, às deidh sin bidh e a’ cruthachadh inntrig san stòr-dàta (aithnichear port, msaa), a’ cruthachadh iarrtas airson port a chruthachadh, agus a’ tilleadh am fiosrachadh a chaidh iarraidh gu nova-compute.
  11. Bidh luchd-fios Nova-compute a’ glaodhaich le iarrtas airson tomhas-lìonaidh a riarachadh don inneal brìgheil. Coltach ri sùil, bidh silidh a’ dearbhadh an iarrtais ann an Keystone, a’ cruthachadh iarrtas cruthachadh meud, agus a’ tilleadh am fiosrachadh a chaidh iarraidh.
  12. Luchd-fios Nova-compute libvirt le iarrtas airson inneal brìgheil a chuir a-steach leis na paramadairean ainmichte.

Gu dearbh, tha gnìomhachd a tha coltach gu sìmplidh de bhith a’ cruthachadh inneal brìgheil sìmplidh a’ tionndadh gu bhith na leithid de chuairtean de ghlaodhan API eadar eileamaidean den àrd-ùrlar sgòthan. A bharrachd air an sin, mar a chì thu, tha eadhon na seirbheisean a chaidh ainmeachadh roimhe cuideachd air an dèanamh suas de phàirtean nas lugha eadar am bi eadar-obrachadh a ’tachairt. Chan eil ann an cruthachadh inneal ach pàirt bheag de na tha an àrd-ùrlar sgòthan a’ leigeil leat a dhèanamh - tha seirbheis ann le uallach airson trafaic a chothromachadh, seirbheis le uallach airson stòradh blocaichean, seirbheis le uallach airson DNS, seirbheis le uallach airson solar frithealaichean meatailt lom, msaa. Leigidh an sgòth leat gum bu chòir dhut na h-innealan brìgheil agad a làimhseachadh mar treud chaorach (an taca ri virtualization). Ma thachras rudeigin don inneal agad ann an àrainneachd bhrìgheil - bheir thu air ais e bho chùl-taic, msaa, ach tha tagraidhean sgòthan air an togail ann an dòigh nach bi àite cho cudromach aig an inneal brìgheil - bhàsaich an inneal brìgheil “chaochail” - gun duilgheadas sam bith - tha fear ùr dìreach air a chruthachadh tha an carbad stèidhichte air an teamplaid agus, mar a chanas iad, cha do mhothaich an sgioba gun deach an trodaiche a chall. Gu nàdarra, tha seo a 'solarachadh airson làthaireachd uidheamachdan orcastra - a' cleachdadh teamplaidean teas, is urrainn dhut gu furasta gnìomh iom-fhillte a chleachdadh anns a bheil dusanan de lìonraidhean agus innealan mas-fhìor.

Is fhiach an-còmhnaidh cuimhneachadh nach eil bun-structar sgòthan ann às aonais lìonra - bidh gach eileamaid ann an aon dòigh no ann an dòigh eile ag eadar-obrachadh le eileamaidean eile tron ​​​​lìonra. A bharrachd air an sin, tha lìonra gu tur neo-statach aig an sgòth. Gu nàdarra, tha an lìonra fo-chòmhdach eadhon nas seasmhaiche - chan eil nodan agus suidsichean ùra gan cur ris a h-uile latha, ach faodaidh agus bidh e do-sheachanta gum bi am pàirt ath-chòmhdach ag atharrachadh gu cunbhalach - thèid lìonraidhean ùra a chur ris no a dhubhadh às, nochdaidh innealan brìgheil ùra agus bidh seann fheadhainn ann. bàsaich. Agus mar a chuimhnicheas tu bhon mhìneachadh air an sgòth a chaidh a thoirt seachad aig fìor thoiseach an artaigil, bu chòir goireasan a thoirt don neach-cleachdaidh gu fèin-ghluasadach agus leis a’ char as lugha (no nas fheàrr fhathast, às aonais) eadar-theachd bhon t-solaraiche seirbheis. Is e sin, chan e sgòth a th’ anns an t-seòrsa solarachaidh de ghoireasan lìonra a tha a-nis ann an cruth ceann-aghaidh ann an cruth a’ chunntais phearsanta agad ruigsinneach tro http/https agus an innleadair lìonra air-dleastanas Vasily mar backend, eadhon ma tha ochd làmhan aig Vasily.

Bidh Neutron, mar sheirbheis lìonra, a’ toirt seachad API airson a’ chuibhreann lìonra de bhun-structair sgòthan a riaghladh. Bidh an t-seirbheis a’ cumhachd agus a’ riaghladh a’ chuibhreann lìonraidh de Openstack le bhith a’ toirt seachad còmhdach tarraing-às ris an canar Network-as-a-Service (NaaS). Is e sin, is e an lìonra an aon aonad brìgheil a ghabhas tomhas ri, mar eisimpleir, coraichean CPU brìgheil no an ìre de RAM.

Ach mus gluais sinn air adhart gu ailtireachd pàirt lìonra de OpenStack, smaoinichidh sinn air mar a tha an lìonra seo ag obair ann an OpenStack agus carson a tha an lìonra na phàirt chudromach agus riatanach den sgòth.

Mar sin tha dà VM teachdaiche RED againn agus dà VM teachdaiche GREEN. Gabhamaid ris gu bheil na h-innealan sin suidhichte air dà hypervisors san dòigh seo:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Aig an àm seo, is e dìreach virtualization de 4 frithealaichean a tha seo agus gun dad a bharrachd, oir gu ruige seo chan eil againn ach a bhith a’ dèanamh virtualize 4 frithealaichean, gan cur air dà fhrithealaiche fiosaigeach. Agus gu ruige seo chan eil iad eadhon ceangailte ris an lìonra.

Gus sgòth a dhèanamh, feumaidh sinn grunn phàirtean a chur ris. An toiseach, bidh sinn a’ dèanamh mas-fhìor air a’ phàirt lìonra - feumaidh sinn na 4 innealan sin a cheangal ann an càraidean, agus tha an luchd-dèiligidh ag iarraidh ceangal L2. Faodaidh tu suidse a chleachdadh agus stoc a rèiteachadh na stiùir agus a h-uile càil fhuasgladh le bhith a’ cleachdadh drochaid linux no, airson luchd-cleachdaidh nas adhartaiche, openvswitch (tillidh sinn chun seo nas fhaide air adhart). Ach faodaidh tòrr lìonraidhean a bhith ann, agus an-còmhnaidh chan e a bhith a’ putadh L2 tro suidse am beachd as fheàrr - tha diofar roinnean ann, deasc seirbheis, mìosan de bhith a’ feitheamh ri iarrtas a bhith air a chrìochnachadh, seachdainean de dhuilgheadasan fhuasgladh - ann an saoghal an latha an-diugh tha seo chan eil an dòigh-obrach ag obair tuilleadh. Agus mar as luaithe a thuigeas companaidh seo, is ann as fhasa a bhios e gluasad air adhart. Mar sin, eadar na hypervisors taghaidh sinn lìonra L3 tro am bi na h-innealan brìgheil againn a’ conaltradh, agus a bharrachd air an lìonra L3 seo togaidh sinn lìonraidhean tar-chòmhdach L2 brìgheil far am bi trafaic ar n-innealan brìgheil a ’ruith. Faodaidh tu GRE, Geneve no VxLAN a chleachdadh mar chruinneachadh. Nach cuir sinn fòcas air an fhear mu dheireadh airson a-nis, ged nach eil e gu sònraichte cudromach.

Feumaidh sinn VTEP a lorg am badeigin (tha mi an dòchas gu bheil a h-uile duine eòlach air briathrachas VxLAN). Leis gu bheil lìonra L3 againn a’ tighinn dìreach bho na frithealaichean, chan eil dad a’ cur casg oirnn VTEP a chuir air na frithealaichean fhèin, agus tha OVS (OpenvSwitch) air leth math air seo a dhèanamh. Mar thoradh air an sin, fhuair sinn an dealbhadh seo:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Leis gu feumar trafaic eadar VMan a roinn, bidh àireamhan vlan eadar-dhealaichte aig na puirt gu na h-innealan brìgheil. Chan eil pàirt aig an àireamh tag ach taobh a-staigh aon tionndadh brìgheil, oir nuair a thèid a chuairteachadh ann an VxLAN is urrainn dhuinn a thoirt air falbh gu furasta, leis gum bi VNI againn.

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

A-nis is urrainn dhuinn na h-innealan agus na lìonraidhean brìgheil againn a chruthachadh dhaibh gun duilgheadas sam bith.

Ach, dè ma tha inneal eile aig an neach-dèiligidh, ach gu bheil e air lìonra eadar-dhealaichte? Feumaidh sinn freumhachadh eadar lìonraidhean. Coimheadaidh sinn ri roghainn shìmplidh nuair a thèid slighe meadhanaichte a chleachdadh - is e sin, thèid trafaic a stiùireadh tro nodan lìonra sònraichte (gu math, mar riaghailt, tha iad air an cur còmhla ri nodan smachd, agus mar sin bidh an aon rud againn).

Tha e coltach nach eil dad iom-fhillte ann - bidh sinn a’ dèanamh eadar-aghaidh drochaid air an nód smachd, a’ draibheadh ​​trafaic thuige agus às an sin bidh sinn ga shlighe far a bheil feum againn air. Ach is e an duilgheadas a th ’ann gu bheil an neach-dèiligidh RED ag iarraidh an lìonra 10.0.0.0 / 24 a chleachdadh, agus tha an neach-dèiligidh GREEN airson an lìonra 10.0.0.0 / 24 a chleachdadh. Is e sin, bidh sinn a’ tòiseachadh a’ trasnadh àiteachan seòlaidh. A bharrachd air an sin, chan eil teachdaichean ag iarraidh gum bi e comasach dha teachdaichean eile slighe a-steach do na lìonraidhean a-staigh aca, a tha a’ dèanamh ciall. Gus na lìonraidhean agus trafaic dàta teachdaiche a sgaradh, sònraichidh sinn àite ainm fa leth airson gach fear dhiubh. Is e leth-bhreac de chruach lìonra Linux a th’ ann an Namespace, is e sin, tha teachdaichean ann an namespace RED air an dealachadh gu tur bho luchd-dèiligidh bho namespace GREEN (uill, tha an dàrna cuid slighe eadar na lìonraidhean teachdaiche sin ceadaichte tron ​​ainm-àite bunaiteach no air uidheamachd còmhdhail shuas).

Is e sin, gheibh sinn an diagram a leanas:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Bidh tunailean L2 a’ tighinn còmhla bho gach nod coimpiutaireachd chun nòta smachd. nód far a bheil an eadar-aghaidh L3 airson na lìonraidhean sin suidhichte, gach fear ann an ainm sònraichte airson aonaranachd.

Ach, dhìochuimhnich sinn an rud as cudromaiche. Feumaidh an inneal brìgheil seirbheis a thoirt don neach-dèiligidh, is e sin, feumaidh co-dhiù aon eadar-aghaidh taobh a-muigh a bhith aige tron ​​​​urrainnear a ruighinn. Is e sin, feumaidh sinn a dhol a-mach don t-saoghal a-muigh. Tha diofar roghainnean an seo. Feuch an dèan sinn an roghainn as sìmplidh. Cuiridh sinn aon lìonra ri gach neach-dèiligidh, a bhios dligheach ann an lìonra an t-solaraiche agus nach bi a’ dol thairis air lìonraidhean eile. Faodaidh na lìonraidhean cuideachd eadar-ghearradh agus coimhead air diofar VRF air taobh lìonra an t-solaraiche. Bidh an dàta lìonra cuideachd beò ann an ainm gach neach-dèiligidh. Ach, thèid iad a-mach don t-saoghal a-muigh fhathast tro aon eadar-aghaidh corporra (no ceangal, a tha nas reusanta). Gus trafaic teachdaiche a sgaradh, thèid trafaic a’ dol a-mach a chomharrachadh le tag VLAN air a thoirt don neach-dèiligidh.

Mar thoradh air an sin, fhuair sinn an diagram seo:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Is e ceist reusanta carson nach dèan thu geataichean air na nodan coimpiutaireachd iad fhèin? Chan e duilgheadas mòr a tha seo; A bharrachd air an sin, ma thionndaidheas tu air an router sgaoilte (DVR), obraichidh seo. Anns an t-suidheachadh seo, tha sinn a’ beachdachadh air an roghainn as sìmplidh le geata meadhanaichte, a tha air a chleachdadh gu bunaiteach ann an Openstack. Airson gnìomhan luchdan àrd, cleachdaidh iad an dà chuid router sgaoilte agus teicneòlasan luathachaidh leithid SR-IOV agus Passthrough, ach mar a chanas iad, is e sgeulachd gu tur eadar-dhealaichte a tha sin. An toiseach, leig dhuinn dèiligeadh ris a 'phàirt bunaiteach, agus an uairsin thèid sinn a-steach don fhiosrachadh.

Gu fìrinneach, tha an sgeama againn mar-thà comasach, ach tha beagan nuances ann:

  • Feumaidh sinn dòigh air choireigin ar n-innealan a dhìon, is e sin, sìoltachan a chuir air an eadar-aghaidh suidse a dh’ ionnsaigh an neach-dèiligidh.
  • Dèan e comasach dha inneal brìgheil seòladh IP fhaighinn gu fèin-ghluasadach, gus nach fheum thu logadh a-steach tron ​​​​chonsól a h-uile uair agus an seòladh a chlàradh.

Feuch an tòisich sinn le dìon inneal. Airson seo faodaidh tu banal iptables a chleachdadh, carson nach eil.

Is e sin, a-nis tha ar topology air fàs beagan nas iom-fhillte:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Rachamaid air adhart. Feumaidh sinn frithealaiche DHCP a chur ris. Is e an t-àite as fheàrr airson frithealaichean DHCP a lorg airson gach neach-dèiligidh an t-ionad smachd a chaidh ainmeachadh gu h-àrd, far a bheil na h-àiteachan ainm:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Ach, tha duilgheadas beag ann. Dè ma thèid a h-uile càil ath-thòiseachadh agus a h-uile fiosrachadh mu sheòlaidhean màil air DHCP à sealladh. Tha e loidsigeach gun tèid seòlaidhean ùra a thoirt dha na h-innealan, nach eil gu math goireasach. Tha dà dhòigh a-mach an seo - an dàrna cuid cleachd ainmean fearainn agus cuir frithealaiche DNS ris airson gach neach-dèiligidh, an uairsin cha bhith an seòladh gu sònraichte cudromach dhuinn (coltach ris a’ phàirt lìonra ann an k8s) - ach tha duilgheadas ann le lìonraidhean taobh a-muigh, oir faodar seòlaidhean a chuir a-mach annta cuideachd tro DHCP - feumaidh tu sioncronadh le frithealaichean DNS san àrd-ùrlar sgòthan agus frithealaiche DNS taobh a-muigh, nach eil nam bheachd-sa gu math sùbailte, ach a tha gu math comasach. No is e an dàrna roghainn meata-dàta a chleachdadh - is e sin, sàbhail fiosrachadh mun t-seòladh a chaidh a chuir chun inneal gus am bi fios aig an t-seirbheisiche DHCP dè an seòladh a bu chòir a chuir chun inneal ma tha an inneal air seòladh fhaighinn mu thràth. Tha an dàrna roghainn nas sìmplidh agus nas sùbailte, oir leigidh e leat fiosrachadh a bharrachd a shàbhaladh mun chàr. A-nis cuiridh sinn meata-dàta àidseant ris an diagram:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Is e cùis eile as fhiach a dheasbad cuideachd an comas aon lìonra taobh a-muigh a chleachdadh leis a h-uile neach-dèiligidh, oir bidh lìonraidhean taobh a-muigh, ma dh’ fheumas iad a bhith dligheach air feadh an lìonra gu lèir, duilich - feumaidh tu an-còmhnaidh riarachadh agus smachd a chumail air riarachadh nan lìonraidhean sin. Bidh an comas aon lìonra ro-shuidhichte taobh a-muigh a chleachdadh airson a h-uile neach-dèiligidh glè fheumail nuair a chruthaicheas tu sgòth poblach. Nì seo e nas fhasa innealan a chleachdadh oir chan fheum sinn co-chomhairle a chumail ri stòr-dàta seòlaidhean agus àite seòlaidh sònraichte a thaghadh airson lìonra taobh a-muigh gach teachdaiche. A bharrachd air an sin, is urrainn dhuinn lìonra taobh a-muigh a chlàradh ro-làimh agus aig àm an cleachdadh cha bhith againn ach seòlaidhean taobh a-muigh a cheangal ri innealan teachdaiche.

Agus an seo thig NAT gu ar taic - nì sinn dìreach e comasach do luchd-dèiligidh faighinn chun t-saoghal a-muigh tron ​​​​àite ainmean bunaiteach a’ cleachdadh eadar-theangachadh NAT. Uill, seo duilgheadas beag. Tha seo math ma bhios frithealaiche an neach-dèiligidh ag obair mar neach-dèiligidh agus chan ann mar fhrithealaiche - is e sin, bidh e a’ tòiseachadh seach a bhith a’ gabhail ri ceanglaichean. Ach dhuinne bidh e an rathad eile. Anns a ’chùis seo, feumaidh sinn NAT ceann-uidhe a dhèanamh gus am bi an nód smachd nuair a gheibh sinn trafaic a’ tuigsinn gu bheil an trafaic seo an dùil inneal brìgheil A de neach-dèiligidh A, a tha a ’ciallachadh gum feum sinn eadar-theangachadh NAT a dhèanamh bho sheòladh a-muigh, mar eisimpleir 100.1.1.1 .10.0.0.1, gu seòladh a-staigh 100. Anns a 'chùis seo, ged a chleachdas a h-uile neach-dèiligidh an aon lìonra, tha iomallachd a-staigh air a ghleidheadh ​​​​gu tur. Is e sin, feumaidh sinn dNAT agus sNAT a dhèanamh air an nód smachd. Bidh co-dhiù an cleachd thu aon lìonra le seòlaidhean fleòdraidh no lìonraidhean taobh a-muigh, no an dà chuid aig an aon àm, an urra ris na tha thu airson a thoirt a-steach don sgòth. Cha chuir sinn seòlaidhean fleòdraidh ris an diagram, ach fàgaidh sinn na lìonraidhean taobh a-muigh a chaidh a chur ris na bu thràithe - tha a lìonra taobh a-muigh fhèin aig gach neach-dèiligidh (anns an dealbh tha iad air an comharrachadh mar vlan 200 agus XNUMX air an eadar-aghaidh taobh a-muigh).

Mar thoradh air an sin, fhuair sinn fuasgladh inntinneach agus aig an aon àm air a dheagh smaoineachadh, aig a bheil sùbailteachd sònraichte ach aig nach eil dòighean fulangas lochdan fhathast.

An toiseach, chan eil againn ach aon nòta smachd - ma dh'fhàilligeas e, bidh a h-uile siostam a 'tuiteam. Gus an duilgheadas seo a cheartachadh, feumaidh tu cuòram de 3 nodan co-dhiù a dhèanamh. Nach cuir sinn seo ris an diagram:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Gu nàdarra, tha na nodan uile air an sioncronadh agus nuair a dh’ fhàgas nód gnìomhach, gabhaidh nód eile thairis a dhleastanasan.

Is e an ath dhuilgheadas diosgan inneal brìgheil. Aig an àm seo, tha iad air an stòradh air na hypervisors fhèin, agus ma tha duilgheadasan ann leis an hypervisor, bidh sinn a 'call an dàta gu lèir - agus cha chuidich làthaireachd ionnsaigh an seo mura caill sinn an diosg, ach an fhrithealaiche gu lèir. Gus seo a dhèanamh, feumaidh sinn seirbheis a dhèanamh a bhios mar cheann-aghaidh airson stòradh de sheòrsa air choreigin. Chan eil e gu sònraichte cudromach dhuinn dè an seòrsa stòraidh a bhios ann, ach bu chòir dha ar dàta a dhìon bho bhith a’ fàilligeadh an dà chuid an diosc agus an nód, agus is dòcha an caibineat gu lèir. Tha grunn roghainnean ann an seo - tha, gu dearbh, lìonraidhean SAN le Fiber Channel, ach leig dhuinn a bhith onarach - tha FC mar-thà mar chuimhneachan air an àm a dh’ fhalbh - analogue de E1 ann an còmhdhail - tha, tha mi ag aontachadh, tha e fhathast air a chleachdadh, ach dìreach far a bheil e gu tur eu-comasach às aonais. Mar sin, cha bhithinn a’ cleachdadh lìonra FC gu saor-thoileach ann an 2020, le fios agam gu bheil roghainnean eile nas inntinniche ann. Ged a tha gach fear aige fhèin, is dòcha gu bheil feadhainn ann a tha den bheachd gur e FC leis a h-uile cuingealachadh a tha a dhìth oirnn - cha bhith mi ag argamaid, tha am beachd fhèin aig a h-uile duine. Ach, is e am fuasgladh as inntinniche nam bheachd-sa SDS a chleachdadh, leithid Ceph.

Leigidh Ceph leat fuasgladh stòraidh dàta a tha ri fhaighinn gu mòr a thogail le dòrlach de roghainnean cùl-taic a dh’ fhaodadh a bhith ann, a ’tòiseachadh le còdan le sgrùdadh co-ionannachd (co-ionann ri creach 5 no 6) a’ crìochnachadh le ath-riochdachadh dàta iomlan gu diofar dhioscaichean, a ’toirt aire do shuidheachadh diosc ann an seirbhisich, agus seirbhisich ann an cabinets, etc.

Gus Ceph a thogail feumaidh tu 3 nodan a bharrachd. Thèid eadar-obrachadh leis an stòradh a dhèanamh tron ​​​​lìonra cuideachd a 'cleachdadh seirbheisean stòraidh bloca, stuthan agus faidhle. Nach cuir sinn stòradh ris an diagram:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Thoir an aire: faodaidh tu cuideachd nodan coimpiutaireachd hyperconverged a dhèanamh - is e seo am bun-bheachd a bhith a’ cothlamadh grunn ghnìomhan air aon nód - mar eisimpleir, stòradh + coimpiutair - gun a bhith a’ coisrigeadh nodan sònraichte airson stòradh ceph. Gheibh sinn an aon sgeama fulangach air lochdan - oir glèidh SDS dàta leis an ìre glèidhidh a shònraich sinn. Ach, tha nodan hyperconverged an-còmhnaidh na cho-rèiteachadh - leis nach eil an nòta stòraidh dìreach a’ teasachadh an èadhair mar a tha e coltach aig a ’chiad sealladh (leis nach eil innealan brìgheil air) - bidh e a’ cosg goireasan CPU air seirbheiseachadh SDS (gu dearbh, bidh e a ’dèanamh a h-uile càil). ath-riochdachadh agus faighinn air ais às deidh fàilligeadh nodan, diosgan, msaa). Is e sin, caillidh tu cuid de chumhachd an nòta coimpiutaireachd ma chuireas tu còmhla e le stòradh.

Feumaidh an stuth seo uile a bhith air a riaghladh ann an dòigh air choireigin - feumaidh sinn rudeigin tron ​​​​urrainn dhuinn inneal, lìonra, router brìgheil, msaa a chruthachadh. Gus seo a dhèanamh, cuiridh sinn seirbheis ris an nód smachd a bhios mar deas-bhòrd - an bidh e comasach don neach-dèiligidh ceangal ris a’ phort seo tro http/ https agus nì e a h-uile dad a dh’ fheumas e (uill, cha mhòr).

Mar thoradh air an sin, tha siostam againn a tha a’ fulang le lochdan a-nis. Feumar a h-uile eileamaid den bhun-structair seo a riaghladh ann an dòigh air choireigin. Chaidh a mhìneachadh roimhe seo gur e seata de phròiseactan a th’ ann an Openstack, le gnìomh sònraichte aig gach fear dhiubh. Mar a chì sinn, tha barrachd air gu leòr eileamaidean ann a dh’ fheumar a rèiteachadh agus a smachdachadh. An-diugh bruidhnidh sinn mun phàirt lìonra.

Neutron ailtireachd

Ann an OpenStack, is e Neutron a tha an urra ri puirt inneal brìgheil a cheangal ri lìonra L2 cumanta, a’ dèanamh cinnteach à slighe trafaic eadar VMan a tha suidhichte air diofar lìonraidhean L2, a bharrachd air slighe a-muigh, a’ toirt seachad seirbheisean leithid NAT, Floating IP, DHCP, msaa.

Aig ìre àrd, faodar obrachadh na seirbheis lìonra (am pàirt bunaiteach) a mhìneachadh mar a leanas.

Nuair a thòisicheas tu air an VM, an t-seirbheis lìonraidh:

  1. A’ cruthachadh port airson VM sònraichte (no puirt) agus a’ cur fios gu seirbheis DHCP mu dheidhinn;
  2. Tha inneal lìonra mas-fhìor ùr air a chruthachadh (tro libvirt);
  3. Bidh an VM a’ ceangal ris a’ phort (ean) a chaidh a chruthachadh ann an ceum 1;

Gu h-annasach gu leòr, tha obair Neutron stèidhichte air uidheamachdan àbhaisteach a tha eòlach air a h-uile duine a tha air dàibheadh ​​​​a-steach do Linux - ainmean-àite, iptables, drochaidean linux, openvswitch, conntrack, msaa.

Bu chòir a shoilleireachadh sa bhad nach e rianadair SDN a th’ ann an Neutron.

Tha grunn phàirtean eadar-cheangailte aig Neutron:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Openstack neutron am frithealaiche na dheamhan a bhios ag obair le iarrtasan luchd-cleachdaidh tron ​​​​API. Chan eil an deamhan seo an sàs ann a bhith a’ clàradh cheanglaichean lìonra sam bith, ach bheir e seachad am fiosrachadh riatanach airson seo dha na plugins aige, a bhios an uairsin a’ rèiteachadh an eileamaid lìonraidh a tha thu ag iarraidh. Bidh riochdairean neutron air nodan OpenStack a’ clàradh leis an t-seirbheisiche Neutron.

Tha Neutron-server gu dearbh na thagradh sgrìobhte ann am python, anns a bheil dà phàirt:

  • Seirbheis REST
  • Plugin Neutron (bunaiteach/seirbheis)

Tha an t-seirbheis REST air a dhealbhadh gus fiosan API fhaighinn bho phàirtean eile (mar eisimpleir, iarrtas airson beagan fiosrachaidh a thoirt seachad, msaa.)

Tha plugain nan co-phàirtean/modalan bathar-bog plug-in ris an canar rè iarrtasan API - is e sin, tha sònrachadh seirbheis a’ tachairt troimhe. Tha plugins air an roinn ann an dà sheòrsa - seirbheis agus freumh. Mar riaghailt, tha am plugan each gu mòr an urra ri bhith a’ riaghladh an àite seòlaidh agus na ceanglaichean L2 eadar VMan, agus tha plugins seirbheis mu thràth a’ toirt seachad comas-gnìomh a bharrachd leithid VPN no FW.

Faodar an liosta de plugins a tha rim faighinn an-diugh fhaicinn mar eisimpleir an seo

Faodaidh grunn plugins seirbheis a bhith ann, ach chan urrainn ach aon plugan each a bhith ann.

openstack-neutron-ml2 Is e am plugan bunaiteach Openstack root. Tha ailtireachd modular aig a’ plugan seo (eu-coltach ris an fhear a bh’ ann roimhe) agus bidh e a’ rèiteachadh an t-seirbheis lìonra tro dhraibhearan ceangailte ris. Bheir sinn sùil air a ’phlug fhèin beagan nas fhaide air adhart, oir gu dearbh tha e a’ toirt seachad an sùbailteachd a tha aig OpenStack anns a ’phàirt lìonra. Faodar am plugan freumh a chuir na àite (mar eisimpleir, bidh Contrail Networking a’ dèanamh ath-shuidheachadh mar sin).

Seirbheis RPC (rabbitmq-server) - seirbheis a bheir seachad stiùireadh ciudha agus eadar-obrachadh le seirbheisean OpenStack eile, a bharrachd air eadar-obrachadh eadar riochdairean seirbheis lìonra.

Luchd-ionaid lìonra - riochdairean a tha suidhichte anns gach nód, tro bheil seirbheisean lìonra air an rèiteachadh.

Tha grunn sheòrsaichean de riochdairean ann.

Tha am prìomh àidseant L2 àidseant. Bidh na riochdairean sin a ’ruith air gach aon de na hypervisors, a’ toirt a-steach nodan smachd (nas mionaidiche, air a h-uile nod a bheir seachad seirbheis sam bith do luchd-gabhail) agus is e am prìomh obair aca innealan brìgheil a cheangal ri lìonra L2 cumanta, agus cuideachd rabhaidhean a ghineadh nuair a thachras tachartas sam bith ( mar eisimpleir cuir à comas/comas am port).

Is e an ath neach-ionaid, nach eil cho cudromach L3 àidseant. Gu gnàthach, bidh an neach-ionaid seo a ’ruith a-mhàin air nód lìonra (gu tric bidh an nód lìonra air a chur còmhla ri nód smachd) agus a’ toirt seachad slighe eadar lìonraidhean luchd-gabhail (an dà chuid eadar na lìonraidhean aige agus lìonraidhean luchd-gabhail eile, agus tha e ruigsinneach don t-saoghal a-muigh, a ’toirt seachad NAT, a bharrachd air seirbheis DHCP). Ach, nuair a bhios tu a’ cleachdadh DVR (rothaiche air a chuairteachadh), tha feum air plugan L3 cuideachd a’ nochdadh air na nodan coimpiutaireachd.

Bidh an t-àidseant L3 a’ cleachdadh àiteachan ainmean Linux gus seata de na lìonraidhean iomallach aca fhèin a thoirt do gach neach-gabhail agus gnìomhachd routers brìgheil a bhios a’ stiùireadh trafaic agus a bheir seachad seirbheisean geata airson lìonraidhean Layer 2.

stòr-dàta - stòr-dàta de luchd-aithneachaidh lìonraidhean, subnets, puirt, amaran, msaa.

Gu dearbh, bidh Neutron a’ gabhail ri iarrtasan API bho bhith a’ cruthachadh aonadan lìonra sam bith, a’ dearbhadh an iarrtais, agus tro RPC (ma gheibh e cothrom air plugan no àidseant air choireigin) no REST API (ma tha e a’ conaltradh ann an SDN) a’ sgaoileadh gu na riochdairean (tro plugins) an stiùireadh riatanach gus an t-seirbheis a chaidh iarraidh a chuir air dòigh.

A-nis tionndaidh sinn chun stàladh deuchainn (mar a thèid a chleachdadh agus na tha air a ghabhail a-steach ann, chì sinn nas fhaide air adhart sa phàirt phractaigeach) agus faic far a bheil gach pàirt suidhichte:

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

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Gu fìrinneach, is e sin structar iomlan Neutron. A-nis is fhiach beagan ùine a chaitheamh air plugan ML2.

Sreath modular 2

Mar a chaidh a ràdh gu h-àrd, tha am plugan na plugan bunaiteach OpenStack root agus tha ailtireachd modular aige.

Bha structar monolithic aig an fhear a bha air thoiseach air plugan ML2, nach do leig, mar eisimpleir, measgachadh de ghrunn theicneòlasan a chleachdadh ann an aon stàladh. Mar eisimpleir, cha b’ urrainn dhut an dà chuid openvswitch agus linuxbridge a chleachdadh aig an aon àm - an dàrna cuid a’ chiad no an dàrna fear. Air an adhbhar seo, chaidh am plugan ML2 leis an ailtireachd aige a chruthachadh.

Tha dà phàirt aig ML2 - dà sheòrsa dhraibhearan: draibhearan seòrsa agus draibhearan inneal.

Seòrsa draibhearan co-dhùnadh dè na teicneòlasan a thèid a chleachdadh gus ceanglaichean lìonra a chuir air dòigh, mar eisimpleir VxLAN, VLAN, GRE. Aig an aon àm, tha an dràibhear a 'ceadachadh cleachdadh theicneòlasan eadar-dhealaichte. Is e an teicneòlas àbhaisteach cruinneachadh VxLAN airson lìonraidhean ath-chòmhdach agus lìonraidhean taobh a-muigh vlan.

Tha draibhearan seòrsa a’ toirt a-steach na seòrsaichean lìonra a leanas:

flat - lìonra gun tagadh
VLANn - lìonra tagged
ionadail - seòrsa sònraichte de lìonra airson ionadan uile-ann-aon (tha feum air ionadan mar sin airson luchd-leasachaidh no airson trèanadh)
GRE - lìonra ath-chòmhdach a’ cleachdadh tunailean GRE
VxLAN - lìonra ath-chòmhdach a’ cleachdadh tunailean VxLAN

Draibhearan airson mechanism mìneachadh innealan a nì cinnteach eagrachadh nan teicneòlasan a tha air an sònrachadh anns an draibhear seòrsa - mar eisimpleir, openvswitch, sr-iov, solas an latha fosgailte, OVN, msaa.

A rèir mar a thèid an draibhear seo a chuir an gnìomh, thèid an dàrna cuid riochdairean fo smachd Neutron a chleachdadh, no thèid ceanglaichean ri rianadair SDN taobh a-muigh a chleachdadh, a bhios a’ gabhail cùram de gach cùis co-cheangailte ri eagrachadh lìonraidhean L2, slighe, msaa.

Eisimpleir: ma chleachdas sinn ML2 còmhla ri OVS, tha àidseant L2 air a chuir a-steach air gach nód coimpiutaireachd a bhios a’ riaghladh OVS. Ach, ma chleachdas sinn, mar eisimpleir, OVN no OpenDayLight, bidh smachd OVS a ’tighinn fon uachdranas aca - bidh Neutron, tron ​​​​plugan freumh, a’ toirt òrdughan don rianadair, agus bidh e mu thràth a ’dèanamh na chaidh innse dha.

Nach toir sinn suas air Open vSwitch

Aig an àm seo, is e aon de na prìomh phàirtean de OpenStack Open vSwitch.
Nuair a stàlaicheas tu OpenStack às aonais SDN reiceadair a bharrachd leithid Juniper Contrail no Nokia Nuage, is e OVS am prìomh phàirt lìonra den lìonra sgòthan agus, còmhla ri iptables, conntrack, namespaces, leigidh e leat lìonraidhean ath-chòmhdach ioma-ghabhaltais làn-chuimseach a chuir air dòigh. Gu nàdarra, faodar am pàirt seo a chuir na àite, mar eisimpleir, nuair a bhios tu a ’cleachdadh fuasglaidhean SDN seilbh treas-phàrtaidh (neach-reic).

Is e tionndadh bathar-bog stòr fosgailte a th’ ann an OVS a tha air a dhealbhadh airson a chleachdadh ann an àrainneachdan brìgheil mar neach-leantainn trafaic brìgheil.

Aig an àm seo, tha comas-gnìomh fìor mhath aig OVS, a tha a’ toirt a-steach teicneòlasan leithid QoS, LACP, VLAN, VxLAN, GENEVE, OpenFlow, DPDK, msaa.

Nota: Cha deach OVS a dhealbhadh an toiseach mar tionndadh bog airson gnìomhan cian-conaltraidh làn-luchdaichte agus bha e air a dhealbhadh nas motha airson gnìomhan IT le nas lugha de leud-bann leithid frithealaiche WEB no frithealaiche puist. Ach, thathas a’ leasachadh tuilleadh OVS agus tha buileachadh gnàthach OVS air a choileanadh agus a chomasan a leasachadh gu mòr, a leigeas leis a bhith air a chleachdadh le gnìomhaichean cian-chonaltraidh le gnìomhan làn luchdaichte, mar eisimpleir, tha buileachadh OVS ann le taic airson luathachadh DPDK.

Tha trì pàirtean cudromach de OVS air am feum thu a bhith mothachail:

  • Modal kernel - pàirt a tha suidhichte anns an àite kernel a bhios a ’giullachd trafaic stèidhichte air na riaghailtean a gheibhear bhon eileamaid smachd;
  • vSwitch daemon (ovs-vswitchd) na phròiseas a chaidh a chuir air bhog ann an àite luchd-cleachdaidh a tha an urra ri prògramadh a’ mhodal kernel - is e sin, tha e a ’riochdachadh gu dìreach loidsig gnìomhachd an suidse
  • Frithealaiche stòr-dàta - stòr-dàta ionadail suidhichte air gach aoigh a tha a’ ruith OVS, anns a bheil an rèiteachadh air a stòradh. Faodaidh luchd-riaghlaidh SDN conaltradh tron ​​​​mhodal seo a’ cleachdadh protocol OVSDB.

An cois seo uile tha seata de ghoireasan sgrùdaidh is riaghlaidh, leithid ovs-vsctl, ovs-appctl, ovs-ofctl, msaa.

An-dràsta, tha Openstack air a chleachdadh gu farsaing le luchd-obrachaidh telecom gus gnìomhan lìonra a ghluasad thuige, leithid EPC, SBC, HLR, msaa. tòrr trafaic (a-nis tha meud trafaic a’ ruighinn grunn cheudan gigabits gach diog). Gu nàdarra, chan e am beachd as fheàrr a bhith a’ draibheadh ​​​​a leithid de thrafaig tro àite kernel (leis gu bheil an neach-adhartachaidh suidhichte an sin gu bunaiteach). Mar sin, bidh OVS gu tric air a chleachdadh gu tur ann an àite luchd-cleachdaidh a ’cleachdadh teicneòlas luathachaidh DPDK gus trafaic a chuir air adhart bho NIC gu àite luchd-cleachdaidh a’ dol seachad air an kernel.

Nota: airson sgòth air a chleachdadh airson gnìomhan cian-conaltraidh, tha e comasach trafaic a chuir a-mach bho nód coimpiutaireachd a’ dol seachad air OVS gu dìreach gu bhith ag atharrachadh uidheamachd. Tha dòighean SR-IOV agus Passthrough air an cleachdadh airson an adhbhair seo.

Ciamar a tha seo ag obair air cruth fìor?

Uill, a-nis gluaisidh sinn air adhart chun phàirt phractaigeach agus faic mar a tha e uile ag obair ann an cleachdadh.

An toiseach, leig dhuinn stàladh sìmplidh Openstack a chleachdadh. Leis nach eil seata de luchd-frithealaidh agam ri làimh airson deuchainnean, cruinnichidh sinn am prototype air aon fhrithealaiche fiosaigeach bho innealan brìgheil. Tha, gu nàdarra, chan eil fuasgladh mar seo freagarrach airson adhbharan malairteach, ach airson eisimpleir fhaicinn air mar a tha an lìonra ag obair ann an Openstack, tha an leithid de stàladh gu leòr airson na sùilean. A bharrachd air an sin, tha an leithid de stàladh eadhon nas inntinniche airson adhbharan trèanaidh - oir is urrainn dhut trafaic a ghlacadh, msaa.

Leis nach fheum sinn ach am pàirt bunaiteach fhaicinn, chan urrainn dhuinn grunn lìonraidhean a chleachdadh ach a h-uile càil a thogail le bhith a ’cleachdadh dìreach dà lìonra, agus thèid an dàrna lìonra san dreach seo a chleachdadh a-mhàin airson faighinn chun fhrithealaiche undercloud agus DNS. Cha toir sinn suathadh air lìonraidhean taobh a-muigh airson a-nis - is e cuspair a tha seo airson artaigil mòr air leth.

Mar sin, tòisichidh sinn ann an òrdugh. An toiseach, beagan teòiridh. Stàlaichidh sinn Openstack a’ cleachdadh TripleO (Openstack air Openstack). Is e brìgh TripleO gum bi sinn a’ stàladh Openstack uile-ann-aon (is e sin, air aon nód), ris an canar undercloud, agus an uairsin a’ cleachdadh comasan an Openstack a chaidh a chleachdadh gus Openstack a chuir a-steach airson obrachadh, ris an canar overcloud. Cleachdaidh Undercloud a chomas gnèitheach gus frithealaichean corporra (meatailt lom) a riaghladh - am pròiseact Iarainn - gus hypervisors a sholarachadh a choileanas dreuchdan coimpiutaireachd, smachd, nodan stòraidh. Is e sin, cha bhith sinn a’ cleachdadh innealan treas-phàrtaidh sam bith gus Openstack a chleachdadh - bidh sinn a’ cleachdadh Openstack a’ cleachdadh Openstack. Bidh e tòrr nas soilleire mar a thèid an stàladh air adhart, agus mar sin cha stad sinn an sin agus gluais air adhart.

Nota: Anns an artaigil seo, air sgàth sìmplidh, cha do chleachd mi iomallachd lìonra airson lìonraidhean Openstack a-staigh, ach tha a h-uile càil air a chleachdadh le bhith a’ cleachdadh dìreach aon lìonra. Ach, chan eil làthaireachd no neo-làthaireachd iomallachd lìonra a’ toirt buaidh air gnìomhachd bunaiteach an fhuasglaidh - obraichidh a h-uile dad dìreach mar a bhithear a’ cleachdadh aonaranachd, ach bidh trafaic a’ sruthadh air an aon lìonra. Airson stàladh malairteach, tha e riatanach gu nàdarra aonaranachd a chleachdadh a’ cleachdadh diofar vlan agus eadar-aghaidh. Mar eisimpleir, bidh trafaic riaghlaidh stòraidh ceph agus trafaic dàta fhèin (ruigsinneachd inneal air diosgan, msaa) nuair a bhios iad leotha fhèin a’ cleachdadh diofar subnets (Stòradh is stòradh) agus leigidh seo leat am fuasgladh a dhèanamh nas fulangaiche le bhith a’ roinneadh an trafaic seo, mar eisimpleir , thairis air diofar phuirt, no a’ cleachdadh diofar phròifil QoS airson diofar thrafaig gus nach cuir trafaic dàta às do thrafaig chomharran. Anns a 'chùis againn, thèid iad air an aon lìonra agus gu dearbh chan eil seo a' cuingealachadh oirnn ann an dòigh sam bith.

Nota: Leis gu bheil sinn gu bhith a’ ruith innealan brìgheil ann an àrainneachd bhrìgheil stèidhichte air innealan brìgheil, feumaidh sinn an toiseach virtualization neadachaidh a chomasachadh.

Faodaidh tu dearbhadh a bheil virtualization neadachaidh air a chomasachadh no nach eil:


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

Ma chì thu an litir N, an uairsin leigidh sinn taic airson virtualization neadachaidh a rèir stiùireadh sam bith a lorgas tu air an lìonra, mar eisimpleir leithid de .

Feumaidh sinn an cuairteachadh a leanas a chruinneachadh bho innealan brìgheil:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Anns a ’chùis agam, gus na h-innealan brìgheil a tha nam pàirt den stàladh san àm ri teachd a cheangal (agus fhuair mi 7 dhiubh, ach gheibh thu seachad le 4 mura h-eil tòrr ghoireasan agad), chleachd mi OpenvSwitch. Chruthaich mi drochaid aon ovs agus cheangail mi innealan brìgheil rithe tro bhuidhnean puirt. Gus seo a dhèanamh, chruthaich mi faidhle 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>

Tha trì buidhnean puirt air an ainmeachadh an seo - dà ruigsinneachd agus aon stoc (bha feum air an fhear mu dheireadh airson an fhrithealaiche DNS, ach faodaidh tu a dhèanamh às aonais, no stàlaich e air an inneal aoigheachd - ge bith dè a tha nas freagarraiche dhut). An ath rud, a’ cleachdadh an teamplaid seo, bidh sinn ag ainmeachadh an fheadhainn againn tro virsh net-define:


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

A-nis bidh sinn a’ deasachadh rèiteachaidhean port hypervisor:


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

Thoir an aire: anns an t-suidheachadh seo, cha bhith an seòladh air port ovs-br1 ruigsinneach leis nach eil taga vlan air. Gus seo a chàradh, feumaidh tu an àithne sudo ovs-vsctl set port ovs-br1 tag = 100. Ach, às deidh ath-thòiseachadh, falbhaidh an taga seo (ma tha fios aig duine mar a chumas iad e na àite, bidh mi air leth taingeil). Ach chan eil seo cho cudromach, oir cha bhith feum againn ach air an t-seòladh seo rè an stàlaidh agus cha bhith feum againn air nuair a bhios Openstack làn chleachdadh.

An ath rud, bidh sinn a’ cruthachadh inneal 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

Rè an stàlaidh, shuidhich thu na paramadairean riatanach uile, leithid ainm an inneil, faclan-faire, luchd-cleachdaidh, frithealaichean ntp, msaa, faodaidh tu na puirt a rèiteachadh sa bhad, ach dhòmhsa gu pearsanta, às deidh an stàladh, tha e nas fhasa logadh a-steach don inneal troimhe an consol agus ceartaich na faidhlichean riatanach. Ma tha ìomhaigh deiseil agad mu thràth, faodaidh tu a chleachdadh, no na rinn mi a dhèanamh - luchdaich sìos an ìomhaigh Centos 7 as ìsle agus cleachd e gus an VM a stàladh.

Às deidh an stàladh soirbheachail, bu chòir inneal brìgheil a bhith agad air an urrainn dhut undercloud a stàladh


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

An toiseach, stàlaich na h-innealan a tha riatanach airson a 'phròiseas stàlaidh:

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

Stàladh undercloud

Bidh sinn a’ cruthachadh neach-cleachdaidh stac, a’ suidheachadh facal-faire, ga chur ri sudoer agus a’ toirt comas dha òrdughan freumha a chuir an gnìomh tro sudo gun a bhith agad ri facal-faire a chuir a-steach:


useradd stack
passwd stack

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

A-nis bidh sinn a’ sònrachadh an làn ainm undercloud anns an fhaidhle aoigheachd:


vi /etc/hosts

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

An ath rud, cuiridh sinn tasgaidhean ris agus stàlaich sinn am bathar-bog a tha a dhìth oirnn:


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

Thoir an aire: mura h-eil thu an dùil ceph a chuir a-steach, cha leig thu leas òrdughan co-cheangailte ri ceph a chuir a-steach. Chleachd mi am brath Queens, ach faodaidh tu fear sam bith eile as toil leat a chleachdadh.

An uairsin, dèan lethbhreac den fhaidhle rèiteachaidh undercloud gu stac eòlaire dachaigh an neach-cleachdaidh:


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

A-nis feumaidh sinn am faidhle seo a cheartachadh, ga atharrachadh gu ar stàladh.

Feumaidh tu na loidhnichean seo a chur ri toiseach an fhaidhle:

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, rachamaid tro na roghainnean:

undercloud_hostname - feumaidh ainm slàn an fhrithealaiche undercloud, a bhith co-ionnan ris an inntrigeadh air an fhrithealaiche DNS

ionadail_ip - seòladh subcloud ionadail a dh’ ionnsaigh solar lìonra

lìonra_geata - bidh an aon sheòladh ionadail, a bhios mar gheata airson faighinn a-steach don t-saoghal a-muigh nuair a thèid nodan overcloud a chuir a-steach, cuideachd aig an aon àm ri ip ionadail

undercloud_public_host - seòladh API taobh a-muigh, thèid seòladh an-asgaidh sam bith bhon lìonra solair a shònrachadh

undercloud_admin_host seòladh API a-staigh, thèid seòladh an-asgaidh sam bith bhon lìonra solair a shònrachadh

undercloud_nameservers - frithealaiche DNS

ghineadh_seirbheis_teisteanas - tha an loidhne seo glè chudromach san eisimpleir a th’ ann an-dràsta, oir mura cuir thu gu ceàrr e gheibh thu mearachd rè an stàlaidh, tha an duilgheadas air a mhìneachadh air rianadair bug Red Hat

ionadail_eadar-aghaidh eadar-aghaidh ann an solar lìonra. Thèid an eadar-aghaidh seo ath-dhealbhadh nuair a bhios tu a’ cleachdadh undercloud, agus mar sin feumaidh dà eadar-aghaidh a bhith agad air undercloud - aon airson faighinn thuige, an dàrna fear airson solar

ionadail_mtu — MTU. Leis gu bheil obair-lann deuchainn againn agus gu bheil MTU de 1500 agam air na puirt suidse OVS, feumar a shuidheachadh gu 1450 gus an urrainn dha pacaidean a tha air an cuairteachadh ann an VxLAN a dhol troimhe

lìonra_cidr - lìonra solarachaidh

masquerade - a’ cleachdadh NAT gus faighinn gu lìonra a-muigh

masquerade_lìonra - lìonra a bhios NATed

dhcp_tòiseachadh - seòladh tòiseachaidh an amar seòlaidh às an tèid seòlaidhean a shònrachadh do nodan nuair a bhios iad gan cleachdadh

dhcp_crìoch - an seòladh mu dheireadh den amar seòlaidh às an tèid seòlaidhean a shònrachadh do nodan nuair a bhios iad gan cleachdadh

sgrùdadh_iprange - cruinneachadh de sheòlaidhean a tha riatanach airson introspection (cha bu chòir dhaibh a dhol thairis air an amar gu h-àrd)

clàr-ama_max_oidhirpean - an àireamh as motha de dh’ oidhirpean gus overcloud a chuir a-steach (feumaidh e a bhith nas motha na no co-ionann ris an àireamh de nodan)

Às deidh don fhaidhle a bhith air a mhìneachadh, faodaidh tu an àithne a thoirt seachad airson undercloud a chleachdadh:


openstack undercloud install

Bidh am modh-obrach a 'toirt bho 10 gu 30 mionaidean a rèir an iarainn agad. Aig a’ cheann thall bu chòir dhut toradh mar seo fhaicinn:

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.

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

Tha an toradh seo ag ràdh gu bheil thu air undercloud a chuir a-steach gu soirbheachail agus faodaidh tu a-nis sgrùdadh a dhèanamh air inbhe undercloud agus a dhol air adhart gus overcloud a stàladh.

Ma choimheadas tu air toradh ifconfig, chì thu gu bheil eadar-aghaidh drochaid ùr air nochdadh

[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

Thèid cleachdadh Overcloud a-nis a dhèanamh tron ​​​​eadar-aghaidh seo.

Bhon toradh gu h-ìosal chì thu gu bheil a h-uile seirbheis againn air aon nód:

(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     |
+--------------------------+-----------+----------+

Gu h-ìosal tha rèiteachadh na pàirt 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 ~]$

Stàladh overcloud

Aig an àm seo chan eil againn ach fo-chòmhdach, agus chan eil nodan gu leòr againn às an tèid cus sgòthan a chruinneachadh. Mar sin, an toiseach, leig dhuinn na h-innealan brìgheil a tha a dhìth oirnn a chleachdadh. Rè an cleachdadh, cuiridh undercloud fhèin an OS agus am bathar-bog riatanach air an inneal overcloud - is e sin, chan fheum sinn an inneal a chuir a-steach gu tur, ach dìreach cruthaich diosc (no diosgan) air a shon agus suidhich na crìochan aige - is e sin , gu dearbh, gheibh sinn frithealaiche lom às aonais OS air a chuir a-steach air .

Rachamaid chun phasgan le diosgan nan innealan brìgheil againn agus cruthaich sinn diosgan den mheud a tha a dhìth:


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

Leis gu bheil sinn ag obair mar fhreumh, feumaidh sinn sealbhadair nan diosgan sin atharrachadh gus nach faigh sinn duilgheadas le còraichean:


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

Thoir an aire: mura h-eil thu an dùil ceph a chuir a-steach gus a sgrùdadh, cha bhith na h-òrdughan a’ cruthachadh co-dhiù 3 nodan le co-dhiù dà dhiosca, ach anns an teamplaid comharraich gun tèid diosgan brìgheil vda, vdb, msaa a chleachdadh.

Sgoinneil, a-nis feumaidh sinn na h-innealan sin uile a mhìneachadh:


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 

Aig an deireadh tha àithne -print-xml> / tmp/storage-1.xml, a chruthaicheas faidhle xml le tuairisgeul air gach inneal sa phasgan / tmp/; mura cuir thu ris e, cha bhith thu comasach air innealan brìgheil aithneachadh.

A-nis feumaidh sinn na h-innealan sin uile a mhìneachadh ann an 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 ~]#

A-nis nuance beag - bidh tripleO a’ cleachdadh IPMI gus frithealaichean a riaghladh aig àm stàlaidh agus introspection.

Is e introspection am pròiseas airson sgrùdadh a dhèanamh air a’ bhathar-cruaidh gus na crìochan aige fhaighinn a tha riatanach airson tuilleadh solarachaidh de nodan. Thathas a’ dèanamh introspection a’ cleachdadh ìoranas, seirbheis a chaidh a dhealbhadh gus obrachadh le frithealaichean meatailt lom.

Ach seo an duilgheadas - ged a tha port air leth aig frithealaichean bathar-cruaidh IPMI (no port co-roinnte, ach chan eil seo cudromach), chan eil puirt mar sin aig innealan brìgheil. An seo thig crutch ris an canar vbmc gu ar taic - goireas a leigeas leat aithris a dhèanamh air port IPMI. Is fhiach aire a thoirt don nuance seo gu sònraichte dhaibhsan a tha airson obair-lann mar seo a stèidheachadh air hypervisor ESXI - a bhith onarach, chan eil fhios agam a bheil analogue de vbmc aige, agus mar sin is fhiach a bhith a’ faighneachd mun chùis seo mus cuir thu a h-uile càil a-steach. .

Stàlaich vbmc:


yum install yum install python2-virtualbmc

Mura h-urrainn don OS agad am pasgan a lorg, an uairsin cuir ris an stòr:

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

A-nis tha sinn air an goireas a stèidheachadh. Tha a h-uile dad an seo banal gu ìre nàire. A-nis tha e loidsigeach nach eil frithealaichean air an liosta vbmc


[root@hp-gen9 ~]# vbmc list

[root@hp-gen9 ~]# 

Gus an nochd iad, feumaidh iad a bhith air an ainmeachadh le 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 ~]#

Tha mi a 'smaoineachadh gu bheil an co-chòrdadh àithne soilleir gun mhìneachadh. Ach, airson a-nis tha na seiseanan againn uile ann an inbhe DOWN. Gus an gluais iad gu inbhe UP, feumaidh tu an comas a thoirt dhaibh:


[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 suathadh mu dheireadh - feumaidh tu na riaghailtean balla-teine ​​​​a cheartachadh (no a chuir dheth gu tur):


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

A-nis rachamaid gu undercloud agus dèan cinnteach gu bheil a h-uile càil ag obair. Is e seòladh an inneal aoigheachd 192.168.255.200, air undercloud chuir sinn ris a’ phacaid ipmitool riatanach nuair a bha sinn ag ullachadh airson a chleachdadh:


[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 chì thu, tha sinn air an nód smachd a chuir air bhog gu soirbheachail tro vbmc. A-nis leig dhuinn a thionndadh dheth agus gluasad air adhart:


[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 e an ath cheum sgrùdadh a dhèanamh air na nodan air an tèid overcloud a chuir a-steach. Gus seo a dhèanamh, feumaidh sinn faidhle json ullachadh le tuairisgeul air na nodan againn. Thoir an aire, eu-coltach ri stàladh air frithealaichean lom, gu bheil am faidhle a’ comharrachadh a’ phort air a bheil vbmc a’ ruith airson gach inneal.


[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

Thoir fa-near: tha dà eadar-aghaidh aig an nód smachd, ach sa chùis seo chan eil seo cudromach, anns an stàladh seo bidh fear gu leòr dhuinn.

A-nis bidh sinn ag ullachadh am faidhle json. Feumaidh sinn seòladh crom-lus a 'phuirt a chomharrachadh tro bheilear a' dèanamh an t-ullachaidh, crìochan nan nodan, ainmean a thoirt dhaibh agus innse mar a ruigeas iad 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"
        }
    ]
}

A-nis feumaidh sinn ìomhaighean ullachadh airson ìoranas. Gus seo a dhèanamh, luchdaich sìos iad tro wget agus stàlaich:

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

Gus dealbhan a luchdachadh a-nuas gu 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 ~]$

Dèan cinnteach gu bheil a h-uile dealbh air a luchdachadh


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

Aon rud eile - feumaidh tu frithealaiche DNS a chuir ris:


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

A-nis is urrainn dhuinn an òrdugh airson introspection a thoirt seachad:

(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 chì thu bhon toradh, chaidh a h-uile càil a chrìochnachadh gun mhearachdan. Feuch an dèan sinn cinnteach gu bheil a h-uile nodan anns an staid a tha ri fhaighinn:


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

Ma tha na nodan ann an staid eadar-dhealaichte, mar as trice a ghabhas riaghladh, chaidh rudeigin ceàrr agus feumaidh tu coimhead air an log agus obraich a-mach carson a thachair seo. Cumaibh cuimhne gu bheil sinn anns an t-suidheachadh seo a’ cleachdadh virtualization agus is dòcha gu bheil mialan co-cheangailte ri cleachdadh innealan brìgheil no vbmc.

An ath rud, feumaidh sinn innse dè an nód a choileanas an gnìomh - is e sin, comharraich am pròifil leis am bi an nód a’ cleachdadh:


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

Sònraich am pròifil airson 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

Feuch an dèan sinn cinnteach gun do rinn sinn a h-uile càil ceart:


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

Ma tha a h-uile càil ceart, bheir sinn seachad an àithne overcloud a chleachdadh:

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

Ann an stàladh fìor, thèid teamplaidean gnàthaichte a chleachdadh gu nàdarrach, sa chùis againn nì seo am pròiseas gu mòr, oir feumar gach deasachadh san teamplaid a mhìneachadh. Mar a chaidh a sgrìobhadh na bu thràithe, bidh eadhon stàladh sìmplidh gu leòr dhuinn faicinn mar a tha e ag obair.

Thoir an aire: tha an caochladair --libvirt-type qemu riatanach sa chùis seo, oir cleachdaidh sinn virtualization neadachaidh. Rud eile, cha bhith e comasach dhut innealan brìgheil a ruith.

A-nis tha timcheall air uair a thìde agad, no is dòcha barrachd (a rèir comasan a’ bhathar-chruaidh) agus chan urrainn dhut ach an dòchas gum faic thu an teachdaireachd a leanas às deidh na h-ùine 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 ~]$

A-nis tha dreach cha mhòr làn de Openstack agad, air an urrainn dhut sgrùdadh, feuchainn, msaa.

Feuch an dèan sinn cinnteach gu bheil a h-uile càil ag obair ceart. Ann an stac eòlaire dachaigh an neach-cleachdaidh tha dà fhaidhle - aon stackrc (airson riaghladh undercloud) agus an dàrna overcloudrc (airson riaghladh overcloud). Feumaidh na faidhlichean sin a bhith air an sònrachadh mar thùs, leis gu bheil fiosrachadh annta a tha riatanach airson dearbhadh.


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

Feumaidh an stàladh agam fhathast aon suathadh beag - a’ cur slighe air an rianadair, leis gu bheil an inneal leis a bheil mi ag obair air lìonra eile. Gus seo a dhèanamh, rachaibh gu smachd-1 fon chunntas teas-admin agus clàraich an t-slighe


(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

Uill, a-nis faodaidh tu a dhol a-steach don fhàire. Tha a h-uile fiosrachadh - seòlaidhean, logadh a-steach agus facal-faire - anns an fhaidhle /home/stack/overcloudrc. Tha an sgeama mu dheireadh a’ coimhead mar seo:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Air an t-slighe, anns an stàladh againn, chaidh seòlaidhean inneal a chuir a-mach tro DHCP agus, mar a chì thu, tha iad air an toirt seachad “air thuaiream”. Faodaidh tu mìneachadh teann anns an teamplaid dè an seòladh a bu chòir a bhith ceangailte ris an inneal aig àm cleachdadh, ma tha feum agad air.

Ciamar a tha trafaic a’ sruthadh eadar innealan brìgheil?

San artaigil seo seallaidh sinn ri trì roghainnean airson trafaic a’ dol seachad

  • Dà inneal air aon hypervisor air aon lìonra L2
  • Dà inneal air diofar hypervisors air an aon lìonra L2
  • Dà inneal air diofar lìonraidhean (freumhachadh thar-lìonra)

Cùisean le ruigsinneachd air an t-saoghal a-muigh tro lìonra a-muigh, a’ cleachdadh seòlaidhean fleòdraidh, a bharrachd air slighean sgaoilte, beachdaichidh sinn an ath thuras, airson a-nis cuiridh sinn fòcas air trafaic a-staigh.

Gus sgrùdadh a dhèanamh, leig dhuinn an diagram a leanas a chuir ri chèile:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Tha sinn air 4 innealan brìgheil a chruthachadh - 3 air aon lìonra L2 - net-1, agus 1 eile air an lìonra 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 ~]$ 

Feuch sinn a-mach dè na hypervisors air a bheil na h-innealan cruthaichte:

(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 ~] $
Tha innealan vm-1 agus vm-3 suidhichte air compute-0, tha innealan vm-2 agus vm-4 suidhichte air nód compute-1.

A bharrachd air an sin, chaidh router brìgheil a chruthachadh gus slighe a dhèanamh eadar na lìonraidhean ainmichte:

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

Tha dà phort brìgheil aig an router, a bhios mar gheataichean airson lìonraidhean:

(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 mus coimhead sinn air mar a tha an trafaic a’ sruthadh, leig dhuinn sùil a thoirt air na tha againn an-dràsta air an nód smachd (a tha cuideachd na nód lìonra) agus air an nód coimpiutaireachd. Feuch an tòisich sinn leis an nód coimpiutaireachd.


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

Aig an àm seo, tha trì drochaidean ovs aig an nód - br-int, br-tun, br-ex. Eadar iad, mar a chì sinn, tha seata de eadar-aghaidh. Airson a bhith furasta a thuigsinn, leig dhuinn na h-eadar-aghaidh sin uile a dhealbhadh air an diagram agus faic dè thachras.

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

A’ coimhead air na seòlaidhean dha bheil tunailean VxLAN air an togail, chìthear gu bheil aon tunail air a thogail gus compute-1 (192.168.255.26), tha an dàrna tunail a’ coimhead ri smachd-1 (192.168.255.15). Ach is e an rud as inntinniche nach eil eadar-aghaidh corporra aig br-ex, agus ma choimheadas tu air dè na sruthan a tha air an rèiteachadh, chì thu nach urrainn don drochaid seo ach trafaic a leigeil sìos an-dràsta.


[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 chì thu bhon toradh, tha an seòladh air a sgrìobadh gu dìreach chun phort fiosaigeach, agus chan ann chun eadar-aghaidh drochaid brìgheil.


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

A rèir a 'chiad riaghailt, feumar a h-uile càil a thàinig bhon phort phy-br-ex a thilgeil air falbh.
Gu fìrinneach, chan eil àite sam bith eile ann an-dràsta airson trafaic a thighinn a-steach don drochaid seo ach bhon eadar-aghaidh seo (an eadar-aghaidh le br-int), agus a’ breithneachadh leis na boinneagan, tha trafaic BUM air itealaich a-steach don drochaid mu thràth.

Is e sin, faodaidh trafaic an nód seo fhàgail dìreach tro thunail VxLAN agus gun dad eile. Ach, ma thionndaidheas tu an DVR, atharraichidh an suidheachadh, ach dèiligidh sinn ri sin uair eile. Nuair a bhios tu a’ cleachdadh iomallachd lìonra, mar eisimpleir a’ cleachdadh vlans, cha bhi aon eadar-aghaidh L3 agad ann an vlan 0, ach grunn eadar-aghaidh. Ach, fàgaidh trafaic VxLAN an nód san aon dòigh, ach cuideachd air a chuairteachadh ann an seòrsa de vlan sònraichte.

Tha sinn air an nód coimpiutaireachd a rèiteach, gluaisidh sinn air adhart chun nód smachd.


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

Gu dearbh, is urrainn dhuinn a ràdh gu bheil a h-uile dad mar an ceudna, ach chan eil an seòladh IP tuilleadh air an eadar-aghaidh fiosaigeach ach air an drochaid bhrìgheil. Tha seo air a dhèanamh leis gur e am port seo am port tro bheil trafaic a’ falbh chun t-saoghal a-muigh.


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

Tha am port seo ceangailte ris an drochaid br-ex agus leis nach eil tagaichean vlan air, tha am port seo na phrìomh phort air a bheil cead aig a h-uile vlan, a-nis bidh trafaic a’ dol a-mach às aonais taga, mar a tha air a chomharrachadh le vlan-id 0 anns an toradh gu h-àrd.

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Tha a h-uile càil eile an-dràsta coltach ris an nód coimpiutaireachd - na h-aon drochaidean, na h-aon thunailean a’ dol gu dà nodan coimpiutaireachd.

Cha bhith sinn a’ beachdachadh air nodan stòraidh san artaigil seo, ach airson tuigse feumar a ràdh gu bheil pàirt lìonra nan nodan sin banal gu ìre nàire. Anns a’ chùis againn, chan eil ann ach aon phort corporra (eth0) le seòladh IP air a shònrachadh dha agus sin e. Chan eil tunailean VxLAN, drochaidean tunail, msaa - chan eil ovs ann idir, oir chan eil feum sam bith ann. Nuair a bhios tu a’ cleachdadh iomallachd lìonra, bidh dà eadar-aghaidh aig an nód seo (puirt corporra, bodhaig, no dìreach dà vlan - chan eil e gu diofar - bidh e an urra ri na tha thu ag iarraidh) - aon airson riaghladh, an dàrna fear airson trafaic (a’ sgrìobhadh chun diosc VM , leughadh bhon diosg, msaa.)

Dh’obraich sinn a-mach dè a th’ againn air na nodan às aonais seirbheisean sam bith. A-nis leig dhuinn 4 innealan brìgheil a chuir air bhog agus faic mar a bhios an sgeama a tha air a mhìneachadh gu h-àrd ag atharrachadh - bu chòir puirt, routers brìgheil, msaa a bhith againn.

Gu ruige seo tha an lìonra againn a’ coimhead mar seo:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Tha dà inneal brìgheil againn air gach nód coimpiutair. A’ cleachdadh compute-0 mar eisimpleir, chì sinn mar a tha a h-uile càil air a ghabhail a-steach.


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

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

Chan eil ach aon eadar-aghaidh brìgheil aig an inneal - 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 ~]$ 

Tha an eadar-aghaidh seo a’ coimhead anns an drochaid 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 chì thu bhon toradh, chan eil ach dà eadar-aghaidh anns an drochaid - tap95d96a75-a0 agus qvb95d96a75-a0.

An seo is fhiach a bhith a’ fuireach beagan air na seòrsaichean innealan lìonra brìgheil ann an OpenStack:
vtap - eadar-aghaidh brìgheil ceangailte ri eisimpleir (VM)
qbr - drochaid Linux
qvb agus qvo - vEth paidhir ceangailte ri drochaid Linux agus drochaid Open vSwitch
br-int, br-tun, br-vlan — Fosgail drochaidean vSwitch
patch-, int-br-, phy-br- - Fosgail eadar-aghaidh paiste vSwitch a’ ceangal drochaidean
qg, qr, ha, fg, sg - Fosgail puirt vSwitch air an cleachdadh le innealan brìgheil gus ceangal ri OVS

Mar a thuigeas tu, ma tha port qvb95d96a75-a0 againn san drochaid, a tha na phaidhir vEth, an uairsin an àiteigin tha a mhac-meanmna, a bu chòir a bhith air ainmeachadh gu loidsigeach qvo95d96a75-a0. Bheir sinn sùil air dè na puirt a th’ air 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 a chì sinn, tha am port ann am br-int. Bidh Br-int ag obair mar suidse a chuireas crìoch air puirt inneal brìgheil. A bharrachd air qvo95d96a75-a0, tha am port qvo5bd37136-47 ri fhaicinn san toradh. Is e seo am port chun dàrna inneal brìgheil. Mar thoradh air an sin, tha an diagram againn a-nis a’ coimhead mar seo:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Ceist a bu chòir ùidh a thoirt don leughadair furachail sa bhad - dè an drochaid linux eadar am port inneal brìgheil agus am port OVS? Is e an fhìrinn gu bheilear a’ cleachdadh buidhnean tèarainteachd gus an inneal a dhìon, rud nach eil nas motha na iptables. Chan eil OVS ag obair le iptables, agus mar sin chaidh an “crutch” seo a chruthachadh. Ach, tha e a’ dol à bith - tha conntrack ga chur na àite ann am fiosan ùra.

Is e sin, aig a’ cheann thall tha an sgeama a’ coimhead mar seo:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Dà inneal air aon hypervisor air aon lìonra L2

Leis gu bheil an dà VM seo suidhichte air an aon lìonra L2 agus air an aon hypervisor, bidh trafaic eatorra a’ sruthadh gu h-ionadail tro br-int, leis gum bi an dà inneal air an aon VLAN:


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

Dà inneal air diofar hypervisors air an aon lìonra L2

A-nis chì sinn mar a thèid an trafaic eadar dà inneal air an aon lìonra L2, ach suidhichte air diofar hypervisors. Gus a bhith onarach, cha atharraich dad mòran, cha tèid ach trafaic eadar hypervisors tro thunail vxlan. Bheir sinn sùil air eisimpleir.

Seòlaidhean innealan brìgheil eadar am bi sinn a’ coimhead trafaic:

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

Bheir sinn sùil air a’ chlàr adhartachaidh ann am br-int air compute-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 ~]

Bu chòir trafaic a dhol gu port 2 - chì sinn dè an seòrsa port a th’ 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 e seo patch-tun - is e sin, an eadar-aghaidh ann am br-tun. Chì sinn dè thachras don phacaid air 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 ~]$ 

Tha am paca air a phacaigeadh ann an VxLAN agus air a chuir gu port 2. Chì sinn far a bheil port 2 a’ stiùireadh:

[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 e seo tunail vxlan air compute-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 ~]$

Rachamaid gu compute-1 agus faic dè thachras a-nis leis a’ phacaid:

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

Tha Mac anns a’ chlàr air adhart br-int air compute-1, agus mar a chithear bhon toradh gu h-àrd, tha e ri fhaicinn tro phort 2, is e sin am port a dh’ionnsaigh 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

Uill, an uairsin chì sinn gu bheil crom-lus ceann-uidhe ann am br-int air compute-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 e sin, sgèithidh am pasgan a gheibhear gu port 3, agus air a chùlaibh tha eisimpleir inneal brìgheil-00000003 mu thràth.

Is e bòidhchead a bhith a’ cleachdadh Openstack airson ionnsachadh air bun-structar brìgheil gun urrainn dhuinn trafaic a ghlacadh gu furasta eadar hypervisors agus faicinn dè tha a’ tachairt leis. Seo na nì sinn a-nis, ruith tcpdump air a’ phort vnet a dh’ionnsaigh compute-0:


[root@hp-gen9 bormoglotx]# tcpdump -vvv -i vnet3
tcpdump: listening on vnet3, link-type EN10MB (Ethernet), capture size 262144 bytes

*****************omitted*******************

04:39:04.583459 IP (tos 0x0, ttl 64, id 16868, offset 0, flags [DF], proto UDP (17), length 134)
    192.168.255.19.39096 > 192.168.255.26.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 8012, offset 0, flags [DF], proto ICMP (1), length 84)
    10.0.1.85 > 10.0.1.88: ICMP echo request, id 5634, seq 16, length 64
04:39:04.584449 IP (tos 0x0, ttl 64, id 35181, offset 0, flags [DF], proto UDP (17), length 134)
    192.168.255.26.speedtrace-disc > 192.168.255.19.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 59124, offset 0, flags [none], proto ICMP (1), length 84)
    10.0.1.88 > 10.0.1.85: ICMP echo reply, id 5634, seq 16, length 64
	
*****************omitted*******************

Tha a 'chiad loidhne a' sealltainn gu bheil Patek bho sheòladh 10.0.1.85 a 'dol gu seòladh 10.0.1.88 (trafaic ICMP), agus tha e air a phasgadh ann am pasgan VxLAN le vni 22 agus tha am pasgan a' dol bho aoigheachd 192.168.255.19 (coimpiutair-0) gu aoigheachd 192.168.255.26 .1 (coimpiutar-XNUMX). Faodaidh sinn dèanamh cinnteach gu bheil an VNI a’ freagairt ris an fhear a chaidh a shònrachadh ann an ovs.

Tillidh sinn chun loidhne seo gnìomhan = luchdaich: 0-> NXM_OF_VLAN_TCI[],load: 0x16-> NXM_NX_TUN_ID[],toradh:2. Tha 0x16 vni ann an siostam àireamh hexadecimal. Tionndaidhidh sinn an àireamh seo chun 16mh siostam:


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

Is e sin, tha vni a 'freagairt ris an fhìrinn.

Tha an dàrna loidhne a 'sealltainn trafaig tilleadh, uill, chan eil feum air a mhìneachadh, tha a h-uile dad soilleir an sin.

Dà inneal air diofar lìonraidhean (slighe eadar-lìonra)

Is e a’ chùis mu dheireadh airson an-diugh slighe eadar lìonraidhean taobh a-staigh aon phròiseact a’ cleachdadh router brìgheil. Tha sinn a 'beachdachadh air cùis gun DVR (seallaidh sinn air ann an artaigil eile), agus mar sin bidh slighe a' tachairt air nód an lìonraidh. Anns a ’chùis againn, chan eil an nód lìonra air a chuir ann an eintiteas air leth agus tha e suidhichte air an nód smachd.

An toiseach, chì sinn gu bheil slighe ag obair:

$ 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

Leis anns a 'chùis seo feumaidh am pasgan a dhol chun a' gheata agus a bhith air a stiùireadh an sin, feumaidh sinn faighinn a-mach seòladh crom-lus a 'gheata, agus bidh sinn a' coimhead air a 'chlàr ARP mar a leanas:

$ 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

A-nis chì sinn far am bu chòir an trafaic le ceann-uidhe (10.0.1.254) fa:16:3e:c4:64:70 a chuir:

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

Bheir sinn sùil air far a bheil port 2 a’ stiùireadh:

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

Tha a h-uile dad loidsigeach, bidh trafaic a’ dol gu br-tun. Chì sinn dè an tunail vxlan anns am bi e air a phasgadh:

[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 e tunail vxlan an treas port:

[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 tha a’ coimhead air an nód smachd:

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

Tha an trafaic air an ionad smachd a ruighinn, agus mar sin feumaidh sinn a dhol thuige agus faicinn mar a thachras slighe.

Mar a chuimhnicheas tu, bha an nòta smachd a-staigh a’ coimhead dìreach mar a bha an nód coimpiutaireachd - na h-aon trì drochaidean, cha robh ach port fiosaigeach aig br-ex tro am b’ urrainn don nód trafaic a chuir a-muigh. Dh'atharraich cruthachadh shuidheachaidhean an rèiteachadh air na nodan coimpiutaireachd - chaidh drochaid linux, iptables agus eadar-aghaidh a chur ris na nodan. Dh’ fhàg cruthachadh lìonraidhean agus router brìgheil a chomharra cuideachd air rèiteachadh an nód smachd.

Mar sin, tha e follaiseach gum feum an t-seòladh MAC geata a bhith anns a’ chlàr adhartachaidh br-int air an nód smachd. Feuch an dèan sinn cinnteach gu bheil e ann agus càite a bheil e a’ coimhead:

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

Tha am Mac ri fhaicinn bhon phort qr-0c52b15f-8f. Ma thèid sinn air ais chun liosta de phuirt brìgheil ann an Openstack, thèid an seòrsa port seo a chleachdadh gus diofar innealan brìgheil a cheangal ri OVS. Gus a bhith nas mionaidiche, tha qr na phort don router brìgheil, a tha air a riochdachadh mar àite ainm.

Chì sinn dè na h-ainmean a tha air an fhrithealaiche:

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

Cho mòr ri trì leth-bhreacan. Ach a 'breithneachadh leis na h-ainmean, faodaidh tu tomhas adhbhar gach aon dhiubh. Tillidh sinn gu cùisean le ID 0 agus 1 nas fhaide air adhart, a-nis tha ùidh againn ann an namespace 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 ~]$ 

Anns an ainmspàs seo tha dà fhear a-staigh a chruthaich sinn na bu thràithe. Chaidh an dà phort brìgheil a chuir ri br-int. Feuch an toir sinn sùil air seòladh mac a ’phuirt qr-0c52b15f-8f, leis gun deach an trafaic, a’ breithneachadh a rèir seòladh mac ceann-uidhe, chun eadar-aghaidh 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 e sin, sa chùis seo, bidh a h-uile dad ag obair a rèir laghan àbhaisteach slighe. Leis gu bheil an trafaic gu bhith airson aoigheachd 10.0.2.8, feumaidh e falbh tron ​​​​dàrna eadar-aghaidh qr-92fa49b5-54 agus a dhol tron ​​​​tunail vxlan chun nód coimpiutaireachd:


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

Tha a h-uile dad loidsigeach, gun iongnadh sam bith. Chì sinn far a bheil seòladh crom-lus an aoigh 10.0.2.8 ri fhaicinn ann am 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 ~]$ 

Mar a bhiodh dùil, bidh trafaic a’ dol gu br-tun, chì sinn dè an tunail a thèid an trafaic thuige an ath rud:

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

Bidh trafaic a’ dol a-steach don tunail gus àireamhachadh-1. Uill, air compute-1 tha a h-uile dad sìmplidh - bho br-tun bidh am pasgan a’ dol gu br-int agus às an sin gu eadar-aghaidh inneal brìgheil:

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

Feuch an dèan sinn cinnteach gur e seo gu dearbh an eadar-aghaidh ceart:

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

Gu fìrinneach, chaidh sinn fad na slighe tron ​​​​phacaid. Tha mi a’ smaoineachadh gun do mhothaich thu gun deach an trafaic tro thunailean vxlan eadar-dhealaichte agus gun do dh’ fhalbh e le diofar VNIn. Feuch gum faic sinn dè an seòrsa VNI a th’ annta, às deidh sin cruinnichidh sinn dump air port smachd an nód agus nì sinn cinnteach gu bheil an trafaic a’ sruthadh dìreach mar a chaidh a mhìneachadh gu h-àrd.
Mar sin, tha na gnìomhan a leanas aig an tunail gu compute-0 = load: 0-> NXM_OF_VLAN_TCI [],load: 0x16-> NXM_NX_TUN_ID[],toradh: 3. Tionndaidhidh sinn 0x16 gu siostam àireamh deicheach:


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

Tha an VNI a leanas aig an tunail gu compute-1: gnìomhan = load: 0-> NXM_OF_VLAN_TCI [],load: 0x63-> NXM_NX_TUN_ID[],toradh: 2. Tionndaidhidh sinn 0x63 gu siostam àireamh deicheach:


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

Uill, a-nis leig dhuinn sùil a thoirt air an dump:

[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 e a’ chiad phacaid pacaid vxlan bho aoigheachd 192.168.255.19 (coimpiutair-0) gus aoigheachd a thoirt do 192.168.255.15 (smachd-1) le vni 22, taobh a-staigh a bheil pacaid ICMP air a phacaigeadh bho aoigheachd 10.0.1.85 gu aoigheachd 10.0.2.8. Mar a thomhais sinn gu h-àrd, tha vni a rèir na chunnaic sinn san toradh.

Tha an dàrna pacaid na phacaid vxlan bho aoigheachd 192.168.255.15 (smachd-1) gus aoigheachd a thoirt do 192.168.255.26 (coimpiutair-1) le vni 99, taobh a-staigh a bheil pasgan ICMP air a phacaigeadh bho aoigheachd 10.0.1.85 gus aoigheachd a thoirt do 10.0.2.8. Mar a thomhais sinn gu h-àrd, tha vni a rèir na chunnaic sinn san toradh.

Is e an ath dhà phacaid trafaic tilleadh bho 10.0.2.8 chan e 10.0.1.85.

Is e sin, aig a’ cheann thall fhuair sinn an sgeama nodan smachd a leanas:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Seall mar sin e? Dhìochuimhnich sinn mu dhà ainm:

[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 bha sinn a’ bruidhinn mu ailtireachd an àrd-ùrlar sgòthan, bhiodh e math nam biodh innealan a’ faighinn seòlaidhean gu fèin-ghluasadach bho fhrithealaiche DHCP. Is iad sin dà fhrithealaiche DHCP airson an dà lìonra againn 10.0.1.0/24 agus 10.0.2.0/24.

Feuch an dèan sinn cinnteach gu bheil seo fìor. Chan eil ach aon sheòladh san ainm-àite seo - 10.0.1.1 - seòladh an fhrithealaiche DHCP fhèin, agus tha e cuideachd ann am 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

Feuch am faic sinn a bheil pròiseasan anns a bheil qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 nan ainm air an nód smachd:


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

Tha leithid de phròiseas ann agus stèidhichte air an fhiosrachadh a tha air a thaisbeanadh anns an toradh gu h-àrd, chì sinn, mar eisimpleir, na tha againn an-dràsta airson màl:

[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 an sin, gheibh sinn na seirbheisean a leanas air an nód smachd:

Ro-ràdh don phàirt lìonra de bhun-structar sgòthan

Uill, cumaibh cuimhne - is e dìreach 4 innealan, 2 lìonra a-staigh agus aon router brìgheil a tha seo ... thionndaidh router sgaoilte dheth, agus aig a’ cheann thall Às deidh a h-uile càil, cha robh ach aon nòta smachd anns a’ bheing deuchainn (airson fulangas locht feumaidh cuòram de thrì nodan a bhith ann). Tha e loidsigeach gu bheil a h-uile dad “beagan” nas toinnte ann am malairt, ach san eisimpleir shìmplidh seo tha sinn a’ tuigsinn mar a bu chòir dha obrachadh - gu dearbh tha e cudromach a bheil 3 no 300 àite-ainm agad, ach bho shealladh gnìomhachd an t-siostaim. structar iomlan, cha atharraich dad mòran ... ged nach cuir thu a-steach cuid de SDN reiceadair. Ach ’s e sgeulachd gu tur eadar-dhealaichte a tha sin.

Tha mi an dòchas gun robh e inntinneach. Ma tha beachdan/cur-ris sam bith agad, no an àiteigin air an do rinn mi breug (tha mi daonna agus bidh mo bheachd an-còmhnaidh pearsanta) - sgrìobh na dh’ fheumar a cheartachadh / cuir ris - ceartaichidh sinn / cuiridh sinn a h-uile càil ris.

Gu crìch, bu mhath leam beagan fhaclan a ràdh mu bhith a’ dèanamh coimeas eadar Openstack (an dà chuid vanilla agus reiceadair) leis an fhuasgladh sgòthan bho VMWare - chaidh a’ cheist seo fhaighneachd dhomh ro thric thar an dà bhliadhna a dh’ fhalbh agus, gu fìrinneach, tha mi sgìth dheth mu thràth, ach fhathast. Nam bheachd-sa, tha e gu math duilich coimeas a dhèanamh eadar an dà fhuasgladh seo, ach faodaidh sinn a ràdh gu cinnteach gu bheil eas-bhuannachdan anns an dà fhuasgladh agus nuair a thaghas tu aon fhuasgladh feumaidh tu na buannachdan agus na h-eas-bhuannachdan a mheasadh.

Mas e fuasgladh coimhearsnachd a th’ ann an OpenStack, tha còir aig VMWare dìreach na tha e ag iarraidh a dhèanamh (leugh - dè a tha prothaideach dha) agus tha seo loidsigeach - oir is e companaidh malairteach a th’ ann a tha cleachdte ri bhith a’ dèanamh airgead bhon luchd-dèiligidh aca. Ach tha aon ACH mòr agus geir - gheibh thu dheth OpenStack, mar eisimpleir bho Nokia, agus le glè bheag de chosgais tionndaidh gu fuasgladh bho, mar eisimpleir, Juniper (Contrail Cloud), ach chan eil e coltach gum bi e comasach dhut faighinn dheth VMWare . Dhòmhsa, tha an dà fhuasgladh seo a’ coimhead mar seo - tha Openstack (reiceadair) na chèidse sìmplidh anns a bheil thu air do chuir, ach tha iuchair agad agus faodaidh tu falbh aig àm sam bith. Is e cèidse òir a th’ ann an VMWare, tha iuchair a’ chèidse aig an t-sealbhadair agus cosgaidh e tòrr dhut.

Chan eil mi a’ brosnachadh a’ chiad toradh no an dàrna fear - bidh thu a’ taghadh na tha a dhìth ort. Ach nam biodh an leithid de roghainn agam, bhithinn a’ taghadh an dà fhuasgladh - VMWare airson an sgòth IT (luchdan ìosal, riaghladh furasta), OpenStack bho chuid de reiceadair (tha Nokia agus Juniper a’ toirt seachad fuasglaidhean turnkey fìor mhath) - airson sgòth Telecom. Cha bhithinn a’ cleachdadh Openstack airson IT fìor - tha e coltach ri sparrows losgadh le canan, ach chan eil mi a’ faicinn contraindications sam bith airson a chleachdadh ach a-mhàin call obrach. Ach, tha cleachdadh VMWare ann an telecom coltach ri bhith a’ slaodadh clach bhrùite ann an Ford Raptor - tha e brèagha bhon taobh a-muigh, ach feumaidh an draibhear 10 tursan a dhèanamh an àite aon.

Nam bheachd-sa, is e an ana-cothrom as motha de VMWare an dùnadh iomlan aige - cha toir a’ chompanaidh fiosrachadh sam bith dhut mu mar a tha e ag obair, mar eisimpleir, vSAN no dè a tha anns an kernel hypervisor - dìreach chan eil e prothaideach air a shon - is e sin, nì thu. na bi nad eòlaiche air VMWare a-riamh - às aonais taic reiceadair, tha thu air do mhealladh (gu tric bidh mi a’ coinneachadh ri eòlaichean VMWare a tha air am buaireadh le ceistean beaga). Dhòmhsa, tha VMWare a’ ceannach càr leis a’ chochall glaiste - tha, is dòcha gu bheil eòlaichean agad as urrainn an crios ùine atharrachadh, ach is e dìreach an neach a reic am fuasgladh seo as urrainn dhut an cochall fhosgladh. Gu pearsanta, cha toil leam fuasglaidhean nach urrainn dhomh a thighinn a-steach. Canaidh tu gur dòcha nach fheum thu a dhol fon chochall. Tha, tha seo comasach, ach bheir mi sùil ort nuair a dh’ fheumas tu gnìomh mòr a chruinneachadh san sgòth bho 20-30 inneal brìgheil, lìonraidhean 40-50, leth dhiubh ag iarraidh a dhol a-mach, agus an dàrna leth ag iarraidh Luathachadh SR-IOV, air neo bidh feum agad air barrachd air dusan no dhà de na càraichean sin - air neo cha bhith an coileanadh gu leòr.

Tha beachdan eile ann, agus mar sin chan urrainn dhut ach co-dhùnadh dè a thaghas tu agus, nas cudromaiche, bidh uallach ort airson do roghainn. Is e seo dìreach mo bheachd - neach a tha air co-dhiù toraidhean 4 fhaicinn agus a suathadh - Nokia, Juniper, Red Hat agus VMWare. Is e sin, tha rudeigin agam airson coimeas a dhèanamh ris.

Source: www.habr.com

Cuir beachd ann