He kupu whakataki ki te waahanga whatunga o te hanganga kapua

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Kei te kuhu hohonu te rorohiko kapua ki roto i o tatou oranga, a, kaore pea he tangata kaore i whakamahi i nga ratonga kapua i te iti rawa i te kotahi. Heoi, he aha te ahua o te kapua me te pehea o te mahi, he iti noa nga tangata e mohio ana, ahakoa te taumata o te whakaaro. Ko te 5G kua tino pono, kua timata te hanga waea waea ki te neke mai i nga otinga pou ki nga otinga kapua, pera i te wa i neke mai i nga otinga taputapu ki nga "pou" mariko.

I tenei ra ka korero tatou mo te ao o roto o nga hanganga kapua, ina koa ka titiro tatou ki nga kaupapa o te waahanga whatunga.

He aha te kapua? He rite te mariko - tirohanga kōtaha?

Neke atu i te patai arorau. Kaore - ehara tenei i te mariko, ahakoa kaore e taea te mahi me te kore. Ka titiro tatou ki nga whakamaramatanga e rua:

Kapua rorohiko (ka kiia i muri nei ko Cloud) he tauira mo te whakarato urunga hoa-kaiwhakamahi ki nga rauemi rorohiko kua tohatohahia me toha me te whakarewahia i runga i te tono me te iti rawa o te waahi me te utu iti ki te kaiwhakarato ratonga.

Marikotanga - koinei te kaha ki te wehewehe i tetahi hinonga tinana (hei tauira, he tūmau) ki etahi mariko, na reira ka piki ake te whakamahinga o nga rauemi (hei tauira, 3 nga kaitoro kua utaina ki te 25-30 ōrau, i muri i te mariko ka 1 te tūmau ka utaina. i te 80-90 ōrau). Ko te tikanga, ka kainga e te mariko etahi o nga rauemi - me whangai koe i te hypervisor, heoi, e ai ki nga mahi kua whakaatuhia, he utu te keemu mo te rama. Ko te tauira pai o te mariko ko VMWare, e tino whakarite ana i nga miihini mariko, hei tauira ranei KVM, e pai ana ahau, engari he mea reka tenei.

Ka whakamahia e matou te mariko me te kore e mohio, a tae noa ki nga kaitarai rino kei te whakamahi mariko - hei tauira, i roto i te putanga hou o JunOS, ka whakauruhia te punaha whakahaere hei miihini mariko ki runga ake o te tohatoha Linux-wa-wa (Wind River 9). Engari ko te mariko ehara i te kapua, engari kaore e taea e te kapua te noho me te kore mariko.

Ko te Virtualization tetahi o nga poraka hangahanga i hangaia ai te kapua.

Ko te hanga kapua ma te kohi noa i etahi hypervisors ki te rohe L2 kotahi, me te taapiri i nga pukapuka takaro yaml e rua mo te rehitatanga aunoa i nga vlans na roto i etahi ahuatanga ka taea me te tarai i tetahi mea penei i te punaha whakahiato ki runga katoa mo te hanga aunoa i nga miihini mariko kaore e mahi. Ka tika ake, engari ko te hua o Frankenstein ehara i te kapua e hiahiatia ana e tatou, ahakoa koinei pea te tino moemoea mo etahi atu. I tua atu, ki te tango koe i te Openstack ano, ko Frankenstein tonu, engari aue, kaua e korero mo tera inaianei.

Engari ki taku mohio mai i te whakamaramatanga i runga ake nei kaore i te tino marama he aha te mea ka kiia he kapua.

No reira, he tuhinga mai i te NIST (National Institute of Standards and Technology) e whakarato ana i nga ahuatanga matua e 5 e tika ana mo te hanganga kapua:

Te whakarato ratonga i runga i te tono. Me whai waahi noa te kaiwhakamahi ki nga rauemi rorohiko kua tohaina ki a ia (penei i nga whatunga, i nga kopae mariko, i te mahara, i nga punaha tukatuka, me etahi atu), me tuku aunoa enei rauemi - ara, kaore he wawaotanga mai i te kaiwhakarato ratonga.

Te waatea o te ratonga. Ko te uru ki nga rauemi me whakawhiwhia e nga tikanga paerewa kia taea ai te whakamahi i nga PC paerewa me nga kiritaki kikokore me nga taputapu waea.

Te whakakotahi i nga rauemi ki roto i nga puna. Ko nga puna puna me kaha ki te whakarato rauemi ki nga kaihoko maha i te wa kotahi, me te whakarite kei te noho mokemoke nga kaihoko me te kore he awe tahi me te whakataetae mo nga rauemi. Kei roto hoki nga whatunga ki roto i nga puna, e tohu ana ka taea te whakamahi i nga korero inaki. Me taea e nga puna wai te tauine i runga i te hiahia. Ma te whakamahi i nga puna kaukau ka taea te whakarato i te taumata e tika ana mo te whakararu i nga hapa rawa me te tangohanga o nga rauemi tinana me nga rauemi mariko - ka whakawhiwhia ki te kaiwhiwhi o te ratonga te huinga rauemi i tonohia e ia (kei hea enei rauemi e noho tinana ana, e hia nga tūmau me nga whakawhiti - kaore he mea nui ki te kiritaki). Heoi, me whai whakaaro tatou me whakarite te kaiwhakarato i te rahui marama o enei rauemi.

Te urutau tere ki nga ahuatanga rereke. Me ngawari nga ratonga - he tere te whakarato rauemi, te tohatoha ano, te taapiri, te whakaiti ranei i nga rauemi i runga i te tono a te kiritaki, a, ki te taha o te kiritaki me whai whakaaro he mutunga kore nga rauemi kapua. Mo te ngawari o te mohio, hei tauira, kaore koe e kite i te whakatupato kua ngaro tetahi waahanga o to mokowā kōpae i Apple iCloud na te mea kua pakaru te puku pakeke i runga i te tūmau, ka pakaru nga puku. I tua atu, i runga i to taha, ko nga waahi o tenei ratonga he tata kore mutunga - me 2 TB - kaore he raru, i utua e koe ka riro mai. Ka taea te hoatu he tauira rite ki a Google.Drive, Yandex.Disk ranei.

Ka taea te ine i te ratonga e whakaratohia ana. Ko nga punaha kapua me whakahaere aunoa me te arotau i nga rauemi kua pau, me marama enei tikanga ki te kaiwhakamahi me te kaiwhakarato ratonga. Arā, ka taea e koe te tirotiro i nga wa katoa e hia nga rauemi e pau ana e koe me o kaihoko.

He mea tika kia whakaarohia ko enei whakaritenga ko te nuinga o nga whakaritenga mo te kapua a te iwi, na mo te kapua motuhake (ara, he kapua i whakarewahia mo nga hiahia o roto o te kamupene), ka taea te whakarereke i enei whakaritenga. Heoi ano, me mahi tonu, ki te kore e riro katoa nga painga o te rorohiko kapua.

He aha ta tatou e hiahia ai he kapua?

Engari, he hangarau hou, he hangarau hou ranei, he kawa hou ka hangaia mo tetahi mea (he pai, engari mo te RIP-ng, o te akoranga). Kaore he tangata e hiahia ana ki tetahi kawa mo te whakaaro o te kawa (he pai, engari mo te RIP-ng, o te akoranga). He mea arorau ka hangaia te Kapua ki te whakarato i etahi momo ratonga ki te kaiwhakamahi/kiritaki. E mohio ana tatou katoa ki nga ratonga kapua e rua, hei tauira Dropbox, Google.Docs ranei, a ki taku whakapono he pai te whakamahi a te nuinga o nga tangata - hei tauira, i tuhia tenei tuhinga ma te whakamahi i te ratonga kapua Google.Docs. Engari ko nga ratonga kapua e mohio ana matou he waahanga noa iho o nga kaha o te kapua—he tino tika, he ratonga momo SaaS anake. Ka taea e matou te whakarato ratonga kapua i roto i nga huarahi e toru: i te ahua o SaaS, PaaS, IaaS ranei. He aha te ratonga e hiahiatia ana e koe i runga i o hiahia me o kaha.

Kia titiro tatou ki ia raupapa:

Pūmanawa hei Ratonga (SaaS) he tauira mo te whakarato i te ratonga katoa ki te kiritaki, hei tauira, he ratonga imeera penei i a Yandex.Mail, Gmail ranei. I roto i tenei tauira tuku ratonga, ko koe, he kaihoko, kaore e mahi engari ko te whakamahi i nga ratonga - ara, kaore koe e whai whakaaro ki te whakatuu i te ratonga, ki te kore e whakaae ki te he, ki te whakaheke ranei. Ko te mea nui kia kaua e whakararu i to kupuhipa; ma te kaiwhakarato o tenei ratonga e mahi te toenga mo koe. Mai i te tirohanga a te kaiwhakarato ratonga, kei a ia te kawenga mo te katoa o te ratonga - mai i nga taputapu tūmau me nga punaha whakahaere kaihautu ki te papaunga raraunga me nga tautuhinga rorohiko.

Pūhara hei Ratonga (PaaS) — i te wa e whakamahi ana i tenei tauira, ka tukuna e te kaiwhakarato ratonga ki te kaihoko tetahi taputapu mahi mo te ratonga, hei tauira, me tango he tūmau Tukutuku. I whakaratohia e te kaiwhakarato ratonga ki te kiritaki he tūmau mariko (i roto i te meka, he huinga rauemi, penei i te RAM / CPU / Rokiroki / Nets, me etahi atu), a tae noa ki te whakauru i te OS me te rorohiko e tika ana ki tenei tūmau, engari, te whirihoranga o Ko enei mea katoa e mahia ana e te kiritaki ake mo te mahi o te ratonga ka whakautua e te kiritaki. Ko te kaiwhakarato ratonga, pera i te keehi o mua, ko te kawenga mo te mahi o nga taputapu tinana, hypervisors, te miihini mariko tonu, te waatea o te whatunga, me era atu, engari ko te ratonga ake kaore i roto i tana waahi kawenga.

Rauemi hei Ratonga (IaaS) - Ko tenei huarahi kua tino pai ake, inaa, ka whakawhiwhia e te kaiwhakarato ratonga ki te kiritaki he hanganga mariko katoa - ara, etahi huinga (puna) o nga rauemi, penei i nga CPU Cores, RAM, Whatunga, me era atu. te kiritaki - he aha te hiahia o te kiritaki ki te mahi ki enei rauemi i roto i te puna kaukau (motunga) - ehara i te mea nui mo te kaiwhakarato. Ahakoa e hiahia ana te kiritaki ki te hanga i tana ake vEPC, ki te hanga ranei i tetahi kaiwhakahaere paku me te whakarato ratonga korero - kaore he patai - mahia. I roto i tenei ahuatanga, ko te kaiwhakarato ratonga te kawenga mo te whakarato rauemi, to ratou manawanui me te waatea, tae atu ki te OS e taea ai e ratou te whakakotahi i enei rauemi me te waatea ki te kaihoko me te kaha ki te whakanui, ki te whakaheke ranei i nga rauemi i nga wa katoa i runga i te tono a te kiritaki. Ka whirihorahia e te kiritaki nga mihini mariko katoa me etahi atu taputapu ma roto i te tomokanga ratonga whaiaro me te papatohu, tae atu ki te whakarite whatunga (haunga nga whatunga o waho).

He aha te OpenStack?

I roto i nga waahanga e toru, ka hiahiatia e te kaiwhakarato ratonga he OS e taea ai te hanga i te hanganga kapua. Ko te mea pono, me te SaaS, neke atu i te kotahi wehenga te kawenga mo te katoa o nga hangarau - he wehenga kei te kawenga mo te hanganga - ara, ka tukuna e ia a IaaS ki tetahi atu wehenga, ko tenei wehenga e whakarato ana i te SaaS ki te kiritaki. Ko OpenStack tetahi o nga punaha whakahaere kapua e taea ai e koe te kohi i te tini o nga whakawhiti, nga kaitoro me nga punaha rokiroki ki roto i te puna puna kotahi, ka wehea tenei puna wai noa ki roto i nga punaroto (rihi) me te whakarato i enei rauemi ki nga kaihoko i runga i te whatunga.

Tuwhera he punaha whakahaere kapua e taea ai e koe te whakahaere i nga puna nui o nga rauemi rorohiko, te rokiroki raraunga me nga rauemi whatunga, ka tukuna me te whakahaere ma te API ma te whakamahi i nga tikanga motuhēhēnga paerewa.

I etahi atu kupu, he huinga kaupapa rorohiko kore utu tenei i hangaia hei hanga i nga ratonga kapua (ma te iwi whanui me nga mea motuhake) - ara, he huinga taputapu e taea ai e koe te whakakotahi i te tūmau me te whakawhiti taputapu ki roto i te puna kotahi o nga rauemi, whakahaere. enei rauemi, e whakarato ana i te taumata e tika ana mo te aukati i te he.

I te wa e tuhi ana i tenei rauemi, he penei te ahua o te hanganga OpenStack:
He kupu whakataki ki te waahanga whatunga o te hanganga kapua
Pikitia i tangohia mai i openstack.org

Ko ia o nga waahanga kei roto i te OpenStack he mahi motuhake. Ko tenei hoahoanga tohatoha ka taea e koe te whakauru ki roto i te otinga te huinga o nga waahanga mahi e hiahia ana koe. Heoi ano, ko etahi o nga waahanga he waahanga pakiaka, a, ko te tangohanga ka arahi ki te kore e taea te whakahaere i te otinga katoa. Ko enei waahanga ka whakarōpūhia hei:

  • Papatohu — GUI-Tukutuku mo te whakahaere i nga ratonga OpenStack
  • Te ofa'i tapo'i he ratonga tuakiri motuhake e whakarato ana i nga mahi motuhēhēnga me te whakamanatanga mo etahi atu ratonga, me te whakahaere i nga tohu tohu kaiwhakamahi me o raatau mahi.
  • Neutron - he ratonga whatunga e whakarato ana i te hononga i waenga i nga atanga o nga momo ratonga OpenStack (tae atu ki te hononga i waenga i nga VM me to raatau uru ki te ao o waho)
  • Cinder - ka whai waahi ki te aukati i te rokiroki mo nga miihini mariko
  • Nova — whakahaere huringa ora o nga miihini mariko
  • Te kororia — putunga o nga whakaahua miihini mariko me nga whakaahua
  • Swift — whakarato urunga ki te ahanoa rokiroki
  • Heromita — he ratonga e whakarato ana i te kaha ki te kohi waea me te ine i nga rauemi e waatea ana me te pau
  • Heat — te whakarite i runga i nga tauira mo te hanga aunoa me te whakarato rauemi

Ka taea te tiro he rarangi katoa o nga kaupapa me o raatau kaupapa konei.

Ko ia waahanga OpenStack he ratonga e mahi ana i tetahi mahi motuhake me te whakarato i te API hei whakahaere i taua mahi me te taunekeneke ki etahi atu ratonga punaha whakahaere kapua hei hanga i tetahi hanganga whakakotahi. Hei tauira, ka whakaratohia e Nova te whakahaere rauemi rorohiko me te API mo te uru atu ki te whirihora i enei rauemi, ka whakaratohia e Glance te whakahaere whakaahua me te API mo te whakahaere i a raatau, ka whakaratohia e Cinder te rokiroki poraka me te API mo te whakahaere, me era atu. Ko nga mahi katoa e hono ana i roto i te huarahi tino tata.

Heoi, ki te titiro koe, ko nga ratonga katoa e rere ana i OpenStack he momo miihini mariko (he ipu ranei) e hono ana ki te whatunga. Ka puta ake te patai - he aha te take i matea ai te maha o nga huānga?

Me haere tatou i roto i te algorithm mo te hanga miihini mariko me te hono atu ki te whatunga me te rokiroki pumau ki Openstack.

  1. Ka hanga tono koe ki te hanga mihini, ahakoa he tono ma Horizon (Dashboard) he tono ma te CLI ranei, ko te mea tuatahi ka puta ko te whakamanatanga o to tono ki runga Kohatu - ka taea e koe te hanga miihini, kei a ia te tika ki te whakamahi i tenei whatunga, ka mahia to motunga tauira, aha atu.
  2. Ka whakamotuhēhētia e Keystone tō tono me te whakaputa i tētahi tohu whakamotuhēhē i roto i te karere whakautu, ka whakamahia anō. Ka tae mai he whakautu mai i a Keystone, ka tukuna te tono ki Nova (nova api).
  3. Ka tirohia e Nova-api te mana o to tono ma te whakapiri atu ki a Keystone ma te whakamahi i te tohu mana i hangaia i mua
  4. Ka mahia e Keystone te motuhēhēnga me te tuku korero mo nga whakaaetanga me nga here i runga i tenei tohu mana.
  5. Ka waihangahia e Nova-api he urunga mo te VM hou i roto i te nova-database me te tuku i te tono kia hanga te miihini ki te nova-scheduler.
  6. Ka tohua e Nova-scheduler te kaihautu (node ​​rorohiko) ka tukuna te VM i runga i nga tawhā kua tohua, nga taumaha me nga rohe. He rekoata mo tenei me te VM ID kua tuhia ki te nova-database.
  7. I muri mai, ka whakapā atu a nova-scheduler ki te nova-compute me te tono kia tukuna he tauira. Ka whakapā atu a Nova-whakatairanga ki a nova-kaiwhakahaere ki te tiki korero mo nga tawhā miihini (ko te nova-conductor he huānga nova e mahi ana hei tūmau takawaenga i waenga i te nova-database me te nova-compute, ka whakawhāiti i te maha o nga tono ki te nova-database kia karohia ai nga raru o te patengi raraunga. riterite te whakahekenga o te kawenga).
  8. Ka whiwhi a Nova-kaiwhakahaere i nga korero i tonoa mai i te nova-database ka tukuna ki te nova-compute.
  9. I muri mai, tirohia nga waea nova-compute ki te tiki i te ID whakaahua. Ka whakamanahia e Glace te tono i Keystone me te whakahoki i nga korero i tonoa.
  10. Nova-compute hoapā neutron ki te tiki mōhiohio e pā ana ki tawhā whatunga. He rite ki te titiro, ka whakamanahia e te neutron te tono i Keystone, muri iho ka hangaia he urunga ki te paataka raraunga (tautuhinga tauranga, me etahi atu), ka hanga he tono ki te hanga tauranga, ka whakahokia nga korero i tonoa ki te nova-compute.
  11. Nova-compute hoapā cinder me te tono ki te toha rōrahi ki te mihini mariko. He rite ki te titiro, ka whakamanahia e te cider te tono i Keystone, ka hanga he tono hanga pukapuka, ka whakahoki i nga korero i tonoa.
  12. Nova-compute hoapā libvirt me te tono ki te tuku i tetahi miihini mariko me nga tawhā kua tohua.

Inaa, ko te ahua ngawari o te hanga i tetahi miihini mariko ngawari ka huri hei awhiowhio o nga waea API i waenga i nga waahanga o te papaahi kapua. I tua atu, ka kite koe, ahakoa ko nga ratonga kua tohua i mua, he iti ake nga waahanga kei waenga i te taunekeneke. Ko te hanga miihini he waahanga iti noa iho o nga mea ka taea e te papaahi kapua ki te mahi - he ratonga te kawenga mo te whakataurite i nga waka, he ratonga te kawenga mo te rokiroki poraka, he ratonga mo te DNS, he ratonga te kawenga mo te whakarato i nga kaitoro whakarewa kore, aha atu. Ma te kapua ka taea e koe te mahi i o miihini mariko kia rite ki te kahui hipi (he rereke ki te mariko). Mena ka pa tetahi mea ki to miihini i roto i te taiao mariko - ka whakahokia mai e koe mai i nga taapiri, me etahi atu, engari ka hangaia nga tono kapua kia kore ai te miihini mariko e whai waahi nui - ko te miihini mariko "kua mate" - kaore he raru - he mea hou ka hanga noa te waka i runga i te tauira, a, e kii ana ratou, kaore te kapa i kite i te mate o te kaiwhawhai. Ko te tikanga, ka whai waahi tenei mo nga tikanga whakahiato - ma te whakamahi i nga tauira Heat, ka taea e koe te whakauru ngawari i tetahi mahi uaua kei roto i te tini o nga whatunga me nga miihini mariko.

Me maumahara tonu kaore he hanganga kapua karekau he whatunga - ko ia huānga i tetahi ara, i tetahi atu ranei e taunekeneke ana ki etahi atu huānga ma te whatunga. I tua atu, he whatunga tino kore-pateko te kapua. Ko te tikanga, he nui ake, he iti ake ranei te kupenga o raro - karekau nga pona hou me nga whakahuri e taapirihia ia ra, engari ka taea e te waahanga whakakikorua ka huri tonu - ka taapirihia, ka mukua ranei nga whatunga hou, ka puta nga miihini mariko hou, ka puta nga mea tawhito. mate. A, ka mahara koe mai i te whakamaramatanga o te kapua i homai i te timatanga o te tuhinga, me tohatoha nga rauemi ki te kaiwhakamahi me te iti rawa (he pai ake ranei, kaore) te wawaotanga mai i te kaiwhakarato ratonga. Arā, ko te momo whakarato rauemi whatunga e noho nei i te ahua o te pito-mua i te ahua o to putea whaiaro ka taea ma te http/https me te miihini whatunga mahi a Vasily hei tuara ehara i te kapua, ahakoa mehemea e waru nga ringaringa o Vasily.

Ko te Neutron, hei ratonga whatunga, e whakarato ana i te API mo te whakahaere i te waahanga whatunga o te hanganga kapua. Ko te ratonga te mana me te whakahaere i te waahanga whatunga o Openstack ma te whakarato i tetahi paparanga tangohanga e kiia nei ko Whatunga-hei-Ratonga (NaaS). Arā, ko te whatunga he rite tonu te waeine ine mariko penei, hei tauira, nga matua CPU mariko, te nui ranei o te RAM.

Engari i mua i te neke atu ki te hoahoanga o te waahanga whatunga o OpenStack, me whakaaro me pehea te mahi o tenei whatunga ki OpenStack me te aha te whatunga he waahanga nui me te whai waahi o te kapua.

No reira e rua nga VM kiritaki Whero me nga VM kiritaki GREEN e rua. Me whakaaro tatou ko enei miihini kei runga i nga hypervisors e rua penei:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

I tenei wa, he mariko noa tenei o nga kaitoro e 4 kaore he mea ke atu, na te mea ko nga mea katoa i mahia e matou ko te mariko 4 nga kaitoro, ka tuu ki runga i nga kaitoro tinana e rua. Na i tenei wa kaore ano kia hono atu ki te whatunga.

Hei hanga kapua, me taapiri etahi waahanga. Tuatahi, marikohia te waahanga whatunga - me hono enei miihini 4 ki te takirua, ka hiahia nga kaihoko ki te hononga L2. Ka taea e koe te whakamahi i te whakawhiti me te whirihora i tetahi pouaka ki tona ahunga me te whakatau i nga mea katoa ma te whakamahi i te piriti linux ranei, mo nga kaiwhakamahi matatau ake, openvswitch (ka hoki mai ki tenei i muri mai). Engari he maha nga whatunga, me te pana tonu i a L2 i roto i te whakawhiti ehara i te mea pai rawa atu - he rereke nga tari, he tepu ratonga, marama tatari kia oti te tono, nga wiki o te raru - i te ao hou tenei. kua kore te huarahi e mahi. A, ka tere te mohio o te kamupene ki tenei, ka ngawari ake te anga whakamua. No reira, i waenganui i nga hypervisors ka whiriwhiria e matou he whatunga L3 e korero ai a matou miihini mariko, a ki runga ake o tenei whatunga L3 ka hangahia e matou he whatunga whakakikorua L2 mariko e rere ai nga waka o a matou miihini mariko. Ka taea e koe te whakamahi GRE, Geneve, VxLAN ranei hei whakaurunga. Me aro tatou ki nga mea whakamutunga mo tenei wa, ahakoa ehara i te mea tino nui.

Me kimi VTEP ki tetahi waahi (Ko taku tumanako kei te mohio nga tangata katoa ki nga kupu VxLAN). I te mea kei a matou he whatunga L3 e ahu tika mai ana i nga kaitoro, kaore he mea e aukati i a maatau ki te tuu i te VTEP ki runga i nga kaimau tonu, a he pai te OVS (OpenvSwitch) ki te mahi i tenei. Ko te mutunga, ka whiwhi matou i tenei hoahoa:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

I te mea me wehewehe nga waka i waenga i nga VM, he rereke nga tau vlan o nga tauranga ki nga miihini mariko. Ko te nama tohu ka whai waahi noa i roto i te huringa mariko, na te mea ka whakauruhia ki roto i te VxLAN ka ngawari te tango, na te mea ka whai VNI tatou.

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Inaianei ka taea e taatau miihini me nga whatunga mariko mo ratou kaore he raru.

Heoi, ka pehea mena he miihini ano te kaihoko, engari kei runga i tetahi whatunga rereke? Me hutia tatou i waenga i nga whatunga. Ka titiro tatou ki tetahi whiringa ngawari ka whakamahia te ararere-a-raro, ara, ka tukuna nga waka i roto i nga waahanga whatunga motuhake (he pai, hei tikanga, ka honoa ki nga pona mana, no reira ka rite ki a tatou).

Te ahua nei kaore he mea uaua - ka hanga e matou he atanga piriti ki runga i te node mana, ka peia te waka ki reira, ka haere atu i reira ki te wahi e hiahia ana matou. Engari ko te raruraru ko te hiahia o te kiritaki RED ki te whakamahi i te whatunga 10.0.0.0/24, me te kiritaki GREEN e hiahia ana ki te whakamahi i te whatunga 10.0.0.0/24. Arā, ka timata tatou ki te whakawhiti i nga waahi waahi. I tua atu, kaore nga kaihoko e hiahia kia uru atu etahi atu kaihoko ki o raatau whatunga o roto, he mea tika. Hei wehe i nga whatunga me te hokohoko raraunga kiritaki, ka tohatohahia he mokowāingoa motuhake mo ia o ratou. Ko te mokowā ingoa he kape o te kohinga whatunga Linux, ara, ko nga kaihoko kei roto i te mokowāingoa RED kua tino wehea mai i nga kaihoko mai i te mokowāingoa KOREUTU (he pai, ka whakaaetia te ararere i waenga i enei whatunga kiritaki ma te mokowā ingoa taunoa, i runga i nga taputapu kawe waka whakarunga).

Arā, ka whiwhi tatou i te hoahoa e whai ake nei:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Ko nga kauhanga L2 ka huri mai i nga pona rorohiko katoa ki te pona mana. node kei reira te atanga L3 mo enei whatunga, kei roto i ia waahanga ingoa motuhake mo te wehe.

Heoi, i warewarehia te mea nui. Me whakarato te mihini mariko i te ratonga ki te kiritaki, ara, kia kotahi te iti rawa o te atanga o waho e taea ai. Arā, me puta ki waho o te ao. He rereke nga whiringa kei konei. Me mahi i te waahanga ngawari rawa atu. Ka taapirihia e matou tetahi whatunga ki ia kiritaki, ka whai mana ki te whatunga o te kaiwhakarato, kaore hoki e whiti ki etahi atu whatunga. Ka taea hoki e nga whatunga te whakawhiti me te titiro ki nga VRF rereke i te taha o te whatunga kaiwhakarato. Ka noho ano nga raraunga whatunga ki te waahi ingoa o ia kaihoko. Heoi, ka haere tonu ratou ki te ao o waho ma te atanga tinana (he here ranei, he arorau ake). Hei wehe i nga hokohoko a te kiritaki, ka tohua nga waka ki waho me te tohu VLAN kua tohaina ki te kaihoko.

Ko te mutunga mai, ka whiwhi matou i tenei hoahoa:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

He patai whaitake he aha te kore e hanga kuaha ki runga i nga pona rorohiko? Ehara tenei i te raru nui; i tua atu, ki te huri koe i te pouara tohatoha (DVR), ka pai tenei. I roto i tenei ahuatanga, kei te whakaarohia e matou te waahanga ngawari me te kuaha matua, e whakamahia ana ma te taunoa i Openstack. Mo nga mahi kawenga nui, ka whakamahia e ratou he pouara tohatoha me nga hangarau whakatere penei i te SR-IOV me te Passthrough, engari e kii ana ratou, he korero rereke tera. Tuatahi, me mahi ki te waahanga taketake, katahi ka haere ki nga korero.

Inaa, kua taea e taatau kaupapa te mahi, engari he ruarua nga nuances:

  • Me tiaki tatou i a tatou mihini, ara, me whakanoho he tātari ki te atanga whakawhiti ki te kiritaki.
  • Kia taea e te miihini mariko te tiki aunoa i tetahi wahitau IP, kia kore ai koe e uru ki roto i te papatohu i ia wa me te rehita i te wahitau.

Me timata ma te tiaki miihini. Mo tenei ka taea e koe te whakamahi i nga iptables banal, he aha te kore.

Arā, ināianei kua tino uaua ake to maatau topology:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Kia haere tonu tatou. Me taapiri he tūmau DHCP. Ko te waahi tino pai ki te kimi i nga tūmau DHCP mo ia kiritaki ko te node mana kua whakahuahia ake nei, kei reira nga waahi ingoa:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Engari, he raruraru iti. He aha mena ka whakaara ano nga mea katoa ka ngaro nga korero katoa mo te reti i nga wahitau kei runga i te DHCP. He arorau ka whakawhiwhia nga miihini ki nga wahitau hou, kaore i te tino watea. E rua nga huarahi kei konei - me whakamahi ingoa rohe me te taapiri i tetahi tūmau DNS mo ia kiritaki, katahi ka kore te wahitau e tino nui ki a maatau (he rite ki te waahanga whatunga kei k8s) - engari he raru ki nga whatunga o waho, mai i te mea Ka taea hoki te tuku i nga wahitau ma te DHCP - ka hiahia koe ki te tukutahi me nga kaiwhakarato DNS i roto i te papaahi kapua me tetahi tūmau DNS o waho, ki taku whakaaro kaore i te tino ngawari, engari ka taea. Ko te waahanga tuarua ko te whakamahi metadata - ara, tiakina nga korero mo te wahitau i tukuna ki te miihini kia mohio ai te kaimau DHCP ko tehea wahitau ka tukuna ki te miihini mena kua whiwhi te miihini i tetahi wahitau. Ko te waahanga tuarua he maamaa ake, he ngawari ake, na te mea ka taea e koe te tiaki i etahi atu korero mo te motuka. Inaianei me taapiri he metadata kaihoko ki te hoahoa:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Ko tetahi atu take e tika ana kia matapakihia ko te kaha ki te whakamahi i tetahi whatunga o waho e nga kiritaki katoa, na te mea ko nga whatunga o waho, mena me whai mana puta noa i te whatunga katoa, ka uaua - me tohatoha me te whakahaere i te tohatoha o enei whatunga. Ko te kaha ki te whakamahi i tetahi whatunga kua oti te whirihora o waho mo nga kiritaki katoa ka tino whai hua i te wa e hanga ana i te kapua whanui. Ma tenei ka ngawari ake te tuku mihini na te mea kaore matou e whai ki te toro atu ki tetahi putunga korero me te kowhiri i tetahi mokowā wāhitau motuhake mo te whatunga o waho o ia kiritaki. I tua atu, ka taea e taatau te rehita i tetahi whatunga o waho i mua, a i te wa e tukuna ana me hono noa nga wahitau o waho me nga miihini kaihoko.

Na konei kei te awhina a NAT - ka taea e nga kaihoko te uru atu ki te ao o waho ma te mokowāingoa taunoa ma te whakamahi i te whakamaori NAT. Ana, he raru iti tenei. He pai tenei mena ka mahi te kaihoko hei kaihoko, kaua hei kaimau - ara, ka timata ia, kaua ki te whakaae hononga. Engari mo tatou ka rere ke atu. I roto i tenei take, me mahi e tatou te NAT ūnga kia mohio ai te pona mana whakahaere mo te miihini mariko A o te kiritaki A, ko te tikanga me mahi he whakamaori NAT mai i tetahi wahitau o waho, hei tauira 100.1.1.1 .10.0.0.1, ki te wāhitau o roto 100. I tenei keehi, ahakoa ka whakamahi nga kaihoko katoa i te whatunga kotahi, ka tiakina katoa te wehenga o roto. Arā, me mahi te dNAT me te sNAT i runga i te kōpuku mana. Mena ka whakamahi i te whatunga kotahi me nga wahitau rewa, whatunga o waho ranei, e rua ranei i te wa kotahi, ka whakawhirinaki ki nga mea e hiahia ana koe ki te kawe ki roto i te kapua. E kore matou e tapiri atu i nga wahitau maanu ki te hoahoa, engari ka waiho nga whatunga o waho kua taapirihia i mua ake nei - kei ia kiritaki tana ake whatunga o waho (i te hoahoa kua tohuhia ko te vlan 200 me te XNUMX i te atanga o waho).

Ko te mutunga mai, i whiwhi matou i tetahi otinga whakamere, i taua wa ano he otinga tino whakaaro, he ngawari noa engari kaore ano kia whai tikanga whakamaarama he.

Tuatahi, kotahi noa to tatou node mana - na tona korenga ka paheke nga punaha katoa. Hei whakatika i tenei raru, me hanga e koe kia 3 nga pona. Me taapiri tenei ki te hoahoa:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Ko te tikanga, ka tukutahia nga pona katoa, a, ka wehe atu tetahi pona kaha, ka riro ma tetahi atu pona e kawe ana kawenga.

Ko te raru e whai ake nei ko nga kopae miihini mariko. I tenei wa, kei te rongoa ratou i runga i te hypervisors ake, a ki te puta he raru ki te hypervisor, ka ngaro nga raraunga katoa - a ko te aroaro o te raid e kore e awhina i konei mena ka ngaro tatou i te kōpae, engari ko te tūmau katoa. Ki te mahi i tenei, me hanga e matou he ratonga ka noho hei pito o mua mo etahi momo rokiroki. He aha te ahua o te rokiroki ehara i te mea nui ki a matou, engari me tiaki i o maatau raraunga mai i te kore o te kōpae me te node, me te katoa o te rūnanga. He maha nga whiringa kei konei - he pono, he hononga SAN me te Fiber Channel, engari kia pono - Ko te FC he relic o mua - he rite ki te E1 i roto i nga waka - ae, e whakaae ana ahau, kei te whakamahia tonu, engari anake te wahi e kore e taea te kore. No reira, kare au e tuku noa i tetahi whatunga FC i te tau 2020, ma te mohio kei kona ano etahi atu momo rerekee. Ahakoa ki a ia ake, tera pea etahi e whakapono ana ko te FC me ona herenga katoa te mea e hiahiatia ana e matou - e kore ahau e tohe, kei ia tangata o raatau ake whakaaro. Engari, ko te otinga tino pai ki taku whakaaro ko te whakamahi i te SDS, penei i a Ceph.

Ka taea e Ceph ki a koe te hanga i tetahi otinga rokiroki raraunga e waatea ana me te maha o nga whiringa taapiri ka taea, ka tiimata me nga waehere me te arowhai parerite (he rite ki te raid 5, 6 ranei) ka mutu me te tukuruatanga raraunga katoa ki nga kōpae rereke, me te whakaaro ki te waahi o nga kōpae kei roto. nga tūmau, me nga kaitoro i roto i nga kaata, me etahi atu.

Hei hanga i a Ceph me 3 atu nga pona. Ko te taunekeneke me te rokiroki ka whakahaerehia ma te whatunga ma te whakamahi i nga ratonga poraka, taonga me nga konae. Me taapiri te rokiroki ki te hoahoa:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Kia mahara: ka taea hoki e koe te hanga i nga node compute hyperconverged - koinei te kaupapa o te whakakotahi i nga mahi maha ki runga i te node kotahi - hei tauira, te rokiroki + tatau - me te kore e whakatapu i nga waahanga motuhake mo te rokiroki ceph. Ka whiwhi tatou i te kaupapa whakaraerae i te he - na te mea ka rahuihia e te SDS nga raraunga me te taumata rahui ka tohua e matou. Heoi, he taupatupatu tonu nga node hyperconverged - na te mea kaore e whakamahana noa te hau i te putunga rokiroki i te ahua o te titiro tuatahi (i te mea karekau he miihini mariko kei runga) - ka whakapaua e ia nga rauemi CPU ki te mahi SDS (he pono, ka mahia katoatia. te tukurua me te whakaora i muri i nga rahunga o nga pona, kopae, aha atu). Arā, ka ngaro etahi o te mana o te node rorohiko ki te whakakotahi koe ki te rokiroki.

Ko enei mea katoa me whakahaere - ka hiahia tatou ki tetahi mea hei hanga miihini, he whatunga, he pouara mariko, me etahi atu. Ka taea e te kiritaki te hono atu ki tenei tomokanga ma te http/ https me te mahi i nga mea katoa e hiahiatia ana e ia (he pai, tata).

Ko te mutunga mai, he punaha whakaraerae i a tatou inaianei. Me whakahaere nga waahanga katoa o tenei hanganga. I korerohia i mua ko Openstack he huinga kaupapa, e whakarato ana i ia waahanga he mahi motuhake. Ka kite tatou, he nui noa atu nga huānga me whirihora me te whakahaere. I tenei ra ka korero tatou mo te waahanga whatunga.

Hangahanga Neutron

I OpenStack, ko Neutron te kawenga mo te hono i nga tauranga miihini mariko ki te whatunga L2 noa, me te whakarite i nga arataki waka i waenga i nga VM kei runga i nga whatunga L2 rereke, me te huarahi ki waho, te whakarato ratonga penei i te NAT, Floating IP, DHCP, etc.

I te taumata teitei, ko te mahi o te ratonga whatunga (te waahanga taketake) ka taea te korero penei.

Ina timata te VM, ko te ratonga whatunga:

  1. Ka waihanga tauranga mo tetahi VM (he tauranga ranei) ka whakamohio ki te ratonga DHCP mo taua mea;
  2. Ka hangaia he taputapu whatunga mariko hou (ma te libvirt);
  3. Ka hono te VM ki te/nga tauranga i hangaia i te taahiraa 1;

Ko te mea whakamiharo, ko nga mahi a Neutron kei runga i nga tikanga paerewa e mohio ana ki nga tangata katoa kua ruku ki Linux - ingoa mokowā, iptables, piriti linux, openvswitch, conntrack, etc.

Me whakamarama tonu ko Neutron ehara i te kaiwhakahaere SDN.

Ko te Neutron he maha nga waahanga honohono:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Openstack-neutron-tūmau he daemon e mahi ana me nga tono a nga kaiwhakamahi ma te API. Kaore tenei rewera e uru ki te rehitatanga o nga hononga whatunga, engari ka whakarato i nga korero e tika ana mo tenei ki ona mono, ka whirihora i te waahanga whatunga e hiahiatia ana. Ko nga kaihoko Neutron i runga i nga pona OpenStack ka rehita me te tūmau Neutron.

Ko te Neutron-server he tono kua tuhia ki te python, e rua nga waahanga:

  • REST ratonga
  • Mono Neutron (matua/ratonga)

I hoahoatia te ratonga REST ki te whiwhi waea API mai i etahi atu waahanga (hei tauira, he tono ki te tuku korero, me etahi atu)

Ko nga monomai he waahanga rorohiko mono-mai/kowae ka karangahia i te wa e tono ana te API - ara, ko te tohu o tetahi ratonga ka puta mai i a raatau. Kua wehea nga monomai kia rua nga momo - ratonga me te pakiaka. Ka rite ki te tikanga, ko te mono hoiho te kawenga mo te whakahaere i te waahi wahitau me nga hononga L2 i waenga i nga VM, me nga taputapu ratonga e whakarato ana i etahi atu mahi penei i te VPN, FW ranei.

Ko te rarangi o nga mono e waatea ana i tenei ra ka taea te tiro hei tauira konei

He maha nga monomai ratonga, engari kotahi noa te monohiko hoiho.

openstack-neutron-ml2 Ko te mono pakiaka Opentack paerewa. Ko tenei mono he hoahoanga tauira (kaore i te ahua o mua) me te whirihora i te ratonga whatunga ma nga taraiwa e hono ana ki a ia. Ka titiro tatou ki te mono i muri tata nei, na te mea ka taea e OpenStack te ngawari o te waahanga whatunga. Ka taea te whakakapi i te mono pakiaka (hei tauira, ko te Contrail Networking te mahi i taua whakakapinga).

Ratonga RPC (rabbitmq-server) — he ratonga e whakarato ana i te whakahaere tūtira me te taunekeneke ki etahi atu ratonga OpenStack, me te taunekeneke i waenga i nga kaihoko ratonga whatunga.

Nga kaihoko whatunga — nga kaihoko kei roto i ia node, e whirihora ai nga ratonga whatunga.

He maha nga momo kaihoko.

Ko te kaihoko matua L2 kaihoko. Ka rere enei apiha i runga i ia o nga hypervisors, tae atu ki nga pona mana (he tino tika, i runga i nga pona katoa e whakarato ana i nga ratonga mo nga kairëti) ko ta raatau mahi matua he hono mihini mariko ki te whatunga L2 noa, me te whakaputa matohi ina puta nga huihuinga ( hei tauira mono/whakahohea te tauranga).

Ko te mea e whai ake nei, ehara i te mea tino nui L3 kaihoko. Ma te taunoa, ka rere noa tenei kaihoko i runga i te node whatunga (he maha nga wa ka honoa te node whatunga me te node mana) me te whakarato ararere i waenga i nga whatunga kairëti (i waenga i ona whatunga me nga whatunga o etahi atu kairëti, a ka uru ki te ao o waho, whakarato NAT, me te ratonga DHCP). Heoi, i te wa e whakamahi ana i te DVR (pouara tohatoha), ka puta ano te hiahia mo te mono L3 i runga i nga waahanga rorohiko.

Ka whakamahi te kaihoko L3 i nga mokowāingoa Linux hei whakarato ki ia kairëti he huinga o ana ake whatunga taratahi me te mahi o nga pouara mariko e arai ana i nga waka me te whakarato ratonga kuaha mo nga whatunga Apa 2.

pātengi Raraunga — he papaa raraunga mo nga tautohu o nga whatunga, kupenga-roto, tauranga, puna, aha atu.

Inaa, ka whakaae a Neutron ki nga tono API mai i te hanganga o nga hinonga whatunga, ka whakamotuhēhē i te tono, a na roto i te RPC (mehemea ka uru atu ki etahi mono, kaihoko ranei) ko REST API ranei (mehemea ka korero i roto i te SDN) ka tuku ki nga kaihoko (ma te monomai) te nga tohutohu e tika ana hei whakarite i te ratonga i tonoa.

Inaianei ka huri ki te whakaurunga whakamatautau (me pehea te tohatoha me nga mea kei roto, ka kite tatou i muri mai i te waahanga mahi) ka kite kei hea te waahi o ia waahanga:

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

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Inaa, koinei te hanganga katoa o Neutron. Inaianei he pai ki te whakapau i etahi wa mo te mono ML2.

Apa Tauira 2

Ka rite ki te korero i runga ake nei, ko te mono he taputapu pakiaka OpenStack paerewa me te hoahoa hoahoa.

Ko te mua o te mono ML2 he hanganga monolithic, kaore i whakaaetia, hei tauira, te whakamahi i te ranunga o nga hangarau maha i roto i te whakaurunga kotahi. Hei tauira, kaore e taea e koe te whakamahi i te openvswitch me te linuxbridge i te wa kotahi - te tuatahi, te tuarua ranei. Mo konei, i hangaia te mono ML2 me tona hoahoanga.

E rua nga waahanga a ML2 - e rua nga momo taraiwa: Momo taraiwa me nga taraiwa miihini.

Momo taraiwa whakatauhia nga hangarau ka whakamahia hei whakarite hononga whatunga, hei tauira VxLAN, VLAN, GRE. I te wa ano, ka whakaaetia e te taraiwa te whakamahi i nga hangarau rereke. Ko te hangarau paerewa ko te VxLAN encapsulation mo nga whatunga whakakikorua me nga vlan whatunga o waho.

Kei roto i nga taraiwa momo nga momo whatunga e whai ake nei:

flat - whatunga kaore he tohu
Vlan - whatunga kua tohua
rohe — he momo whatunga motuhake mo nga whakaurunga katoa-i-kotahi (e hiahiatia ana enei whakaurunga mo nga kaiwhakawhanake, mo te whakangungu ranei)
GRE — whakakikoruatia te whatunga ma te whakamahi i nga kauhanga GRE
VxLAN — whakakikoruatia te whatunga ma te whakamahi i nga kauhanga VxLAN

Nga taraiwa miihini te tautuhi i nga taputapu hei whakarite i te whakaritenga o nga hangarau kua tohua i roto i te momo taraiwa - hei tauira, openvswitch, sr-iov, opendaylight, OVN, etc.

I runga i te whakatinanatanga o tenei taraiwa, ka whakamahia nga kaihoko e whakahaerehia ana e Neutron, ka whakamahia ranei nga hononga ki tetahi kaiwhakahaere SDN o waho, e tiaki ana i nga take katoa e pa ana ki te whakarite i nga whatunga L2, te ararere, me era atu.

Hei tauira: ki te whakamahi tahi tatou i te ML2 me te OVS, ka whakauruhia he kaihoko L2 ki ia pona rorohiko e whakahaere ana i te OVS. Heoi, ki te whakamahia e matou, hei tauira, OVN, OpenDayLight ranei, ka tae mai te mana o OVS ki raro i o raatau mana - Neutron, na roto i te mono pakiaka, ka tuku whakahau ki te kaiwhakahaere, a kua mahia e ia nga mea i korerotia.

Kia kaha ake tatou ki te Open vSwitch

I tenei wa, ko tetahi o nga waahanga matua o OpenStack ko Open vSwitch.
I te wa e whakauru ana i te OpenStack me te kore tetahi atu kaihoko SDN penei i a Juniper Contrail me Nokia Nuage ranei, ko OVS te waahanga whatunga matua o te whatunga kapua, a, me nga iptables, conntrack, ingoa mokowā, ka taea e koe te whakarite i nga whatunga whakakikorua-maha-nui. Ko te tikanga, ka taea te whakakapi i tenei waahanga, hei tauira, i te wa e whakamahi ana i nga otinga SDN rangatira (kaihoko) tuatoru.

Ko te OVS he whakahuri rorohiko puna tuwhera i hangaia mo te whakamahi i nga taiao mariko hei kaikawe waka mariko.

I tenei wa, he tino pai nga mahi a OVS, kei roto ko nga hangarau penei i te QoS, LACP, VLAN, VxLAN, GENEVE, OpenFlow, DPDK, etc.

Tuhipoka: Ko te OVS i te tuatahi kaore i whakaarohia hei whakawhiti ngawari mo nga mahi waea waea tino utaina, he mea hoahoa ake mo nga mahi IT iti rawa te tono a te bandwidth penei i te tūmau WEB me te tūmau mēra. Heoi ano, kei te whanakehia ano te OVS me nga whakatinanatanga o naianei o OVS kua tino pai ake tana mahi me ona kaha, e taea ai te whakamahi e nga kaiwhakahaere waea me nga mahi tino utaina, hei tauira, he whakatinanatanga OVS me te tautoko mo te whakatere DPDK.

E toru nga waahanga nui o te OVS me mohio koe:

  • Kōwae Kernel — he waahanga kei roto i te mokowā kernel e whakahaere ana i nga waka i runga i nga ture i whakawhiwhia mai i te huānga mana;
  • vWhakawhiti Ko te daemon (ovs-vswitchd) he tukanga i whakarewahia i roto i te waahi kaiwhakamahi e whai mana ana ki te whakamaarama i te kōwae kernel - ara, he tohu tika i te arorau o te mahi a te pana.
  • tūmau pātengi raraunga - he pātengi raraunga ā-rohe kei runga i ia kaihautū e whakahaere ana i te OVS, kei reira te whirihoranga e penapena ana. Ka taea e nga kaiwhakahaere SDN te whakawhitiwhiti korero ma tenei waahanga ma te whakamahi i te kawa OVSDB.

Ko enei katoa ka haere tahi me te huinga o nga taputapu tātaritanga me te whakahaere, penei i te ovs-vsctl, ovs-appctl, ovs-ofctl, etc.

I tenei wa, e whakamahia whanuitia ana a Openstack e nga kaiwhakarato waea ki te heke i nga mahi whatunga ki a ia, penei i te EPC, SBC, HLR, me etahi atu. Ka taea e etahi o nga mahi te noho me te kore raruraru me te OVS i roto i te ahua kei roto, engari hei tauira, ko te EPC nga mahi a nga kaiohauru. - katahi ka haere ma te nui o nga waka (inaianei ka eke nga pukapuka waka ki te maha rau gigabits ia hekona). Ko te tikanga, ko te taraiwa i nga waka penei i roto i te mokowā kernel (i te mea kei reira te kaikawe whakamua i te taunoa) ehara i te mea pai rawa atu. Na reira, ka tukuna katoatia te OVS ki te waahi kaiwhakamahi ma te whakamahi i te hangarau whakatere DPDK ki te tuku i nga waka mai i te NIC ki te mokowā kaiwhakamahi e takahi ana i te kernel.

Kia mahara: mo te kapua kua tohatohahia mo nga mahi waea, ka taea te whakaputa waka mai i te pona rorohiko maataki tika i te OVS ki te whakawhiti taputapu. Ka whakamahia nga tikanga SR-IOV me te Passthrough mo tenei kaupapa.

Me pehea tenei mahi i runga i te whakatakotoranga tuuturu?

Kaati, inaianei ka anga atu ki te waahanga mahi ka kite pehea te mahi katoa i roto i nga mahi.

Tuatahi, me tuku he whakaurunga Opentack ngawari. I te mea karekau he huinga tūmau i te ringa mo nga whakamatautau, ka whakahiatohia e matou te tauira ki runga i tetahi tūmau tinana mai i nga miihini mariko. Ae, ko te tikanga, kaore e pai te otinga penei mo nga kaupapa arumoni, engari ki te kite i tetahi tauira o te mahi a te whatunga ki Openstack, he nui te whakaurunga mo nga kanohi. Ano, he pai ake te whakaurunga mo nga kaupapa whakangungu - na te mea ka taea e koe te hopu waka, aha atu.

I te mea me kite noa tatou i te waahanga taketake, kaore e taea e taatau te whakamahi i te maha o nga whatunga engari whakaarahia nga mea katoa ma te whakamahi i nga whatunga e rua anake, a ko te whatunga tuarua o tenei tahora ka whakamahia anake mo te uru ki te tuuru undercloud me te DNS. Kaore matou e pa ki nga whatunga o waho mo tenei wa - he kaupapa tenei mo tetahi tuhinga nui motuhake.

Na, kia timata tatou i runga i te raupapa. Tuatahi, he ariā iti. Ka whakauruhia e matou a Openstack ma te whakamahi i te TripleO (Openstack i runga i Openstack). Ko te ngako o TripleO ka whakauruhia e matou a Openstack katoa-i-kotahi (ara, ki runga i tetahi node), ka kiia ko te undercloud, katahi ka whakamahi i nga kaha o te Openstack kua tukuna ki te whakauru i a Openstack mo te mahi, ka kiia ko overcloud. Ka whakamahi a Undercloud i tona kaha ki te whakahaere i nga kaitoro tinana (metara kore) - te kaupapa Ironic - ki te whakarato i nga hypervisors hei mahi i nga mahi o te rorohiko, te whakahaere, te waahi rokiroki. Arā, karekau matou e whakamahi i nga taputapu tuatoru hei tuku i a Openstack - ka tukuna e matou a Openstack ma te whakamahi i a Openstack. Ka tino marama ake i te wa e haere whakamua ana te whakaurunga, no reira e kore matou e mutu ki reira ka anga whakamua.

Tuhipoka: I roto i tenei tuhinga, mo te ngawari, kaore au i whakamahi i te wehenga whatunga mo nga whatunga o roto Openstack, engari ka tukuna nga mea katoa ma te whakamahi i te whatunga kotahi. Heoi, ko te noho, te kore ranei o te wehenga whatunga kaore e pa ki nga mahi taketake o te otinga - ka rite tonu te mahi o nga mea katoa i te wa e whakamahi wehe ana, engari ka rere nga waka ki runga i te whatunga kotahi. Mo te whakaurunga arumoni, he mea tika ki te whakamahi wehe ma te whakamahi i nga vlan me nga atanga rereke. Hei tauira, ko te whakahaerenga rokiroki ceph me te hokohoko raraunga ano (te urunga miihini ki nga kopae, me etahi atu) ina wehea ka whakamahi i nga kupenga-roto rereke (Whakahaere Rokiroki me te Rokiroki) ka taea e koe te whakatika i te otinga kia pai ake te he ma te wehewehe i tenei waka, hei tauira. , puta noa i nga tauranga rereke, te whakamahi ranei i nga momo korero QoS rereke mo nga waka rereke kia kore ai nga hokohoko raraunga e pehi i nga waka tohu. I roto i to maatau, ka haere ratou i runga i te whatunga kotahi, me te mea kaore tenei e aukati i a maatau.

Tuhipoka: I te mea kei te whakahaere tatou i nga miihini mariko i roto i te taiao mariko e pa ana ki nga miihini mariko, me whakaahei tatou i te mariko kohanga.

Ka taea e koe te tirotiro mena kua whakahohehia te mariko kohanga, kaore ranei penei:


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

Mena ka kite koe i te reta N, ka taea e matou te tautoko mo te mariko kohanga kia rite ki nga aratohu ka kitea e koe i runga i te whatunga, hei tauira taua .

Me whakahiato te ara iahiko e whai ake nei mai i nga miihini mariko:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

I roto i taku keehi, ki te hono i nga miihini mariko he waahanga o te whakaurunga a meake nei (a ka riro mai i a au te 7 o ratou, engari ka taea e koe ma te 4 mena kaore koe i te maha o nga rauemi), i whakamahia e au a OpenvSwitch. I hanga e ahau tetahi ovs piriti me te hono i nga miihini mariko ki a ia ma nga roopu-tauranga. Hei mahi i tenei, i hanga e ahau he kōnae xml penei:


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

E toru nga roopu tauranga e whakaatuhia ana i konei - e rua nga urunga me tetahi pouaka (i hiahiatia tenei mo te tūmau DNS, engari ka taea e koe me te kore, ka whakauruhia ranei ki runga i te miihini manaaki - ko wai te mea pai ake mo koe). I muri mai, ma te whakamahi i tenei tauira, ka whakapuakihia e matou ma te virsh net-define:


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

Inaianei ka whakatikahia e matou nga whirihoranga tauranga 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 ~]# 

Tuhipoka: i tenei ahuatanga, ko te wahitau kei runga i te tauranga ovs-br1 e kore e uru atu na te mea karekau he tohu vlan. Hei whakatika i tenei, me tuku e koe te whakahau sudo ovs-vsctl set port ovs-br1 tag=100. Heoi, i muri i te whakaara ano, ka ngaro tenei tohu (mehemea ka mohio tetahi ki te noho tonu, ka tino mihi ahau). Engari ehara tenei i te mea tino nui, na te mea ka hiahia noa matou ki tenei wahitau i te wa o te whakaurunga kaore e hiahiatia ana i te wa e tukuna katoatia ana a Openstack.

I muri mai, ka hangaia e matou he miihini 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

I te wa o te whakaurunga, ka tautuhia e koe nga tawhā e tika ana, penei i te ingoa miihini, kupuhipa, kaiwhakamahi, ntp servers, aha atu, ka taea e koe te whirihora tonu i nga tauranga, engari mo au ake, i muri i te whakaurunga, he ngawari ake te whakauru ki te miihini ma te papatohu me te whakatika i nga konae e tika ana. Mena kei a koe he ahua kua rite, ka taea e koe te whakamahi, te mahi ranei i taku mahi - tango i te ahua iti o Centos 7 ka whakamahia hei whakauru i te VM.

I muri i te whakaurunga angitu, me whai miihini mariko ka taea e koe te whakauru i raro i te kapua


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

Tuatahi, whakauruhia nga taputapu e tika ana mo te tukanga whakauru:

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

Tautanga i raro i te kapua

Ka waihangahia e matou he kaiwhakamahi puranga, ka tautuhi i te kupuhipa, ka taapiri atu ki te sudoer ka hoatu ki a ia te kaha ki te whakahaere i nga whakahau pakiaka ma te sudo me te kore e whakauru i tetahi kupuhipa:


useradd stack
passwd stack

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

Inaianei ka tohua e matou te ingoa o raro o te kapua i roto i te konae kaihautu:


vi /etc/hosts

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

I muri mai, ka taapirihia e matou nga putunga me te whakauru i te rorohiko e hiahiatia ana e matou:


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

Tuhipoka: ki te kore koe e whakaaro ki te whakauru i te ceph, karekau koe e uru ki nga whakahau e pa ana ki te ceph. I whakamahia e ahau te tuku Kuini, engari ka taea e koe te whakamahi i etahi atu e pai ana koe.

Muri iho, kape te konae whirihoranga i raro i te kapua ki te taapu whaiaronga o te kaiwhakamahi:


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

Inaianei me whakatika tatou i tenei konae, me te whakatika ki ta tatou whakaurunga.

Me taapiri e koe enei rarangi ki te timatanga o te konae:

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

Na, kia haere tatou i roto i nga tautuhinga:

undercloud_hostname — te ingoa katoa o te tūmau undercloud, me ōrite te urunga ki te tūmau DNS

local_ip — te wahitau undercloud rohe ki te whakarato whatunga

whatunga_kuwaha — ko te wahitau o te rohe ano, ka noho hei keeti mo te uru atu ki te ao o waho i te wa e whakauruhia ana nga pona kapua, he rite ano ki te IP o te rohe.

undercloud_public_host — Wāhitau API waho, he wāhitau kore utu mai i te whatunga whakarato ka tohua

undercloud_admin_host wāhitau API ā-roto, he wāhitau kore utu mai i te whatunga whakarato kua tautapa

undercloud_nameservers - Tūmau DNS

whakaputa_service_certificate - he mea tino nui tenei raina i roto i te tauira o naianei, na te mea kaore koe e tautuhi ki te teka ka whiwhi koe i te hapa i te wa o te whakaurunga, kei te whakaahuahia te raru i runga i te kaiwhaiwhai bug Red Hat

rohe_atanga atanga i roto i te whakarato whatunga. Ka whirihora ano tenei atanga i te wa e horahia ana i raro i te kapua, no reira me rua nga atanga ki raro i te kapua - tetahi mo te uru atu, te tuarua mo te whakarato.

local_mtu - MTU. I te mea he taiwhanga whakamatautau kei a matou he MTU o 1500 kei runga i nga tauranga o te whakawhiti OVS, he mea tika ki te whakanoho ki te 1450 kia taea ai e nga paatete kei roto i te VxLAN te whakawhiti.

whatunga_cidr — whatunga whakarato

Tuhinga o mua — te whakamahi i te NAT ki te uru atu ki te whatunga o waho

whatunga_masquerade - whatunga ka NATed

dhcp_tmata — te wahitau timatanga o te puna wahitau ka tautapahia nga wahitau ki nga pona i te wa e horahia ana te kapua

dhcp_mutunga — te wāhitau whakamutunga o te puna wāhitau ka tautapahia ngā wāhitau ki ngā kōpuku i te wā e horahia ana te kapua

inspection_iprange — he puna o nga wahitau e tika ana mo te tirotiro (kaua e inaki ki te puna o runga ake nei)

scheduler_max_ttempts — te maha o nga nganatanga ki te whakauru i te kapua (me nui ake, kia rite ranei ki te maha o nga pona)

I muri i te whakaahuatanga o te konae, ka taea e koe te tuku i te whakahau ki te tuku i raro i te kapua:


openstack undercloud install

Ko te tukanga mai i te 10 ki te 30 meneti i runga i to rino. I te mutunga ka kite koe i te putanga penei:

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.

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

Ko tenei putanga e kii ana kua pai to whakaurunga i raro i te kapua ka taea e koe te tirotiro i te mana o te undercloud ka haere tonu ki te whakauru overcloud.

Mena ka titiro koe ki te putanga ifconfig, ka kite koe kua puta mai he atanga piriti hou

[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

Inaianei ka mahia te tukunga kapua ma tenei atanga.

Mai i te putanga i raro nei ka kite koe kei a matou nga ratonga katoa kei runga i te kohanga kotahi:

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

Kei raro ko te whirihoranga o te waahanga whatunga 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 ~]$

Tāutatanga kapua

I tenei wa kei raro noa iho a matou, a, kaore i te nui o matou kohanga ka whakahiatohia te kapua. Na reira, ko te tuatahi, me tuku nga miihini mariko e hiahiatia ana. I te wa o te tukunga, ka whakauruhia e undercloud ake te OS me nga punaha e tika ana ki runga i te miihini overcloud - ara, kaore e tika kia tohatohahia te miihini, engari ka hangaia he kopae (he kopae ranei) mo ia ka whakatau i ona tawhā - ara. , i roto i te meka, whiwhi tatou i te tūmau whanau kahore he OS tāuta ki runga.

Me haere ki te kōpaki me nga kopae o a maatau miihini mariko me te hanga i nga kōpae o te rahi e hiahiatia ana:


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

I te mea kei te whakahaere tatou hei putake, me huri tatou i te rangatira o enei kopae kia kore ai e raru ki nga mana:


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

Tuhipoka: ki te kore koe e whakamahere ki te whakauru i te ceph ki te ako, katahi ka kore nga whakahau e hanga i te iti rawa o te 3 node me nga kōpae e rua neke atu, engari i roto i te tauira ka tohuhia ka whakamahia nga kōpae mariko vda, vdb, me etahi atu.

He pai, inaianei me tautuhi i enei miihini katoa:


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 

I te mutunga he whakahau -print-xml > /tmp/storage-1.xml, ka hanga he kōnae xml me te whakaahuatanga o ia miihini i roto i te kōpaki /tmp/; ki te kore koe e taapiri, kare koe e noho. ka taea te tautuhi i nga miihini mariko.

Inaianei me tautuhi i enei miihini katoa i roto i te 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 ~]#

Inaianei he ahua iti - ka whakamahi a tripleO i te IPMI hei whakahaere i nga kaitoro i te wa o te whakaurunga me te tirotiro.

Ko te Introspection ko te mahi tirotiro i nga taputapu kia whiwhi ai i ona tawhā e tika ana mo te whakaratonga o nga pona. Ka mahia te tirotiro ma te whakamahi i te rino, he ratonga i hangaia hei mahi me nga kaitoro whakarewa korekore.

Engari koinei te raru - ahakoa he tauranga motuhake nga taputapu IPMI (he tauranga tiritahi ranei, engari ehara tenei i te mea nui), karekau he tauranga penei i nga miihini mariko. I konei ka tae mai he toka e kiia nei ko te vbmc - he taputapu e taea ai e koe te whai i tetahi tauranga IPMI. Ko tenei ahuatanga he mea tika kia aro nui ki te hunga e hiahia ana ki te whakatu i tetahi taiwhanga penei i runga i te ESXI hypervisor - kia pono, kaore au i te mohio mena he ahua o te vbmc, na reira he pai ki te whakaaro mo tenei take i mua i te tuku i nga mea katoa. .

Tāutahia te vbmc:


yum install yum install python2-virtualbmc

Mena kaore e kitea e to OS te kete, katahi ka taapirihia te putunga:

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

Inaianei ka whakaturia e matou te taputapu. Ko nga mea katoa i konei he maamaa ki te waahi o te whakama. Inaianei he arorau kaore he kaimau i te rarangi vbmc


[root@hp-gen9 ~]# vbmc list

[root@hp-gen9 ~]# 

Kia puta mai, me whakaatu a ringa penei:


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

Ki taku whakaaro he maamaa te wetereo whakahau me te kore whakamarama. Heoi, mo tenei wa, kei raro katoa a maatau huihuinga. Kia neke ratou ki te mana UP, me whakaahei koe:


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

A ko te pa whakamutunga - me whakatika e koe nga ture paahi ahi (me whakakore rawa ranei):


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

Inaianei me haere ki raro ki te kapua ka tirohia kei te mahi nga mea katoa. Ko te wahitau o te miihini manaaki ko 192.168.255.200, i runga i te kapua i taapirihia e matou te kete ipmitool e tika ana i te wa e whakarite ana mo te tuku:


[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

Kei te kite koe, kua angitu te whakarewatanga o te node mana ma te vbmc. Inaianei ka whakawetohia ka haere tonu:


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

Ko te mahi e whai ake nei ko te tirotiro i nga pona ka whakauruhia te kapua. Ki te mahi i tenei, me whakarite he konae json me te whakaahuatanga o o tatou pona. Kia mahara mai, kaore i rite ki te whakaurunga ki runga i nga kaitoro noho kau, ka tohu te konae i te tauranga e rere ana te vbmc mo ia miihini.


[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

Kia mahara: e rua nga atanga o te node mana, engari i tenei keehi ehara tenei i te mea nui, i tenei whakaurunga ka ranea ma tatou.

Inaianei kei te whakarite tatou i te konae json. Me tohu tatou i te wahitau poppy o te tauranga e whakahaerea ai nga whakaritenga, nga tawhā o nga pona, hoatu ingoa ki a raatau me te tohu me pehea te haere ki 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"
        }
    ]
}

Inaianei me whakarite e tatou nga whakaahua mo te hangai. Ki te mahi i tenei, tango ma te wget me te whakauru:

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

Tukuake ana i nga whakaahua ki raro i te kapua:

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

Te tirotiro kua utaina nga whakaahua katoa


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

Ko tetahi atu mea - me taapiri he tūmau DNS:


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

Inaianei ka taea e taatau te whakahau mo te tirotiro:

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

Ka taea e koe te kite mai i te putanga, kua oti nga mea katoa kaore he hapa. Me titiro kei te ahua waatea nga pona katoa:


(undercloud) [stack@undercloud ~]$ openstack baremetal node list
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
| UUID                                 | Name      | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | None          | power off   | available          | False       |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | None          | power off   | available          | False       |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | None          | power off   | available          | False       |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | None          | power off   | available          | False       |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | None          | power off   | available          | False       |
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
(undercloud) [stack@undercloud ~]$ 

Mēnā he rerekē te āhua o ngā kōpuku, i te nuinga o te wā ka taea te whakahaere, kātahi ka hē te mahi, ā, me titiro koe ki te rākau me te whakaaro he aha i puta ai tēnei. Kia maumahara kei roto i tenei ahuatanga kei te whakamahi maatau mariko a tera pea he pepeha e pa ana ki te whakamahi miihini mariko, vbmc ranei.

I muri mai, me tohu ko tehea te node ka mahi i te mahi - ara, tohuhia te tohu ka tukuna e te node:


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

Tauwhāitihia te kōtaha mō ia kōpuku:


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

Me titiro tatou i mahi tika nga mea katoa:


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

Mena he tika nga mea katoa, ka tukuna e matou te whakahau ki te tuku i te kapua:

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

I roto i te whakaurunga tuuturu, ka whakamahia nga tauira taapiri, i roto i a maatau ka tino uaua te mahi, na te mea me whakamarama nga whakarereketanga o te tauira. Ka rite ki te mea i tuhia i mua ake nei, ahakoa he whakaurunga ngawari ka ranea kia kite tatou me pehea te mahi.

Tuhipoka: ko te --libvirt-type qemu taurangi e tika ana i tenei keehi, na te mea ka whakamahia e matou te mariko kohanga. Ki te kore, kare e taea e koe te whakahaere mihini mariko.

Inaianei kei a koe mo te haora, neke atu ranei (kei runga i nga kaha o te taputapu) ka taea e koe te tumanako ka whai muri i tenei waa ka kite koe i te panui e whai ake nei:


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

Inaianei kei a koe he putanga tata tonu o openstack, ka taea e koe te ako, te whakamatautau, me era atu.

Kia tirohia kei te pai nga mea katoa. E rua nga konae kei roto i te tapae whaiaronga o te kaiwhakamahi - kotahi stackrc (mo te whakahaere i raro i te kapua) me te tuarua overcloudrc (mo te whakahaere overcloud). Me tohu enei kōnae hei puna, i te mea kei roto nga korero e tika ana mo te motuhēhēnga.


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

Me kotahi tonu te pa ki taku whakaurunga - me te taapiri i tetahi ara ki runga i te kaiwhakahaere, na te mea kei te whatunga rereke te miihini e mahi nei ahau. Ki te mahi i tenei, haere ki te mana-1 i raro i te kaute wera-admin me te rehita i te huarahi


(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

Na, inaianei ka taea e koe te haere ki te paerangi. Ko nga korero katoa - nga wahitau, te takiuru me te kupuhipa - kei roto i te konae /home/stack/overcloudrc. He penei te ahua o te hoahoa whakamutunga:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Ma te ara, i roto i ta maatau whakaurunga, i tukuna nga wahitau miihini ma te DHCP, a, ka kite koe, ka tukuna "i te matapōkere". Ka taea e koe te tautuhi i roto i te tauira ko tehea wahitau me hono atu ki te miihini i te wa e tukuna ana, mena ka hiahia koe.

He pehea te rere o nga waka i waenga i nga miihini mariko?

I roto i tenei tuhinga ka titiro tatou ki nga whiringa e toru mo te whakawhiti waka

  • E rua nga miihini i runga i tetahi kaitorotoro i runga i tetahi whatunga L2
  • E rua nga miihini i runga i nga kaitirotiro rereke i runga i te whatunga L2 kotahi
  • E rua nga miihini i runga i nga whatunga rereke (whakawhitinga whatunga)

Ko nga keehi ka uru atu ki te ao o waho ma te whatunga o waho, ma te whakamahi i nga wahitau maanu, tae atu ki nga huarahi kua tohatohahia, ka whakaarohia e tatou a muri ake nei, inaianei ka aro taatau ki nga waka o roto.

Hei taki, me whakahiatohia te hoahoa e whai ake nei:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Kua hanga e matou nga miihini mariko 4 - 3 i runga i te whatunga L2 kotahi - net-1, me te 1 atu i runga i te kupenga-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 ~]$ 

Kia kite tatou he aha nga hypervisors kei runga nga miihini hanga:

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

(kapua) [stack@undercloud ~]$
Ko nga miihini vm-1 me vm-3 kei runga i te compute-0, ko nga miihini vm-2 me te vm-4 kei runga i te node compute-1.

I tua atu, kua hangaia he pouara mariko kia taea ai te ararere i waenga i nga whatunga kua tohua:

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

E rua nga tauranga mariko o te pouara, e mahi ana hei kuaha mo nga whatunga:

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

Engari i mua i te titiro ki te rere o nga waka, me titiro ki nga mea kei a tatou i tenei wa i runga i te node mana (he node whatunga hoki) me te node rorohiko. Me timata ki te node rorohiko.


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

I tenei wa, e toru nga piriti ovs o te node - br-int, br-tun, br-ex. I waenganui i a raatau, e kite ana tatou, he huinga atanga. Mo te ngawari o te maarama, me tuhi enei atanga katoa ki runga i te hoahoa ka kite ka ahatia.

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Ma te titiro ki nga wahitau e whakaarahia ai nga kauhanga VxLAN, ka kitea ko tetahi o nga kauhanga ka whakaarahia ki te tatau-1 (192.168.255.26), ka titiro te kauhanga tuarua ki te mana-1 (192.168.255.15). Engari ko te mea tino pai ko te br-ex kaore he atanga tinana, a ki te titiro koe ki nga rerenga kua whirihorahia, ka kite koe ka taea e tenei piriti te whakaheke i nga waka i tenei wa.


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

Ka taea e koe te kite mai i te putanga, ka huri tika te wahitau ki te tauranga tinana, kaua ki te atanga piriti mariko.


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

E ai ki te ture tuatahi, me whakakore nga mea katoa i puta mai i te tauranga phy-br-ex.
Inaianei, karekau he waahi ke atu mo nga waka ki te uru mai ki tenei piriti engari mai i tenei atanga (te atanga me te br-int), me te whakatau i nga taka, kua rere kee nga waka BUM ki te piriti.

Arā, ka taea e nga waka te wehe i tenei node ma te kauhanga VxLAN anake kaore he mea ke atu. Heoi, ki te whakakāhia e koe te DVR, ka huri te ahuatanga, engari ka mahi maatau i tera wa. Ina whakamahi i te wehenga whatunga, hei tauira ma te whakamahi i nga vlans, karekau he atanga L3 i roto i te vlan 0, engari he maha nga atanga. Heoi, ka waiho te waka VxLAN i te node i te ara ano, engari ka whakauruhia ki etahi momo vlan whakatapua.

Kua tohua e matou te node compute, me neke atu ki te node mana.


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

Ko te mea pono, ka taea e tatou te kii he rite nga mea katoa, engari ko te wahitau IP kua kore i runga i te atanga tinana engari i runga i te piriti mariko. Ka mahia tenei na te mea ko tenei tauranga te tauranga e puta ai nga waka ki te ao o waho.


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

Kua herea tenei tauranga ki te piriti br-ex a na te mea karekau he tohu vlan kei runga, ko tenei tauranga he tauranga katua e whakaaetia ai nga vlan katoa, inaianei ka haere nga waka ki waho kaore he tohu, pera i te tohu a vlan-id 0 i te putanga i runga.

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Ko nga mea katoa i tenei wa he rite ki te node compute - nga piriti rite tonu, nga awa ano e haere ana ki nga waahanga rorohiko e rua.

Kaore matou e whakaaro ki nga kohinga rokiroki i roto i tenei tuhinga, engari mo te mohio he mea tika ki te kii ko te waahanga whatunga o enei pona he maamaa ki te whakama. I roto i to maatau, kotahi noa te tauranga tinana (eth0) me tetahi wahitau IP kua tohua ki a ia, a ko tera. Karekau he kauhanga VxLAN, he piriti kauhanga, aha atu - karekau he ovs, na te mea karekau he tohu kei roto. I te wa e whakamahi ana i te wehenga whatunga, ka rua nga atanga o tenei node (nga tauranga tinana, bodny, e rua noa nga vlans - kare he aha - kei runga i taau e hiahia ana) - kotahi mo te whakahaere, te tuarua mo te hokohoko (tuhi ki te kōpae VM , panui mai i te kōpae, me etahi atu)

I kitea e matou he aha kei a matou i runga i nga node i te kore o nga ratonga. Inaianei ka whakarewahia e 4 nga miihini mariko ka kite i te huringa o te kaupapa i whakaahuahia i runga ake nei - me whai tauranga, pouara mariko, aha atu.

I tenei wa ka penei to maatau whatunga:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

E rua nga miihini mariko kei runga i ia node rorohiko. Ma te whakamahi i te compute-0 hei tauira, kia kite tatou me pehea te whakauru o nga mea katoa.


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

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

Kotahi noa te atanga mariko o te miihini - 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 ~]$ 

Ka titiro tenei atanga ki te piriti 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 ~]$ 

Ka taea e koe te kite mai i te putanga, e rua noa nga hononga i roto i te piriti - tap95d96a75-a0 me qvb95d96a75-a0.

I konei he pai te noho ki runga i nga momo taputapu whatunga mariko i OpenStack:
vtap - atanga mariko kua piri ki tetahi tauira (VM)
qbr - piriti Linux
qvb me qvo - vEth takirua hono ki te piriti Linux me Open vSwitch piriti
br-int, br-tun, br-vlan — Whakatuwheratia nga piriti vSwitch
patch-, int-br-, phy-br- - Whakatuwheratia nga atanga papaki vSwitch e hono ana i nga piriti
qg, qr, ha, fg, sg - Whakatuwheratia nga tauranga vSwitch e whakamahia ana e nga taputapu mariko hei hono atu ki OVS

I a koe e mohio ana, mena he tauranga qvb95d96a75-a0 kei roto i te piriti, he takirua vEth, na tetahi waahi kei reira tona hoa, e tika ana kia kiia ko qvo95d96a75-a0. Kia kite tatou he aha nga tauranga kei runga 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 ~]$ 

Ka kite tatou, kei te br-int te tauranga. Ka mahi a Br-int hei pana hei whakamutu i nga tauranga miihini mariko. I tua atu i te qvo95d96a75-a0, ka kitea te tauranga qvo5bd37136-47 i roto i te putanga. Koinei te tauranga ki te miihini mariko tuarua. Ko te mutunga, he penei te ahua o to maatau hoahoa:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

He patai ka aro tonu ki te kaipanui whakarongo - he aha te piriti linux i waenga i te tauranga miihini mariko me te tauranga OVS? Ko te meka ko te tiaki i te miihini, ka whakamahia nga roopu haumaru, he mea ke atu i nga iptables. Ko te OVS e kore e mahi me nga iptables, no reira i hangahia tenei "porowhita". Heoi, kua tawhito haere - kei te whakakapihia e te conntrack i roto i nga putanga hou.

Arā, i te mutunga ka penei te ahua o te kaupapa:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

E rua nga miihini i runga i tetahi kaitorotoro i runga i tetahi whatunga L2

I te mea ko enei VM e rua kei runga i te whatunga L2 kotahi, kei runga ano i te hypervisor kotahi, ka rere tika nga waka i waenga i a raatau ma te rohe ma te br-int, i te mea ka noho nga miihini e rua ki te VLAN kotahi:


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

E rua nga miihini i runga i nga kaitirotiro rereke i runga i te whatunga L2 kotahi

Inaianei kia kite tatou ka pehea te haere o te waka i waenga i nga miihini e rua i runga i te whatunga L2 kotahi, engari kei runga i nga kaitirotiro rereke. Ma te pono, kaore he mea e rerekee, ko te hokohoko noa i waenga i nga hypervisors ka haere ma te kohanga vxlan. Ka titiro tatou ki tetahi tauira.

Nga waahi noho o nga miihini mariko i waenga ka matakihia e matou nga waka:

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

Ka titiro tatou ki te ripanga whakamua i br-int i runga i te 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 ~]

Me haere te waka ki te tauranga 2 - kia kite tatou he aha te momo tauranga:

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

Ko te patch-tun tenei - ara, te atanga i roto i te br-tun. Kia kite tatou ka ahatia te kete i runga i te 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 ~]$ 

Ko te paatete kei te VxLAN ka tukuna ki te tauranga 2. Kia kite tatou kei hea te tauranga 2:

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

He kauhanga vxlan tenei i runga i te 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 ~]$

Me haere ki te tatau-1 ka kite he aha te mahi i muri mai me te kete:

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

Kei roto a Mac i te ripanga whakamua br-int i runga i te compute-1, ka kitea mai i te putanga o runga ake nei, ka kitea ma te tauranga 2, ko te tauranga ki te 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

Na, ka kite tatou kei roto i te br-int i runga i te compute-1 he poppy ūnga:

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

Arā, ka rere te pākete kua riro ki te tauranga 3, kei muri kei reira he tauira miihini mariko-00000003.

Ko te ataahua o te whakamahi i te Openstack mo te ako i runga i nga hanganga mariko ka taea e tatou te hopu i nga waka i waenga i nga kaitirotiro me te kite he aha te mahi. Ko tenei ka mahia e matou inaianei, rere tcpdump i runga i te tauranga vnet ki te 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*******************

Ko te rarangi tuatahi e whakaatu ana ko Patek mai i te wahitau 10.0.1.85 ka haere ki te whakatutuki i te 10.0.1.88 (whakawhitinga ICMP), ka takai ki roto i te putea VxLAN me te vni 22 ka haere te putea mai i te ope 192.168.255.19 (compute-0) ki te manaaki 192.168.255.26 .1 ( compute-XNUMX). Ka taea e taatau te tirotiro kei te rite te VNI ki te mea kua tohua i roto i nga ovs.

Me hoki ki tenei rarangi mahi=uta:0->NXM_OF_VLAN_TCI[],uta:0x16->NXM_NX_TUN_ID[],putanga:2. Ko te 0x16 he vni i roto i te punaha tau hautekauono. Me huri tenei tau ki te punaha 16:


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

Arā, ko te vni e hāngai ana ki te mooni.

Ko te rarangi tuarua e whakaatu ana i nga waka hokinga mai, karekau he take ki te whakamarama, kua marama nga mea katoa ki reira.

E rua nga mihini kei runga i nga whatunga rereke (ara-whatunga ararere)

Ko te keehi whakamutunga mo tenei ra ko te ararere i waenga i nga whatunga i roto i te kaupapa kotahi ma te whakamahi i te pouara mariko. Kei te whakaarohia e matou tetahi keehi kaore he DVR (ka tirohia e matou i roto i tetahi atu tuhinga), na ka puta te ararere ki te node whatunga. I roto i to maatau, kaore i te whakauruhia te node whatunga ki tetahi hinonga motuhake, kei runga i te waahanga whakahaere.

Tuatahi, kia kite tatou e mahi ana te ararere:

$ 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

I tenei keehi me haere te paatete ki te keeti ka tukuna ki reira, me rapu tatou i te wahitau poppy o te kuaha, e titiro ana tatou ki te teepu ARP hei tauira:

$ 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

Inaianei kia kite tatou ki hea te waka me te taunga (10.0.1.254) fa:16:3e:c4:64:70 me tuku:

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

Kia titiro tatou ki hea te tauranga 2 e arahi ana:

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

He arorau nga mea katoa, ka haere nga waka ki te br-tun. Kia kite tatou ko tehea vxlan tunnel ka takai ki roto:

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

Ko te tauranga tuatoru he kauhanga vxlan:

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

E titiro ana ki te node mana:

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

Kua tae te waka ki te node mana, no reira me haere ki reira ka kite ka pehea te ararere.

Kei te maumahara koe, he rite tonu te ahua o te node mana o roto ki te node compute - e toru nga piriti, ko te br-ex anake he tauranga tinana e taea ai e te node te tuku waka ki waho. Ko te hanganga o nga tauira i whakarereke i te whirihoranga i runga i nga kohinga rorohiko - piriti linux, iptables me nga atanga i taapiri atu ki nga node. Ko te hanganga o nga whatunga me te pouara mariko i waiho ano tana tohu ki te whirihoranga o te node mana.

Na, ka kitea me noho te wahitau MAC kuaha ki te ripanga whakamua br-int i runga i te node mana. Kia tirohia kei reira me te wahi e titiro ana:

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

Ka kitea te Mac mai i te tauranga qr-0c52b15f-8f. Mena ka hoki ano tatou ki te rarangi o nga tauranga mariko i Openstack, ka whakamahia tenei momo tauranga hei hono i nga momo taputapu mariko ki OVS. Kia tika ake, ko te qr he tauranga ki te pouara mariko, e tohuhia ana hei mokowā ingoa.

Kia kite he aha nga mokowāingoa kei runga i te tūmau:

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

E toru nga kape. Engari ki te whakatau i nga ingoa, ka taea e koe te tohu i te kaupapa o ia ingoa. Ka hoki ano matou ki nga waahi me te ID 0 me te 1 i muri mai, inaianei kei te pirangi matou ki te waahi ingoa 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 ~]$ 

Kei roto i tenei mokowā ingoa e rua o roto i hanga e matou i mua. Kua taapirihia nga tauranga mariko e rua ki te br-int. Kia tirohia te wahitau mac o te tauranga qr-0c52b15f-8f, i te mea ko te waka, i runga i te wahitau mac ūnga, i haere ki tenei atanga.

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

Arā, i tenei keehi, ka mahi nga mea katoa i runga i nga ture o te ararere paerewa. I te mea kua whakaritea te waka mo te kaihautu 10.0.2.8, me puta ma te atanga tuarua qr-92fa49b5-54 ka haere ma te kauhanga vxlan ki te node rorohiko:


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

He arorau nga mea katoa, kaore he ohorere. Kia kite tatou kei hea te wahitau poppy o te kaihautu 10.0.2.8 e kitea ana i br-int:

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

Ka rite ki te tumanako, ka haere nga waka ki br-tun, kia kite tatou ko tehea te huarahi ka haere te waka ki muri:

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

Ka haere nga waka ki te kauhanga ki te tatau-1. Ana, i runga i te compute-1 he ngawari nga mea katoa - mai i te br-tun ka haere te kete ki te br-int, mai i reira ki te atanga miihini mariko:

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

Me titiro tatou ko te atanga tika tenei:

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

Inaa, i haere katoa matou i roto i te kete. Ki taku whakaaro i kite koe i haere nga waka i roto i nga tunnel vxlan rereke ka puta me nga VNI rereke. Kia kite tatou he aha enei momo VNI, muri iho ka kohia e matou he putunga ki runga i te tauranga whakahaere o te node me te whakarite kia rere tika nga waka ki te korero i runga ake nei.
Na, ko nga mahi e whai ake nei ko te kauhanga ki te tatau-0=uta:0->NXM_OF_VLAN_TCI[],uta:0x16->NXM_NX_TUN_ID[],putanga:3. Me huri te 0x16 ki te punaha tau ira:


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

Ko te tunnel ki te tatau-1 te VNI e whai ake nei:actions=load:0->NXM_OF_VLAN_TCI[],uta:0x63->NXM_NX_TUN_ID[],putanga:2. Me huri te 0x63 ki te punaha tau ira:


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

Inaianei me titiro ki te putunga:

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

Ko te kete tuatahi he putea vxlan mai i te ope 192.168.255.19 (compute-0) ki te manaaki 192.168.255.15 (mana-1) me te vni 22, kei roto he kete ICMP mai i te kaihautu 10.0.1.85 ki te manaaki 10.0.2.8. Ka rite ki ta matou tatau i runga ake nei, ka rite te vni ki ta matou i kite i te putanga.

Ko te paatete tuarua he putea vxlan mai i te kaihautu 192.168.255.15 (mana-1) ki te manaaki i te 192.168.255.26 (whakatairanga-1) me te vni 99, kei roto he kete ICMP mai i te kaihautu 10.0.1.85 ki te manaaki 10.0.2.8. Ka rite ki ta matou tatau i runga ake nei, ka rite te vni ki ta matou i kite i te putanga.

Ko nga paatete e rua e whai ake nei ko nga waka whakahoki mai i te 10.0.2.8 ehara i te 10.0.1.85.

Arā, i te mutunga ka whiwhi mātou i te kaupapa kōpuku mana e whai ake nei:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Ko te ahua tena? E rua nga waahi ingoa i warewarehia e matou:

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

I a matou e korero ana mo te hoahoanga o te papaahi kapua, he pai mena ka whiwhi aunoa nga miihini i nga wahitau mai i te tūmau DHCP. Ko enei e rua nga tūmau DHCP mo o maatau whatunga e rua 10.0.1.0/24 me 10.0.2.0/24.

Me titiro tatou he pono tenei. Kotahi anake te wahitau kei roto i tenei mokowāingoa - 10.0.1.1 - te wāhitau o te tūmau DHCP ake, ā, kei roto hoki i te 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

Tirohia mehemea kei roto nga tukanga qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 i roto i o raatau ingoa i runga i te node mana:


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

He tikanga pera, a, i runga i nga korero e whakaatuhia ana i roto i te putanga o runga ake nei, ka taea e tatou, hei tauira, te kite i nga mea kei a tatou mo te reti:

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

Ko te mutunga, ka whiwhi matou i nga huinga ratonga e whai ake nei i runga i te node mana:

He kupu whakataki ki te waahanga whatunga o te hanganga kapua

Kia mahara - e 4 noa nga miihini tenei, e 2 nga whatunga o roto me tetahi pouara mariko... Karekau he whatunga o waho i konei inaianei, he paihere o nga kaupapa rereke, kei ia tangata me o ratou ake kupenga (inaki), kei a matou ano. i whakawetohia he pouara kua tohatohahia, a, i te mutunga, kotahi noa te pona mana whakahaere i roto i te pae whakamatautau (mo te korenga o te he, me toru nga waahanga). He mea arorau kei roto i te tauhokohoko nga mea katoa "he iti" he uaua ake, engari i roto i tenei tauira ngawari ka maarama taatau me pehea te mahi - ahakoa he 3, 300 ranei nga ingoa ingoa he mea nui, engari mai i te tirohanga o te mahi o te katoa. te hanganga, kaore he mea ka rereke ... ahakoa kaore koe e whakauru ki etahi SDN kaihoko. Engari he korero rereke tera.

Te ti'aturi nei au he mea whakamere. Mena kei a koe etahi korero / taapiri, i tetahi waahi ranei i tino teka ahau (he tangata ahau, ka noho tonu taku whakaaro) - tuhia nga mea hei whakatikatika / taapiri - ma matou e whakatika / taapiri nga mea katoa.

Hei whakamutunga, e hiahia ana ahau ki te korero i etahi kupu mo te whakatairite i a Openstack (te vanilla me te kaihoko) me te otinga kapua mai i VMWare - He maha nga wa i pataihia ai ahau ki tenei patai i roto i nga tau e rua kua pahure ake nei, a, he pono te korero, ko ahau. kua ngenge noa, engari tonu. Ki taku whakaaro, he tino uaua ki te whakataurite i enei otinga e rua, engari ka taea e tatou te kii he ngoikoretanga kei roto i nga otinga e rua, a, i te wa e whiriwhiri ana koe i tetahi otinga ka hiahia koe ki te pauna i nga pai me nga huakore.

Mena ko OpenStack he otinga a-hapori, katahi ka whai mana a VMWare ki te mahi i nga mea e hiahia ana ia (panui - he aha te pai mo ia) a he mea tika tenei - na te mea he kamupene arumoni e whakamahia ana ki te mahi moni mai i ana kaihoko. Engari tera ano tetahi mea nui me te momona ENGARI - ka taea e koe te wehe atu i te OpenStack, hei tauira mai i a Nokia, me te iti o nga utu ka huri ki tetahi otinga mai i, hei tauira, Juniper (Contrail Cloud), engari kaore pea koe e kaha ki te wehe atu i te VMWare. . Ki ahau nei, he penei te ahua o enei otinga e rua - Ko te Openstack (kaihoko) he whare herehere ngawari e tuu ai koe, engari he ki taau ka taea e koe te wehe i nga wa katoa. He whare herehere koura a VMWare, kei te rangatira te ki o te whare herehere ka nui te utu ki a koe.

Kaore au i te whakatairanga i te hua tuatahi, i te tuarua ranei - ka whiriwhiri koe i nga mea e hiahia ana koe. Engari ki te penei taku whiriwhiri, ka whiriwhiria e au nga otinga e rua - VMWare mo te kapua IT (nga iti o nga kawenga, ngawari te whakahaere), OpenStack mai i etahi kaihoko (Nokia me Juniper e whakarato ana i nga otinga turnkey tino pai) - mo te kapua Telecom. Kare au e whakamahi i te Openstack mo te IT parakore - he rite ki te pupuhi pihoihoi me te pu, engari kare au e kite i nga whakapae mo te whakamahi i tua atu i te kore utu. Heoi, ko te whakamahi i te VMWare ki te waea waea he rite ki te toia kohatu kuru i roto i te Ford Raptor - he ataahua o waho, engari me 10 nga haerenga o te taraiwa hei utu mo te kotahi.

Ki taku whakaaro, ko te kino nui o VMWare ko tona kati katoa - kaore te kamupene e tuku korero ki a koe mo te mahi, hei tauira, vSAN, he aha ranei kei roto i te kernel hypervisor - kaore he painga mo tena - ara, ka kaua rawa e riro hei tohunga mo VMWare - ki te kore he tautoko a te kaihoko, ka mate koe (he maha nga wa ka tutaki ahau ki nga tohunga VMWare e pohehe ana i nga patai iti). Ki ahau nei, kei te hoko a VMWare i tetahi motuka kua raka te potae - ae, kei a koe etahi tohunga ka taea te whakarereke i te whitiki taima, engari ko te tangata nana koe i hoko i tenei otinga ka taea te whakatuwhera i te potae. Ko ahau ake, kaore au e pai ki nga otinga kaore e taea e au te uru atu. Ka kii koe kare pea koe e haere ki raro i te hood. Ae, ka taea tenei, engari ka titiro ahau ki a koe ina hiahia koe ki te kohikohi i tetahi mahi nui i roto i te kapua mai i nga miihini mariko 20-30, 40-50 nga whatunga, ko te haurua e hiahia ana ki te haere ki waho, ka tono te haurua tuarua mo Ko te whakaterenga SR-IOV, mena ka hiahia koe kia rua tekau ma rua o enei motuka - mena kaore e ranea nga mahi.

He tirohanga ke atu, na ko koe anake ka taea te whakatau he aha te mea hei whiriwhiri, ko te mea nui, ka riro ma koe te kawenga mo to whiringa. Ko taku whakaaro noa tenei - he tangata kua kite me te pa atu ki nga hua e 4 - Nokia, Juniper, Red Hat me VMWare. Arā, he mea tāku hei whakarite.

Source: will.com

Tāpiri i te kōrero