Taw qhia rau lub network ib feem ntawm huab infrastructure

Taw qhia rau lub network ib feem ntawm huab infrastructure

Kev suav huab tau nkag mus tob thiab tob rau hauv peb lub neej thiab tej zaum tsis muaj ib tus neeg uas tsis tau siv cov kev pabcuam huab cua tsawg kawg ib zaug. Txawm li cas los xij, huab cua raws nraim li cas thiab nws ua haujlwm li cas, ob peb tus neeg paub, txawm tias nyob rau theem ntawm lub tswv yim. 5G twb dhau los ua qhov tseeb thiab kev lag luam kev lag luam tau pib txav los ntawm cov kev daws teeb meem rau kev daws teeb meem huab, ib yam li nws tau ua thaum nws txav los ntawm kev daws teeb meem kho vajtse mus rau virtualized "tus ncej".

Niaj hnub no peb yuav tham txog lub ntiaj teb sab hauv ntawm huab infrastructure, tshwj xeeb tshaj yog peb yuav saib lub hauv paus ntawm lub network ib feem.

huab yog dab tsi? Tib virtualization - profile saib?

Ntau tshaj li lo lus nug uas muaj tseeb. Tsis yog - qhov no tsis yog virtualization, txawm hais tias nws tsis tuaj yeem ua tsis tau. Cia peb saib ob lub ntsiab lus:

Huab suav (tom qab no hu ua Huab) yog ib qho qauv rau kev muab cov neeg siv-phooj ywg nkag mus rau cov khoom siv hauv computer faib uas yuav tsum tau siv thiab tsim tawm ntawm qhov kev thov nrog qhov qis tshaj qhov ua tau latency thiab tus nqi tsawg tshaj plaws rau tus muab kev pabcuam.

Virtualization - qhov no yog lub peev xwm los faib ib lub cev (piv txwv li, ib tus neeg rau zaub mov) rau hauv ntau lub virtual, yog li nce kev siv cov peev txheej (piv txwv li, koj muaj 3 servers thauj khoom ntawm 25-30 feem pua, tom qab virtualization koj tau txais 1 server loaded ntawm 80-90 feem pua). Lawm, virtualization noj ib co ntawm cov kev pab - koj yuav tsum tau pub lub hypervisor, txawm li cas los xij, raws li kev xyaum tau pom, qhov kev ua si tsim nyog rau tswm ciab. Ib qho piv txwv zoo tshaj plaws ntawm virtualization yog VMWare, uas zoo kawg nkaus npaj cov tshuab virtual, lossis piv txwv li KVM, uas kuv nyiam, tab sis qhov no yog qhov teeb meem ntawm saj.

Peb siv virtualization yam tsis paub txog nws, thiab txawm tias hlau routers twb siv virtualization - piv txwv li, nyob rau hauv qhov tseeb version ntawm JunOS, lub operating system yog ntsia raws li ib tug virtual tshuab rau saum lub real-time Linux faib (Cua Dej 9). Tab sis virtualization tsis yog huab, tab sis huab tsis tuaj yeem nyob tsis muaj virtualization.

Virtualization yog ib lub tsev thaiv uas cov huab tau tsim.

Ua huab los ntawm kev sau ntau tus neeg saib xyuas rau hauv ib qho L2 sau, ntxiv ob peb yaml playbooks rau cia li sau npe vlans los ntawm qee yam ansible thiab jamming ib yam dab tsi zoo li lub orchestration system rau nws tag nrho rau kev tsim cov tshuab virtual yuav tsis ua haujlwm. Nws yuav yog qhov tseeb dua, tab sis qhov tshwm sim Frankenstein tsis yog huab peb xav tau, txawm hais tias nws yuav yog qhov npau suav kawg rau lwm tus. Ntxiv mus, yog tias koj coj tib lub Openstack, nws tseem ceeb tseem yog Frankenstein, tab sis zoo, cia peb tsis tham txog qhov ntawd rau tam sim no.

Tab sis kuv nkag siab tias los ntawm cov ntsiab lus hais saum toj no nws tsis meej meej tias qhov twg tuaj yeem hu ua huab.

Yog li ntawd, ib daim ntawv los ntawm NIST (National Institute of Standards and Technology) muab 5 yam tseem ceeb uas huab cua infrastructure yuav tsum muaj:

Muab kev pabcuam thaum thov. Tus neeg siv yuav tsum tau pub dawb nkag mus rau lub khoos phis tawj cov peev txheej faib rau nws (xws li tes hauj lwm, virtual disks, nco, processor cores, thiab lwm yam), thiab cov peev txheej no yuav tsum tau muab cia li - uas yog, tsis muaj kev cuam tshuam los ntawm tus muab kev pabcuam.

Muaj kev pabcuam dav. Kev nkag mus rau cov peev txheej yuav tsum tau muab los ntawm cov txheej txheem txheej txheem kom tso cai siv ob qho tib si PCs thiab cov neeg siv khoom nyias thiab cov khoom siv txawb.

Kev sib xyaw cov peev txheej hauv cov pas dej. Cov pab pawg yuav tsum muaj peev xwm muab cov peev txheej rau ntau tus neeg siv khoom tib lub sijhawm, kom ntseeg tau tias cov neeg siv khoom raug cais tawm thiab tsis muaj kev sib koom tes thiab kev sib tw rau cov peev txheej. Networks kuj muaj nyob rau hauv lub pas dej ua ke, uas qhia tau hais tias muaj peev xwm siv overlapping chaw nyob. Cov pas dej yuav tsum muaj peev xwm ntsuas raws li qhov xav tau. Kev siv cov pas dej ua rau nws muaj peev xwm muab cov theem tsim nyog ntawm cov peev txheej ua txhaum cai thiab kev paub txog lub cev thiab cov peev txheej virtual - tus neeg tau txais kev pabcuam tsuas yog muab nrog cov txheej txheem uas nws thov (qhov twg cov peev txheej no nyob ntawm lub cev, ntawm pes tsawg. servers thiab keyboards - nws tsis muaj teeb meem rau tus neeg siv khoom). Txawm li cas los xij, peb yuav tsum coj mus rau hauv tus account qhov tseeb tias tus neeg muab kev pabcuam yuav tsum ua kom muaj pob tshab tshwj xeeb ntawm cov peev txheej no.

Kev yoog sai rau cov xwm txheej sib txawv. Cov kev pabcuam yuav tsum yoog raws - kev muab cov peev txheej ceev, lawv rov faib dua, ntxiv lossis txo cov peev txheej raws li tus neeg thov kev thov, thiab ntawm tus neeg siv khoom yuav tsum muaj kev xav tias cov peev txheej huab tsis muaj qhov kawg. Rau kev nkag siab yooj yim, piv txwv li, koj tsis pom qhov ceeb toom tias ib feem ntawm koj qhov chaw disk hauv Apple iCloud tau ploj mus vim tias lub hard drive ntawm lub server tau tawg, thiab cov tsav puas tawg. Tsis tas li ntawd, ntawm koj feem, qhov muaj peev xwm ntawm qhov kev pabcuam no yuav luag tsis muaj kev txwv - koj xav tau 2 TB - tsis muaj teeb meem, koj them thiab tau txais nws. Ib qho piv txwv zoo sib xws tuaj yeem muab nrog Google.Drive lossis Yandex.Disk.

Muaj peev xwm ntsuas qhov kev pabcuam tau muab. Cov tshuab huab yuav tsum tau tswj hwm thiab ua kom zoo dua cov peev txheej siv, thiab cov txheej txheem no yuav tsum tau pob tshab rau ob tus neeg siv thiab tus muab kev pabcuam. Ntawd yog, koj tuaj yeem tshawb xyuas ntau npaum li cas koj thiab koj cov neeg siv khoom siv.

Nws tsim nyog xav txog qhov tseeb tias cov kev cai no feem ntau yuav tsum muaj rau huab huab huab, yog li rau huab huab (uas yog, huab tau tsim rau lub tuam txhab cov kev xav tau sab hauv), cov kev cai no tuaj yeem hloov kho me ntsis. Txawm li cas los xij, lawv tseem yuav tsum tau ua, txwv tsis pub peb yuav tsis tau txais tag nrho cov txiaj ntsig ntawm huab xam.

Vim li cas peb thiaj xav tau huab?

Txawm li cas los xij, ib qho tshiab lossis cov thev naus laus zis uas twb muaj lawm, cov txheej txheem tshiab yog tsim rau qee yam (zoo, tshwj tsis yog RIP-ng, tau kawg). Tsis muaj leej twg xav tau kev cai lij choj rau kev ua raws cai (zoo, tsuas yog RIP-ng, tau kawg). Nws yog qhov laj thawj uas Huab tau tsim los muab qee yam kev pabcuam rau tus neeg siv / tus neeg siv khoom. Peb txhua tus paub tsawg kawg yog ob peb qhov kev pabcuam huab, piv txwv li Dropbox lossis Google.Docs, thiab kuv ntseeg tias feem ntau cov neeg siv lawv ua tiav - piv txwv li, tsab xov xwm no tau sau siv Google.Docs huab kev pabcuam. Tab sis cov kev pabcuam huab peb paub tsuas yog ib feem ntawm lub peev xwm ntawm huab - ntau dua, lawv tsuas yog kev pabcuam SaaS hom. Peb tuaj yeem muab kev pabcuam huab cua hauv peb txoj kev: hauv daim ntawv SaaS, PaaS lossis IaaS. Qhov kev pabcuam koj xav tau yog nyob ntawm koj lub siab nyiam thiab muaj peev xwm.

Cia peb saib ntawm txhua qhov kev txiav txim:

Software ua tus pabcuam (SaaS) yog tus qauv muab kev pabcuam puv ntoob rau cov neeg siv khoom, piv txwv li, kev pabcuam email zoo li Yandex.Mail lossis Gmail. Hauv cov qauv kev pabcuam no, koj, raws li tus neeg siv khoom, yeej tsis ua dab tsi tshwj tsis yog siv cov kev pabcuam - uas yog, koj tsis tas yuav xav txog kev teeb tsa cov kev pabcuam, nws qhov kev ua txhaum cai lossis rov ua dua. Qhov tseem ceeb tshaj plaws yog tsis txhob cuam tshuam koj tus password; tus neeg muab kev pabcuam no yuav ua rau koj. Los ntawm qhov pom ntawm tus neeg muab kev pabcuam, nws muaj lub luag haujlwm rau tag nrho cov kev pabcuam - los ntawm server hardware thiab host operating systems mus rau database thiab software chaw.

Platform ua Kev Pab (PaaS) - thaum siv cov qauv no, tus neeg muab kev pabcuam muab tus neeg siv khoom ua haujlwm rau kev pabcuam, piv txwv li, cia peb siv lub Web server. Tus neeg muab kev pabcuam muab tus neeg siv khoom nrog lub server virtual (qhov tseeb, ib txheej ntawm cov peev txheej, xws li RAM / CPU / Cia / Nets, thiab lwm yam), thiab txawm tias nruab OS thiab software tsim nyog ntawm lub server no, txawm li cas los xij, kev teeb tsa ntawm tag nrho cov khoom no yog ua los ntawm tus neeg siv khoom nws tus kheej thiab rau kev ua haujlwm ntawm kev pabcuam tus neeg siv khoom teb. Tus neeg muab kev pabcuam, zoo li yav dhau los, yog lub luag haujlwm rau kev ua haujlwm ntawm cov khoom siv lub cev, hypervisors, lub tshuab virtual nws tus kheej, nws lub network muaj, thiab lwm yam, tab sis qhov kev pabcuam nws tus kheej tsis nyob hauv nws lub luag haujlwm.

Infrastructure raws li Qhov Kev Pab (IaaS) - txoj hauv kev no yog qhov nthuav dav dua, qhov tseeb, qhov chaw muab kev pabcuam muab cov neeg siv khoom ua tiav virtualized infrastructure - uas yog, qee qhov teeb tsa (pool) ntawm cov peev txheej, xws li CPU Cores, RAM, Networks, thiab lwm yam. Txhua yam yog mus txog. tus neeg siv khoom - tus neeg siv khoom xav ua dab tsi nrog cov peev txheej no hauv lub pas dej sib faib (quota) - nws tsis yog qhov tseem ceeb tshwj xeeb rau tus neeg muag khoom. Txawm hais tias tus neeg siv khoom xav tsim nws tus kheej vEPC lossis txawm tsim tus neeg teb xov tooj me thiab muab kev sib txuas lus - tsis muaj lus nug - ua nws. Hauv qhov xwm txheej zoo li no, tus neeg muab kev pabcuam yog lub luag haujlwm rau kev muab cov peev txheej, lawv qhov kev ua txhaum cai thiab muaj, nrog rau OS uas tso cai rau lawv los sau cov peev txheej no thiab ua rau lawv muaj rau cov neeg siv khoom uas muaj peev xwm nce lossis txo cov peev txheej txhua lub sijhawm. raws li tus neeg thov kev thov. Tus neeg siv khoom teeb tsa txhua lub tshuab virtual thiab lwm yam tinsel nws tus kheej los ntawm kev pabcuam tus kheej portal thiab console, suav nrog kev teeb tsa tes hauj lwm (tshwj tsis yog rau lwm lub network).

OpenStack yog dab tsi?

Nyob rau hauv tag nrho peb txoj kev xaiv, tus neeg muab kev pabcuam xav tau OS uas yuav pab tsim kom muaj huab cua. Qhov tseeb, nrog SaaS, ntau tshaj ib qho kev faib yog lub luag haujlwm rau tag nrho pawg ntawm cov thev naus laus zis - muaj kev faib tawm uas yog lub luag haujlwm rau cov txheej txheem - uas yog, nws muab IaaS rau lwm qhov kev faib tawm, qhov kev faib no muab SaaS rau tus neeg siv khoom. OpenStack yog ib qho ntawm cov huab ua haujlwm uas tso cai rau koj los sau ntau cov keyboards, servers thiab cov chaw khaws cia rau hauv ib lub pas dej ua ke, faib cov pas dej ua ke no rau hauv subpools (cov neeg xauj tsev) thiab muab cov peev txheej no rau cov neeg siv khoom hauv lub network.

OpenStack yog huab kev ua haujlwm uas tso cai rau koj los tswj cov pas dej loj ntawm cov khoom siv suav nrog, cov ntaub ntawv khaws cia thiab cov peev txheej hauv lub network, npaj thiab tswj hwm los ntawm API siv cov txheej txheem kev lees paub.

Hauv lwm lo lus, qhov no yog cov txheej txheem software pub dawb uas tsim los tsim cov kev pabcuam huab (ob qho tib si pej xeem thiab ntiag tug) - uas yog, cov cuab yeej siv uas tso cai rau koj los ua ke cov neeg rau zaub mov thiab hloov khoom siv rau hauv ib lub pas dej ntawm cov peev txheej, tswj. cov kev pab no, muab cov theem tsim nyog ntawm kev zam txim.

Thaum lub sijhawm sau cov ntaub ntawv no, OpenStack qauv zoo li no:
Taw qhia rau lub network ib feem ntawm huab infrastructure
Duab coj los ntawm openstack.org

Txhua yam ntawm cov khoom suav nrog hauv OpenStack ua haujlwm tshwj xeeb. Qhov kev faib tawm no tso cai rau koj los suav nrog hauv cov kev daws teeb meem ntawm cov khoom siv uas koj xav tau. Txawm li cas los xij, qee cov khoom siv yog cov hauv paus hauv paus thiab lawv qhov kev tshem tawm yuav ua rau kom tiav lossis ib feem ntawm kev daws teeb meem tag nrho. Cov khoom no feem ntau yog cais raws li:

  • dashboard - Web-based GUI rau kev tswj hwm cov kev pabcuam OpenStack
  • Keystone yog lub hauv paus kev pabcuam tus kheej uas muab kev lees paub thiab kev tso cai ua haujlwm rau lwm cov kev pabcuam, nrog rau kev tswj xyuas cov neeg siv cov ntaub ntawv pov thawj thiab lawv lub luag haujlwm.
  • Neutron - kev pabcuam network uas muab kev sib txuas ntawm kev sib txuas ntawm ntau yam kev pabcuam OpenStack (xws li kev sib txuas ntawm VMs thiab lawv nkag mus rau lub ntiaj teb sab nraud)
  • Cinder - muab kev nkag mus thaiv cia rau cov tshuab virtual
  • Nova - Kev tswj lub neej voj voog ntawm cov tshuab virtual
  • Ntsia - repository ntawm virtual tshuab dluab thiab snapshots
  • swift - muab kev nkag mus rau cov khoom khaws cia
  • Ceilometer - ib qho kev pabcuam uas muab lub peev xwm los sau telemetry thiab ntsuas cov peev txheej muaj thiab siv tau
  • Thaum tshav kub kub - orchestration raws li cov qauv rau kev tsim tsis siv neeg thiab muab cov peev txheej

Daim ntawv teev tag nrho ntawm txhua qhov haujlwm thiab lawv lub hom phiaj tuaj yeem pom S, SΡ“S,.

Txhua qhov OpenStack tivthaiv yog ib qho kev pabcuam uas ua haujlwm tshwj xeeb thiab muab API los tswj cov haujlwm ntawd thiab cuam tshuam nrog lwm cov kev pabcuam huab ua haujlwm los tsim kom muaj kev sib koom ua ke. Piv txwv li, Nova muab kev tswj hwm kev siv computer thiab API rau kev nkag mus rau kev teeb tsa cov peev txheej no, Glance muab cov duab tswj hwm thiab API rau kev tswj hwm lawv, Cinder muab thaiv cia thiab API rau kev tswj hwm nws, thiab lwm yam. Txhua lub luag haujlwm yog sib cuam tshuam hauv txoj hauv kev ze heev.

Txawm li cas los xij, yog tias koj saib nws, tag nrho cov kev pabcuam khiav hauv OpenStack yog qhov kawg qee yam ntawm lub tshuab virtual (lossis ntim) txuas nrog lub network. Cov lus nug tshwm sim - yog vim li cas peb thiaj li xav tau ntau yam?

Cia peb mus dhau lub algorithm rau kev tsim lub tshuab virtual thiab txuas nws mus rau lub network thiab tsis tu ncua cia hauv Openstack.

  1. Thaum koj tsim ib daim ntawv thov los tsim lub tshuab, nws yog qhov kev thov los ntawm Horizon (Dashboard) lossis kev thov los ntawm CLI, thawj qhov uas tshwm sim yog kev tso cai ntawm koj qhov kev thov ntawm Keystone - koj puas tuaj yeem tsim lub tshuab, puas muaj qhov txoj cai siv lub network no, puas yog koj daim ntawv sau cia, thiab lwm yam.
  2. Keystone authenticates koj qhov kev thov thiab tsim ib qho auth token hauv cov lus teb, uas yuav raug siv ntxiv. Tom qab tau txais cov lus teb los ntawm Keystone, qhov kev thov raug xa mus rau Nova (nova api).
  3. Nova-api tshawb xyuas qhov siv tau ntawm koj qhov kev thov los ntawm kev tiv tauj Keystone siv lub cim auth uas tau tsim yav dhau los
  4. Keystone ua qhov kev lees paub thiab muab cov ntaub ntawv ntawm kev tso cai thiab kev txwv raws li daim ntawv pov thawj no.
  5. Nova-api tsim kev nkag rau VM tshiab hauv nova-database thiab dhau qhov kev thov los tsim lub tshuab rau nova-scheduler.
  6. Nova-scheduler xaiv tus tswv tsev (lub computer node) uas VM yuav raug xa mus raws li cov kev txwv, qhov hnyav thiab thaj chaw. Cov ntaub ntawv ntawm qhov no thiab VM ID raug sau rau nova-database.
  7. Tom ntej no, nova-scheduler hu rau nova-compute nrog rau kev thov kom xa ib qho piv txwv. Nova-compute hu rau nova-conductor kom tau txais cov ntaub ntawv hais txog lub tshuab tsis tau (nova-conductor yog lub ntsiab lus nova uas ua tus neeg rau zaub mov npe ntawm nova-database thiab nova-compute, txwv tus naj npawb ntawm kev thov rau nova-database kom tsis txhob muaj teeb meem nrog database kev sib xws load txo).
  8. Nova-conductor tau txais cov ntaub ntawv thov los ntawm nova-database thiab dhau mus rau nova-compute.
  9. Tom ntej no, nova-compute hu glance kom tau txais daim duab ID. Glace lees paub qhov kev thov hauv Keystone thiab xa rov qab cov ntaub ntawv thov.
  10. Nova-compute hu rau neutron kom tau txais cov ntaub ntawv hais txog lub network tsis. Zoo ib yam li glance, neutron validates qhov kev thov hauv Keystone, tom qab uas nws tsim ib qho kev nkag rau hauv cov ntaub ntawv (chaw nres nkoj tus cim, thiab lwm yam), tsim ib qho kev thov los tsim qhov chaw nres nkoj, thiab xa cov ntaub ntawv thov rau nova-compute.
  11. Nova-compute hu cinder nrog kev thov kom faib lub ntim rau lub tshuab virtual. Zoo ib yam li glance, cider validates qhov kev thov hauv Keystone, tsim ib lub ntim tsim thov, thiab xa rov qab cov ntaub ntawv thov.
  12. Nova-compute hu libvirt nrog rau kev thov kom xa lub tshuab virtual nrog rau cov kev txwv tsis pub dhau.

Qhov tseeb, kev ua haujlwm zoo li yooj yim ntawm kev tsim lub tshuab virtual yooj yim hloov mus rau hauv xws li lub voj voog ntawm API hu ntawm cov ntsiab lus ntawm huab platform. Ntxiv mus, raws li koj tuaj yeem pom, txawm tias cov kev pabcuam yav dhau los kuj tseem muaj cov khoom me me ntawm qhov kev sib cuam tshuam tshwm sim. Tsim ib lub tshuab tsuas yog ib feem me me ntawm qhov huab platform tso cai rau koj ua - muaj kev pabcuam lub luag haujlwm rau kev ntsuas tsheb, kev pabcuam lub luag haujlwm rau kev thaiv cia, kev pabcuam lub luag haujlwm rau DNS, kev pabcuam pabcuam pabcuam rau kev pabcuam liab qab hlau servers, thiab lwm yam. . Cov huab tso cai rau koj yuav tsum kho koj lub tshuab virtual zoo li ib pab yaj (raws li tsis yog virtualization). Yog tias muaj qee yam tshwm sim rau koj lub tshuab hauv ib puag ncig virtual - koj rov qab los ntawm kev thaub qab, thiab lwm yam, tab sis cov ntawv thov huab tau tsim hauv txoj hauv kev uas lub tshuab virtual tsis ua lub luag haujlwm tseem ceeb - lub tshuab virtual "tuag" - tsis muaj teeb meem. - ib qho tshiab tsuas yog tsim lub tsheb yog raws li tus qauv thiab, raws li lawv hais, pab pawg tsis pom qhov poob ntawm cov neeg tua rog. Lawm, qhov no muab rau lub xub ntiag ntawm orchestration mechanisms - siv Thaum tshav kub kub templates, koj yuav tau yooj yim deploy ib tug complex muaj nuj nqi muaj xws li kaum ob ntawm tes hauj lwm thiab virtual tshuab.

Nws yog ib txwm tsim nyog nco ntsoov tias tsis muaj huab cua hauv tsev tsis muaj lub network - txhua lub hauv paus hauv ib txoj kev lossis lwm qhov cuam tshuam nrog lwm cov ntsiab lus hauv lub network. Tsis tas li ntawd, huab muaj ib lub network tsis zoo li qub. Lawm, lub underlay network yog ntau dua los yog tsawg zoo li qub - cov nodes tshiab thiab keyboards tsis tau ntxiv txhua hnub, tab sis lub overlay tivthaiv yuav inevitably hloov tsis tu ncua - tshiab tes hauj lwm yuav muab ntxiv los yog deleted, tshiab virtual tshuab yuav tshwm sim thiab cov qub yuav. tuag. Thiab raws li koj nco qab los ntawm cov ntsiab lus ntawm huab tau muab rau thaum pib ntawm tsab xov xwm, cov peev txheej yuav tsum tau muab faib rau tus neeg siv tau thiab nrog qhov tsawg kawg nkaus (lossis zoo dua, tsis muaj) cuam tshuam los ntawm tus muab kev pabcuam. Ntawd yog, hom kev muab kev pabcuam hauv lub network uas tam sim no muaj nyob rau hauv daim ntawv ntawm lub hauv ntej-kawg nyob rau hauv daim ntawv ntawm koj tus kheej tus account nkag tau los ntawm http/https thiab lub luag hauj lwm network engineer Vasily raws li ib tug backend tsis yog huab, txawm. yog Vasily muaj yim txhais tes.

Neutron, raws li kev pabcuam hauv lub network, muab API rau kev tswj hwm lub network feem ntawm huab cua infrastructure. Cov kev pabcuam muaj zog thiab tswj xyuas qhov sib txuas ntawm Openstack los ntawm kev muab cov txheej txheem abstraction hu ua Network-as-a-Service (NaaS). Ntawd yog, lub network yog tib lub ntsuas ntsuas virtual, piv txwv li, virtual CPU cores lossis tus nqi ntawm RAM.

Tab sis ua ntej tsiv mus rau lub architecture ntawm lub network ib feem ntawm OpenStack, cia peb xav txog yuav ua li cas lub network no ua haujlwm hauv OpenStack thiab vim li cas lub network yog ib qho tseem ceeb thiab tseem ceeb ntawm huab.

Yog li peb muaj ob tus neeg siv khoom RED VMs thiab ob tus neeg siv GREEN VMs. Cia peb xav tias cov tshuab no nyob ntawm ob lub hypervisors hauv txoj kev no:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Tam sim no, qhov no tsuas yog virtualization ntawm 4 servers thiab tsis muaj dab tsi ntxiv, txij li tam sim no txhua yam peb tau ua yog virtualize 4 servers, muab tso rau ntawm ob lub cev servers. Thiab tam sim no lawv tseem tsis tau txuas nrog lub network.

Ua kom huab cua, peb yuav tsum tau ntxiv ob peb yam khoom. Ua ntej, peb virtualize lub network ib feem - peb yuav tsum txuas cov 4 lub tshuab ua khub, thiab cov neeg siv khoom xav tau kev sib txuas L2. Koj tuaj yeem siv qhov hloov pauv thiab teeb tsa lub cev hauv nws cov kev taw qhia thiab daws txhua yam siv tus choj linux lossis, rau cov neeg siv siab dua, openvswitch (peb yuav rov qab mus rau qhov no tom qab). Tab sis tuaj yeem muaj ntau lub tes hauj lwm, thiab tas li thawb L2 los ntawm kev hloov pauv tsis yog lub tswv yim zoo tshaj plaws - muaj ntau lub tuam tsev, lub rooj pabcuam, lub hlis tos rau daim ntawv thov kom tiav, lub lis piam ntawm kev daws teeb meem - hauv ntiaj teb niaj hnub no. mus kom ze tsis ua hauj lwm. Thiab sai dua lub tuam txhab nkag siab qhov no, nws yooj yim dua rau nws mus tom ntej. Yog li ntawd, ntawm cov neeg saib xyuas hypervisors peb yuav xaiv lub L3 network los ntawm peb lub tshuab virtual yuav sib txuas lus, thiab nyob rau sab saum toj ntawm L3 network no peb yuav tsim virtual L2 overlay networks qhov twg cov tsheb khiav ntawm peb lub tshuab virtual yuav khiav. Koj tuaj yeem siv GRE, Geneve lossis VxLAN ua encapsulation. Cia peb tsom mus rau yav tom ntej rau tam sim no, txawm tias nws tsis yog qhov tseem ceeb tshwj xeeb.

Peb yuav tsum nrhiav VTEP qhov chaw (Kuv vam tias txhua tus paub VxLAN cov lus). Txij li thaum peb muaj L3 network los ncaj qha los ntawm cov servers, tsis muaj dab tsi tiv thaiv peb los ntawm kev tso VTEP ntawm cov servers lawv tus kheej, thiab OVS (OpenvSwitch) yog qhov zoo tshaj plaws ntawm kev ua qhov no. Yog li ntawd, peb tau txais qhov kev tsim no:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Txij li kev tsheb khiav ntawm VMs yuav tsum tau muab faib, cov chaw nres nkoj ntawm lub tshuab virtual yuav muaj tus lej vlan sib txawv. Tus lej cim ua lub luag haujlwm tsuas yog hauv ib qho kev hloov pauv virtual, txij li thaum encapsulated hauv VxLAN peb tuaj yeem tshem nws yooj yim, vim peb yuav muaj VNI.

Taw qhia rau lub network ib feem ntawm huab infrastructure

Tam sim no peb tuaj yeem tsim peb cov tshuab thiab virtual network rau lawv yam tsis muaj teeb meem.

Txawm li cas los xij, yuav ua li cas yog tias tus neeg siv khoom muaj lwm lub tshuab, tab sis nyob rau lwm lub network? Peb xav tau rooting ntawm tes hauj lwm. Peb yuav saib qhov kev xaiv yooj yim thaum siv lub hauv paus routing - uas yog, kev khiav tsheb mus los ntawm kev tshwj xeeb ntawm lub network nodes (zoo, raws li txoj cai, lawv tau ua ke nrog cov tswj hwm, yog li peb yuav muaj tib yam).

Nws zoo li tsis muaj dab tsi nyuaj - peb ua tus choj cuam tshuam ntawm kev tswj hwm, tsav tsheb mus rau nws thiab los ntawm qhov ntawd peb taug nws qhov peb xav tau. Tab sis qhov teeb meem yog tias tus neeg siv RED xav siv 10.0.0.0/24 network, thiab GREEN tus neeg siv xav siv 10.0.0.0/24 network. Ntawd yog, peb pib hla qhov chaw nyob. Tsis tas li ntawd, cov neeg siv khoom tsis xav kom lwm tus neeg siv khoom tuaj yeem nkag mus rau hauv lawv cov tes hauj lwm sab hauv, uas ua rau muaj kev nkag siab zoo. Txhawm rau cais cov tes hauj lwm thiab cov neeg siv cov ntaub ntawv khiav, peb yuav faib cov npe cais rau lawv txhua tus. Namespace yog qhov tseeb ib daim qauv ntawm Linux network pawg, uas yog, cov neeg siv khoom hauv namespace RED tau cais tawm tag nrho los ntawm cov neeg siv khoom los ntawm namespace GREEN (zoo, ob qho kev sib txuas ntawm cov neeg siv khoom siv no tau tso cai los ntawm lub npe lub npe lossis ntawm cov khoom siv thauj mus los).

Ntawd yog, peb tau txais daim duab hauv qab no:

Taw qhia rau lub network ib feem ntawm huab infrastructure

L2 tunnels converge los ntawm tag nrho cov computer nodes mus rau tus tswj node. node qhov twg L3 interface rau cov tes hauj lwm no nyob, txhua tus nyob rau hauv ib lub npe tshwj xeeb rau kev sib cais.

Txawm li cas los xij, peb tsis nco qab qhov tseem ceeb tshaj plaws. Lub tshuab virtual yuav tsum muab kev pabcuam rau cov neeg siv khoom, uas yog, nws yuav tsum muaj tsawg kawg ib qho kev sib txuas sab nraud los ntawm qhov nws tuaj yeem ncav cuag. Qhov ntawd yog, peb yuav tsum tawm mus rau hauv lub ntiaj teb sab nraud. Muaj ntau txoj kev xaiv ntawm no. Cia peb ua qhov kev xaiv yooj yim tshaj plaws. Peb yuav ntxiv ib lub network rau txhua tus neeg siv khoom, uas yuav siv tau hauv tus neeg muab kev pabcuam network thiab yuav tsis sib tshooj nrog lwm lub network. Cov tes hauj lwm tseem tuaj yeem cuam tshuam thiab saib VRFs sib txawv ntawm sab ntawm tus neeg muab kev pabcuam network. Cov ntaub ntawv network tseem yuav nyob hauv namespace ntawm txhua tus neeg siv khoom. Txawm li cas los xij, lawv tseem yuav tawm mus rau lub ntiaj teb sab nraud los ntawm ib lub cev (lossis daim ntawv cog lus, uas yog ntau qhov laj thawj) cuam tshuam. Txhawm rau cais cov neeg siv khoom lag luam, cov tsheb mus sab nraud yuav raug sau nrog VLAN tag faib rau cov neeg siv khoom.

Yog li ntawd, peb tau txais daim duab no:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Cov lus nug tsim nyog yog vim li cas ho tsis ua rooj vag ntawm lub computer nodes lawv tus kheej? Qhov no tsis yog qhov teeb meem loj; ntxiv mus, yog tias koj qhib lub router faib (DVR), qhov no yuav ua haujlwm. Hauv qhov xwm txheej no, peb tab tom txiav txim siab qhov kev xaiv yooj yim tshaj plaws nrog lub rooj vag nruab nrab, uas yog siv los ntawm lub neej ntawd hauv Openstack. Rau kev ua haujlwm siab, lawv yuav siv ob qho kev faib router thiab cov thev naus laus zis nrawm xws li SR-IOV thiab Passthrough, tab sis raws li lawv hais, qhov ntawd yog ib zaj dab neeg sib txawv kiag li. Ua ntej, cia peb tham txog qhov tseem ceeb, thiab tom qab ntawd peb yuav mus rau hauv cov ntsiab lus.

Qhov tseeb, peb lub tswv yim twb ua haujlwm tau, tab sis muaj ob peb nuances:

  • Peb yuav tsum muaj kev tiv thaiv peb cov tshuab, uas yog, tso lub lim ntawm qhov hloov pauv ntawm tus neeg siv khoom.
  • Ua kom nws ua tau rau lub tshuab virtual kom tau txais qhov chaw nyob IP, yog li koj tsis tas yuav nkag mus rau hauv nws los ntawm lub console txhua zaus thiab sau npe qhov chaw nyob.

Cia peb pib nrog kev tiv thaiv cov tshuab. Rau qhov no koj tuaj yeem siv banal iptables, vim li cas ho tsis.

Ntawd yog, tam sim no peb topology tau dhau los ua qhov nyuaj me ntsis:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Cia peb mus. Peb yuav tsum ntxiv DHCP server. Qhov chaw zoo tshaj plaws los nrhiav DHCP servers rau txhua tus neeg siv khoom yuav yog cov tswj hwm uas twb tau hais los saum toj no, qhov chaw muaj npe nyob:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Txawm li cas los xij, muaj teeb meem me me. Yuav ua li cas yog tias txhua yam reboots thiab tag nrho cov ntaub ntawv hais txog kev xauj chaw nyob ntawm DHCP ploj. Nws yog qhov laj thawj uas cov tshuab yuav muab qhov chaw nyob tshiab, uas tsis yooj yim heev. Muaj ob txoj hauv kev tawm ntawm no - yog siv cov npe sau npe thiab ntxiv DNS server rau txhua tus neeg siv khoom, ces qhov chaw nyob yuav tsis yog qhov tseem ceeb rau peb (zoo ib yam li lub network hauv k8s) - tab sis muaj teeb meem nrog lwm cov tes hauj lwm, txij li thaum chaw nyob kuj tuaj yeem muab tso rau hauv lawv ntawm DHCP - koj xav tau synchronization nrog DNS servers hauv huab platform thiab lwm DNS server, uas hauv kuv lub tswv yim tsis hloov pauv tau, tab sis yog qhov ua tau. Los yog qhov kev xaiv thib ob yog siv cov metadata - uas yog, txuag cov ntaub ntawv hais txog qhov chaw nyob uas muab rau lub tshuab kom lub DHCP server paub qhov chaw nyob rau qhov teeb meem rau lub tshuab yog tias lub tshuab twb tau txais qhov chaw nyob. Qhov kev xaiv thib ob yog qhov yooj yim dua thiab hloov tau yooj yim, vim nws tso cai rau koj khaws cov ntaub ntawv ntxiv txog lub tsheb. Tam sim no cia peb ntxiv tus neeg sawv cev metadata rau daim duab:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Lwm qhov teeb meem uas tseem tsim nyog los tham txog yog lub peev xwm los siv ib lub network sab nraud los ntawm txhua tus neeg siv khoom, txij li cov kev sib txuas sab nraud, yog tias lawv yuav tsum siv tau thoob plaws hauv lub network, yuav nyuaj - koj yuav tsum tau faib thiab tswj kev faib tawm ntawm cov tes hauj lwm no. Lub peev xwm los siv ib qho kev teeb tsa ua ntej sab nraud rau txhua tus neeg siv khoom yuav muaj txiaj ntsig zoo thaum tsim huab huab pej xeem. Qhov no yuav ua rau nws yooj yim dua rau kev xa cov tshuab vim tias peb tsis tas yuav sab laj qhov chaw nyob database thiab xaiv qhov chaw nyob tshwj xeeb rau txhua tus neeg siv khoom sab nraud. Tsis tas li ntawd, peb tuaj yeem sau npe rau ib lub network sab nraud ua ntej thiab thaum lub sijhawm xa tawm peb tsuas yog yuav tsum koom nrog lwm qhov chaw nyob nrog cov neeg siv khoom siv tshuab.

Thiab ntawm no NAT los rau peb cov kev pab - peb tsuas yog ua kom nws ua tau rau cov neeg siv khoom nkag mus rau lub ntiaj teb sab nraud los ntawm lub npe lub npe siv NAT txhais lus. Zoo, ntawm no yog qhov teeb meem me me. Qhov no yog qhov zoo yog tias tus neeg rau zaub mov ua raws li tus neeg siv khoom thiab tsis yog tus neeg rau zaub mov - uas yog, nws pib es tsis lees txais kev sib txuas. Tab sis rau peb nws yuav yog lwm txoj hauv kev. Nyob rau hauv cov ntaub ntawv no, peb yuav tsum tau ua qhov chaw NAT kom thaum tau txais kev khiav tsheb, qhov kev tswj node nkag siab tias cov tsheb no yog tsim rau lub tshuab virtual A ntawm tus neeg siv khoom A, uas txhais tau tias peb yuav tsum tau ua NAT txhais lus los ntawm qhov chaw nyob sab nraud, piv txwv li 100.1.1.1. .10.0.0.1, mus rau qhov chaw nyob sab hauv 100. Hauv qhov no, txawm hais tias txhua tus neeg siv khoom yuav siv tib lub network, kev sib cais sab hauv yog khaws cia tag nrho. Ntawd yog, peb yuav tsum ua dNAT thiab sNAT ntawm qhov tswj ntawm qhov. Txawm hais tias siv ib lub network nrog cov chaw nyob hauv ntab lossis lwm lub network, lossis ob qho tib si ib zaug, nyob ntawm seb koj xav coj mus rau hauv huab. Peb yuav tsis ntxiv qhov chaw nyob rau hauv daim duab, tab sis yuav tawm hauv lub network sab nraud uas twb tau ntxiv ua ntej lawm - txhua tus neeg siv khoom muaj nws tus kheej sab nraud network (hauv daim duab lawv tau qhia tias vlan 200 thiab XNUMX ntawm sab nraud interface).

Yog li ntawd, peb tau txais ib qho kev nthuav dav thiab tib lub sij hawm zoo-xav-kev daws teeb meem, uas muaj qee qhov hloov tau yooj yim tab sis tseem tsis tau muaj kev ua txhaum cai rau kev ua haujlwm.

Ua ntej, peb tsuas muaj ib qho kev tswj hwm xwb - nws qhov tsis ua haujlwm yuav ua rau lub cev qhuav dej. Txhawm rau kho qhov teeb meem no, koj yuav tsum ua kom tsawg kawg ib pawg ntawm 3 nodes. Cia peb ntxiv qhov no rau daim duab:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Lawm, tag nrho cov nodes yog synchronized thiab thaum lub active node tawm, lwm node yuav coj nws lub luag hauj lwm.

Qhov teeb meem tom ntej yog lub tshuab virtual disks. Tam sim no, lawv tau khaws cia rau ntawm tus neeg saib xyuas lawv tus kheej, thiab yog tias muaj teeb meem nrog lub hypervisor, peb poob tag nrho cov ntaub ntawv - thiab muaj kev tawm tsam yuav tsis pab ntawm no yog tias peb poob tsis yog disk, tab sis tag nrho cov servers. Txhawm rau ua qhov no, peb yuav tsum tau ua ib qho kev pabcuam uas yuav ua raws li lub hauv ntej kawg rau qee yam kev khaws cia. Yuav ua li cas khaws cia nws yuav tsis yog qhov tseem ceeb rau peb, tab sis nws yuav tsum tiv thaiv peb cov ntaub ntawv los ntawm kev ua tsis tiav ntawm ob lub disk thiab cov node, thiab tej zaum tag nrho cov txee. Muaj ntau ntau txoj kev xaiv ntawm no - muaj, tau kawg, SAN tes hauj lwm nrog Fiber Channel, tab sis cia peb ua siab ncaj - FC twb yog ib tug relic ntawm yav dhau los - ib tug analogue ntawm E1 nyob rau hauv thauj - yog, kuv pom zoo, nws tseem siv, tab sis tsuas yog qhov twg nws yog kiag li tsis yooj yim sua yam tsis muaj nws. Yog li ntawd, kuv yuav tsis yeem xa mus rau FC network hauv 2020, paub tias muaj lwm txoj hauv kev nthuav dav ntxiv. Txawm hais tias rau txhua tus ntawm nws tus kheej, tej zaum yuav muaj cov neeg ntseeg tias FC nrog tag nrho nws cov kev txwv yog txhua yam peb xav tau - Kuv yuav tsis sib cav, txhua tus muaj lawv lub tswv yim. Txawm li cas los xij, qhov kev daws teeb meem zoo tshaj plaws hauv kuv lub tswv yim yog siv SDS, xws li Ceph.

Ceph tso cai rau koj los tsim kom muaj cov ntaub ntawv khaws cia nrog ntau cov kev xaiv thaub qab, pib nrog cov lej nrog kev txheeb xyuas qhov sib luag (analogous rau raid 5 lossis 6) xaus nrog tag nrho cov ntaub ntawv rov ua dua rau cov disks sib txawv, suav nrog qhov chaw ntawm disks hauv servers, thiab servers hauv txee, thiab lwm yam.

Txhawm rau tsim Ceph koj xav tau 3 qhov ntxiv. Kev cuam tshuam nrog kev khaws cia tseem yuav ua los ntawm lub network siv thaiv, khoom siv thiab cov kev pabcuam khaws cia. Cia peb ntxiv cia rau lub schema:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Nco tseg: koj tuaj yeem ua tau hyperconverged compute nodes - qhov no yog lub tswv yim ntawm kev sib txuas ntau lub luag haujlwm ntawm ib lub ntawm - piv txwv li, khaws cia + xam - yam tsis muaj kev txiav txim tshwj xeeb rau ceph cia. Peb yuav tau txais tib lub tswv yim ua txhaum cai - txij li SDS yuav khaws cov ntaub ntawv nrog rau qib uas peb tau teev tseg. Txawm li cas los xij, hyperconverged nodes yeej ib txwm muaj kev cuam tshuam - txij li qhov chaw cia khoom tsis yog cua sov xwb raws li nws zoo nkaus li thaum xub thawj siab ib muag (vim tias tsis muaj lub tshuab virtual ntawm nws) - nws siv CPU cov peev txheej ntawm kev pabcuam SDS (qhov tseeb, nws ua txhua yam. replication thiab rov qab tom qab tsis ua hauj lwm ntawm nodes, disks, thiab lwm yam). Ntawd yog, koj yuav poob qee lub zog ntawm lub khoos phis tawj yog tias koj muab nws nrog kev cia.

Tag nrho cov khoom no yuav tsum tau tswj hwm ib yam dab tsi - peb xav tau ib yam dab tsi los ntawm peb tuaj yeem tsim lub tshuab, lub network, lub router virtual, thiab lwm yam. Ua li no, peb yuav ntxiv cov kev pabcuam rau kev tswj cov node uas yuav ua raws li lub dashboard - lub tus neeg siv yuav tuaj yeem txuas rau lub portal no ntawm http / https thiab ua txhua yam nws xav tau (zoo, yuav luag).

Raws li qhov tshwm sim, tam sim no peb muaj kev ua txhaum cai. Tag nrho cov ntsiab lus ntawm qhov kev tsim kho vaj tse no yuav tsum tau tswj hwm qee yam. Nws tau piav qhia yav dhau los tias Openstack yog ib txheej ntawm cov haujlwm, txhua qhov uas muab cov haujlwm tshwj xeeb. Raws li peb pom, muaj ntau tshaj li cov ntsiab lus txaus uas yuav tsum tau teeb tsa thiab tswj. Niaj hnub no peb yuav tham txog lub network ib feem.

Neutron architecture

Hauv OpenStack, nws yog Neutron uas yog lub luag haujlwm rau kev txuas lub tshuab virtual chaw nres nkoj mus rau ib qho L2 network, ua kom muaj kev sib tw ntawm VMs nyob rau ntawm L2 network sib txawv, nrog rau kev tawm sab nraud, muab kev pabcuam xws li NAT, Floating IP, DHCP, thiab lwm yam.

Nyob rau theem siab, kev ua haujlwm ntawm kev pabcuam network (qhov pib) tuaj yeem piav qhia raws li hauv qab no.

Thaum pib VM, kev pabcuam network:

  1. Tsim ib qhov chaw nres nkoj rau VM (lossis chaw nres nkoj) thiab ceeb toom rau DHCP kev pabcuam txog nws;
  2. Ib qho tshiab virtual network ntaus ntawv yog tsim (ntawm libvirt);
  3. Lub VM txuas mus rau qhov chaw nres nkoj tsim nyob rau hauv kauj ruam 1;

Oddly txaus, Neutron txoj haujlwm yog ua raws li cov txheej txheem kev paub txog txhua tus neeg uas tau dhia mus rau hauv Linux - namespaces, iptables, linux txuas hniav, openvswitch, conntrack, thiab lwm yam.

Nws yuav tsum tau qhia tam sim ntawd tias Neutron tsis yog SDN maub los.

Neutron muaj ntau yam sib txuas sib txuas:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Openstack-neutron-server yog tus daemon uas ua haujlwm nrog cov neeg siv thov los ntawm API. Tus dab no tsis koom nrog rau kev sau npe ntawm kev sib txuas hauv network, tab sis muab cov ntaub ntawv tsim nyog rau qhov no rau nws cov plugins, uas tom qab ntawd teeb tsa lub network xav tau. Cov neeg ua haujlwm Neutron ntawm OpenStack nodes sau npe nrog Neutron server.

Neutron-server yog ib daim ntawv thov sau hauv python, muaj ob ntu:

  • REST kev pabcuam
  • Neutron Plugin (tub ntxhais / kev pabcuam)

Qhov kev pabcuam REST yog tsim los kom tau txais API hu los ntawm lwm yam khoom (piv txwv li, thov muab qee cov ntaub ntawv, thiab lwm yam)

Plugins yog plug-in software Cheebtsam / modules uas raug hu thaum lub sij hawm API thov - uas yog, qhov attribution ntawm ib qho kev pab cuam tshwm sim los ntawm lawv. Plugins tau muab faib ua ob hom - kev pabcuam thiab hauv paus. Raws li txoj cai, tus nees plugin yog lub luag haujlwm tseem ceeb rau kev tswj hwm qhov chaw nyob thiab L2 kev sib txuas ntawm VMs, thiab cov kev pabcuam plugins twb muab kev ua haujlwm ntxiv xws li VPN lossis FW.

Daim ntawv teev cov plugins muaj hnub no tuaj yeem saib piv txwv S, SΡ“S,

Nws tuaj yeem muaj ntau qhov kev pabcuam plugins, tab sis tsuas muaj ib tus nees plugin xwb.

openstack-neutron-ml2 yog tus txheej txheem Openstack hauv paus plugin. Cov plugin no muaj cov qauv tsim qauv (tsis zoo li nws cov thawj coj) thiab teeb tsa cov kev pabcuam network los ntawm cov tsav tsheb txuas nrog nws. Peb mam li saib lub plugin nws tus kheej me ntsis tom qab, vim qhov tseeb nws muab qhov yooj yim uas OpenStack muaj nyob rau hauv lub network. Lub hauv paus plugin tuaj yeem hloov pauv (piv txwv li, Contrail Networking ua li no hloov).

Kev pabcuam RPC (rabbitmq-server) - ib qho kev pabcuam uas muab kev tswj hwm kab thiab kev cuam tshuam nrog lwm cov kev pabcuam OpenStack, nrog rau kev sib cuam tshuam ntawm cov neeg ua haujlwm pabcuam hauv lub network.

Network agents - Cov neeg sawv cev uas nyob hauv txhua qhov ntawm, los ntawm cov kev pabcuam network raug teeb tsa.

Muaj ob peb hom neeg ua haujlwm.

Tus neeg sawv cev tseem ceeb yog L2 tus neeg sawv cev. Cov neeg ua haujlwm no khiav ntawm txhua tus hypervisors, suav nrog cov tswj hwm (ntau dua, ntawm txhua qhov ntawm cov nodes uas muab kev pabcuam rau cov neeg xauj tsev) thiab lawv lub luag haujlwm tseem ceeb yog txuas cov tshuab virtual rau ib qho L2 network, thiab tseem tsim kev ceeb toom thaum muaj xwm txheej tshwm sim ( Piv txwv li lov tes taw / qhib qhov chaw nres nkoj).

Tom ntej no, tsis muaj tsawg tus neeg sawv cev tseem ceeb yog L3 tus neeg sawv cev. Los ntawm lub neej ntawd, tus neeg sawv cev no tsuas yog khiav ntawm lub network node (feem ntau lub network node yog ua ke nrog cov tswj ntawm) thiab muab kev sib txuas ntawm cov neeg xauj tsev (ob qho tib si ntawm nws cov tes hauj lwm thiab cov tes hauj lwm ntawm lwm tus neeg xauj tsev, thiab nkag mus rau lub ntiaj teb sab nraud, muab NAT, nrog rau DHCP kev pabcuam). Txawm li cas los xij, thaum siv DVR (distributed router), qhov xav tau rau L3 plugin kuj tshwm sim ntawm cov lej suav.

Tus neeg sawv cev L3 siv Linux namespaces los muab txhua tus neeg xauj tsev nrog cov txheej txheem ntawm nws tus kheej cov kev sib cais thiab kev ua haujlwm ntawm cov routers virtual uas khiav tsheb khiav thiab muab kev pabcuam rooj vag rau Txheej 2 tes hauj lwm.

database - cov ntaub ntawv qhia txog tus lej ntawm tes hauj lwm, subnets, chaw nres nkoj, pas dej, thiab lwm yam.

Qhov tseeb, Neutron lees txais API thov los ntawm kev tsim cov koom haum network, txheeb xyuas qhov kev thov, thiab los ntawm RPC (yog tias nws nkag mus rau qee qhov plugin lossis tus neeg sawv cev) lossis REST API (yog tias nws sib txuas lus hauv SDN) xa mus rau cov neeg sawv cev (ntawm plugins) cov lus qhia tsim nyog los npaj cov kev pabcuam thov.

Tam sim no cia peb tig mus rau qhov kev sim teeb tsa (yuav ua li cas nws tau siv thiab dab tsi suav nrog hauv nws, peb yuav pom tom qab ntawm qhov ua tau zoo) thiab pom qhov twg txhua qhov chaw nyob:

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

Taw qhia rau lub network ib feem ntawm huab infrastructure

Qhov tseeb, qhov ntawd yog tag nrho cov qauv ntawm Neutron. Tam sim no nws tsim nyog siv qee lub sijhawm ntawm ML2 plugin.

Modular Txheej 2

Raws li tau hais los saum no, lub plugin yog tus qauv OpenStack hauv paus plugin thiab muaj cov qauv tsim qauv.

Tus thawj ntawm lub ML2 plugin muaj ib tug monolithic qauv, uas tsis tau tso cai, piv txwv li, siv ib tug sib tov ntawm ob peb technologies nyob rau hauv ib tug installation. Piv txwv li, koj tsis tuaj yeem siv ob qho tib si openvswitch thiab linuxbridge tib lub sijhawm - ob qho tib si thawj lossis thib ob. Vim li no, ML2 plugin nrog nws cov qauv tsim tau tsim.

ML2 muaj ob yam - ob hom tsav tsheb: Hom tsav tsheb thiab Mechanism tsav tsheb.

Hom tsav tsheb txiav txim siab cov thev naus laus zis uas yuav siv los teeb tsa kev sib txuas hauv network, piv txwv li VxLAN, VLAN, GRE. Nyob rau tib lub sijhawm, tus tsav tsheb tso cai rau kev siv cov thev naus laus zis sib txawv. Cov txheej txheem thev naus laus zis yog VxLAN encapsulation rau kev sib tshooj sib tshooj thiab vlan sab nraud.

Hom tsav tsheb muaj xws li hom network hauv qab no:

pav ca - network tsis muaj tagging
VLANs - tagged network
Local - hom tshwj xeeb ntawm lub network rau txhua qhov kev teeb tsa hauv ib qho (cov kev teeb tsa no xav tau rau cov neeg tsim khoom lossis kev cob qhia)
GRE - overlay network siv GRE tunnels
VxLAN - overlay network siv VxLAN tunnels

Mechanism tsav tsheb txhais cov cuab yeej uas ua kom lub koom haum ntawm cov thev naus laus zis tau teev tseg hauv hom tsav tsheb - piv txwv li, openvswitch, sr-iov, opendaylight, OVN, thiab lwm yam.

Nyob ntawm qhov kev siv ntawm tus tsav tsheb no, tus neeg sawv cev tswj hwm los ntawm Neutron yuav raug siv, lossis kev sib txuas rau lwm tus SDN maub los yuav raug siv, uas saib xyuas txhua yam teeb meem ntsig txog kev teeb tsa L2 tes hauj lwm, routing, thiab lwm yam.

Piv txwv li: yog tias peb siv ML2 ua ke nrog OVS, tom qab ntawd tus neeg sawv cev L2 raug teeb tsa rau ntawm txhua lub khoos phis tawj uas tswj OVS. Txawm li cas los xij, yog tias peb siv, piv txwv li, OVN lossis OpenDayLight, ces kev tswj hwm ntawm OVS los ntawm lawv txoj cai - Neutron, los ntawm lub hauv paus plugin, muab cov lus txib rau tus maub los, thiab nws twb ua raws li nws tau hais.

Cia peb txhuam ntawm Open vSwitch

Tam sim no, ib qho ntawm cov khoom tseem ceeb ntawm OpenStack yog Qhib vSwitch.
Thaum txhim kho OpenStack yam tsis muaj lwm tus neeg muag khoom SDN xws li Juniper Contrail lossis Nokia Nuage, OVS yog lub ntsiab lus tseem ceeb ntawm cov huab network thiab, ua ke nrog iptables, conntrack, namespaces, tso cai rau koj los npaj cov kev sib tw ua haujlwm puv npo. Lawm, cov khoom no tuaj yeem hloov pauv, piv txwv li, thaum siv cov txheej txheem thib peb (tus neeg muag khoom) SDN cov kev daws teeb meem.

OVS yog qhov qhib qhov software hloov pauv uas tsim los siv rau hauv ib puag ncig virtualized raws li tus neeg xa khoom xa mus.

Tam sim no, OVS muaj kev ua haujlwm zoo heev, uas suav nrog cov thev naus laus zis xws li QoS, LACP, VLAN, VxLAN, GENEVE, OpenFlow, DPDK, thiab lwm yam.

Nco tseg: OVS tsis tau pib tsim los ua ib qho kev hloov pauv rau kev ua haujlwm hauv kev sib txuas lus ntau heev thiab tau tsim ntau dua rau kev siv bandwidth-thov IT functions xws li WEB server lossis mail server. Txawm li cas los xij, OVS tab tom tsim kho ntxiv thiab kev siv tam sim no ntawm OVS tau txhim kho nws cov kev ua tau zoo thiab muaj peev xwm, uas tso cai rau nws siv los ntawm cov neeg siv xov tooj nrog cov haujlwm hnyav, piv txwv li, muaj OVS kev siv nrog kev txhawb nqa rau DPDK acceleration.

Muaj peb yam tseem ceeb ntawm OVS uas koj yuav tsum paub txog:

  • Kernel module - ib feem nyob rau hauv lub kernel qhov chaw uas ua kev khiav tsheb raws li cov cai tau txais los ntawm lub caij tswj;
  • vSwitch daemon (ovs-vswitchd) yog cov txheej txheem tsim tawm hauv cov neeg siv qhov chaw uas yog lub luag haujlwm rau kev ua haujlwm ntawm cov ntsiav module - uas yog, nws ncaj qha sawv cev rau cov laj thawj ntawm kev hloov pauv kev ua haujlwm.
  • Cov ntaub ntawv neeg rau zaub mov - cov ntaub ntawv hauv zos nyob ntawm txhua tus tswv tsev khiav OVS, nyob rau hauv qhov kev teeb tsa raug khaws cia. SDN controllers tuaj yeem sib txuas lus los ntawm cov qauv no siv OVSDB raws tu qauv.

Tag nrho cov no yog nrog los ntawm cov txheej txheem kuaj mob thiab kev tswj xyuas cov khoom siv, xws li ovs-vsctl, ovs-appctl, ovs-ofctl, thiab lwm yam.

Tam sim no, Openstack tau siv dav los ntawm cov tswv lag luam hauv xov tooj los hloov cov haujlwm hauv network rau nws, xws li EPC, SBC, HLR, thiab lwm yam. Qee lub zog tuaj yeem ua neej nyob yam tsis muaj teeb meem nrog OVS raws li yog, tab sis piv txwv li, EPC txheej txheem cov neeg siv tsheb khiav - tom qab ntawd nws dhau mus. ib tug loj npaum li cas ntawm cov tsheb thauj mus los (tam sim no cov tsheb khiav mus txog ob peb puas gigabits ib ob). Lawm, kev tsav tsheb zoo li no los ntawm qhov chaw kernel (vim tus neeg xa khoom nyob ntawd los ntawm lub neej ntawd) tsis yog lub tswv yim zoo tshaj. Yog li ntawd, OVS feem ntau siv tag nrho rau hauv cov neeg siv qhov chaw siv DPDK acceleration thev naus laus zis los xa cov tsheb khiav los ntawm NIC mus rau cov neeg siv qhov chaw hla dhau lub kernel.

Nco tseg: rau huab cua xa mus rau kev ua haujlwm hauv xov tooj, nws muaj peev xwm tso tawm cov tsheb khiav los ntawm lub tshuab xam zauv los ntawm OVS ncaj qha mus rau cov khoom siv hloov. SR-IOV thiab Passthrough mechanisms yog siv rau lub hom phiaj no.

Qhov no ua haujlwm li cas ntawm qhov kev teeb tsa tiag tiag?

Zoo, tam sim no cia peb mus rau qhov ua tau zoo thiab saib seb nws ua haujlwm li cas hauv kev xyaum.

Ua ntej, cia peb xa ib qho yooj yim Openstack installation. Txij li thaum kuv tsis muaj cov txheej txheem ntawm cov servers ntawm tes rau kev sim, peb yuav sib sau cov qauv ntawm ib lub cev server los ntawm cov tshuab virtual. Yog lawm, ib txwm muaj, xws li kev daws teeb meem tsis haum rau kev lag luam, tab sis kom pom ib qho piv txwv ntawm kev ua haujlwm li cas hauv Openstack, xws li kev teeb tsa yog txaus rau ob lub qhov muag. Ntxiv mus, xws li kev teeb tsa yog qhov nthuav ntau dua rau kev cob qhia lub hom phiaj - txij li thaum koj tuaj yeem ntes tsheb, thiab lwm yam.

Txij li thaum peb tsuas yog xav pom qhov yooj yim, peb tsis tuaj yeem siv ntau lub tes hauj lwm tab sis tsa txhua yam siv tsuas yog ob lub network, thiab lub network thib ob hauv qhov teeb tsa no yuav raug siv tshwj xeeb rau kev nkag mus rau undercloud thiab DNS server. Peb yuav tsis kov ntawm lwm cov tes hauj lwm rau tam sim no - qhov no yog lub ntsiab lus rau ib tsab xov xwm loj.

Yog li, cia peb pib hauv kev txiav txim. Ua ntej, me ntsis kev xav. Peb yuav nruab Openstack siv TripleO (Openstack ntawm Openstack). Lub ntsiab lus ntawm TripleO yog tias peb nruab Openstack all-in-one (uas yog, ntawm ib qho), hu ua undercloud, thiab tom qab ntawd siv lub peev xwm ntawm Openstack rau nruab Openstack npaj rau kev ua haujlwm, hu ua overcloud. Undercloud yuav siv nws lub peev xwm los tswj cov servers lub cev (liab liab qab) - qhov project Ironic - los muab cov hypervisors uas yuav ua lub luag haujlwm ntawm kev suav, kev tswj hwm, khaws cov nodes. Ntawd yog, peb tsis siv cov cuab yeej thib peb los siv Openstack - peb xa Openstack siv Openstack. Nws yuav ua kom pom tseeb dua li qhov kev txhim kho txuas ntxiv mus, yog li peb yuav tsis tso tseg thiab mus tom ntej.

Nco tseg: Hauv kab lus no, rau qhov yooj yim, kuv tsis tau siv kev sib cais network rau sab hauv Openstack tes hauj lwm, tab sis txhua yam yog siv los siv ib lub network nkaus xwb. Txawm li cas los xij, qhov muaj lossis tsis muaj kev sib cais ntawm lub network tsis cuam tshuam rau kev ua haujlwm yooj yim ntawm kev daws teeb meem - txhua yam yuav ua haujlwm raws nraim tib yam li thaum siv kev sib cais, tab sis kev khiav tsheb yuav ntws ntawm tib lub network. Rau kev lag luam kev teeb tsa, nws yog ib txwm tsim nyog siv kev sib cais siv cov vlans sib txawv thiab cov interfaces. Piv txwv li, ceph cia tswj kev khiav tsheb thiab cov ntaub ntawv khiav tsheb nws tus kheej (tshuab nkag mus rau disks, thiab lwm yam) thaum sib cais siv cov subnets sib txawv (Storage management and Storage) thiab qhov no tso cai rau koj los daws qhov teeb meem ntau dua los ntawm kev faib cov tsheb no, piv txwv li. , hla cov chaw nres nkoj sib txawv, lossis siv cov QoS sib txawv rau cov tsheb sib txawv kom cov ntaub ntawv tsheb tsis nyem tawm cov teeb liab. Hauv peb cov ntaub ntawv, lawv yuav mus rau tib lub network thiab qhov tseeb qhov no tsis txwv peb hauv txhua txoj kev.

Nco tseg: Txij li thaum peb tab tom yuav khiav cov tshuab virtual hauv ib puag ncig virtual raws li cov tshuab virtual, peb yuav tsum xub ua kom muaj kev sib koom ua ke virtualization.

Koj tuaj yeem tshawb xyuas seb nested virtualization puas tau qhib lossis tsis zoo li no:


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

Yog tias koj pom tsab ntawv N, ces peb pab txhawb rau nested virtualization raws li cov lus qhia uas koj pom hauv lub network, piv txwv li xws .

Peb yuav tsum sib sau ua ke cov nram qab no Circuit Court los ntawm cov tshuab virtual:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Hauv kuv qhov xwm txheej, txhawm rau txuas cov tshuab virtual uas yog ib feem ntawm kev teeb tsa yav tom ntej (thiab kuv tau txais 7 ntawm lawv, tab sis koj tuaj yeem tau txais los ntawm 4 yog tias koj tsis muaj peev txheej ntau), Kuv siv OpenvSwitch. Kuv tsim ib tug ovs choj thiab txuas virtual tshuab rau nws ntawm chaw nres nkoj-pab pawg. Txhawm rau ua qhov no, kuv tsim cov ntaub ntawv xml zoo li no:


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

Peb pawg chaw nres nkoj tau tshaj tawm ntawm no - ob qho kev nkag thiab ib lub cev (tom kawg yog xav tau rau DNS server, tab sis koj tuaj yeem ua yam tsis muaj nws, lossis nruab rau ntawm lub tshuab tswv tsev - qhov twg yog qhov yooj yim dua rau koj). Tom ntej no, siv cov qauv no, peb tshaj tawm peb li ntawm virsh net-define:


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

Tam sim no peb hloov kho qhov chaw nres nkoj hypervisor configurations:


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

Nco tseg: Hauv qhov xwm txheej no, qhov chaw nyob ntawm chaw nres nkoj ovs-br1 yuav tsis siv tau vim nws tsis muaj vlan tag. Txhawm rau txhim kho qhov no, koj yuav tsum tau muab cov lus txib sudo ovs-vsctl teeb chaw nres nkoj ovs-br1 tag = 100. Txawm li cas los xij, tom qab rov pib dua, daim ntawv no yuav ploj mus (yog tias leej twg paub yuav ua li cas kom nws nyob hauv qhov chaw, kuv yuav ua tsaug ntau). Tab sis qhov no tsis yog qhov tseem ceeb, vim tias peb tsuas yog xav tau qhov chaw nyob no thaum lub sijhawm teeb tsa thiab yuav tsis xav tau nws thaum Openstack tau siv tag nrho.

Tom ntej no, peb tsim ib lub tshuab 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

Thaum lub sijhawm teeb tsa, koj tau teeb tsa txhua qhov tsim nyog, xws li lub npe tshuab, passwords, cov neeg siv, ntp servers, thiab lwm yam, koj tuaj yeem teeb tsa cov chaw nres nkoj tam sim ntawd, tab sis rau kuv tus kheej, tom qab kev teeb tsa, nws yooj yim dua nkag mus rau hauv lub tshuab los ntawm lub console thiab kho cov ntaub ntawv tsim nyog. Yog tias koj twb muaj cov duab npaj txhij, koj tuaj yeem siv nws, lossis ua qhov kuv tau ua - rub tawm cov duab Centos 7 tsawg kawg thiab siv nws los nruab VM.

Tom qab kev txhim kho tiav, koj yuav tsum muaj lub tshuab virtual uas koj tuaj yeem nruab undercloud


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

Ua ntej, nruab cov cuab yeej tsim nyog rau cov txheej txheem installation:

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

Undercloud installation

Peb tsim ib pawg neeg siv, teeb tus password, ntxiv rau sudoer thiab muab nws lub peev xwm los ua cov lus txib hauv paus los ntawm sudo yam tsis tas yuav nkag mus rau tus password:


useradd stack
passwd stack

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

Tam sim no peb qhia tag nrho cov npe undercloud hauv cov ntaub ntawv hosts:


vi /etc/hosts

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

Tom ntej no, peb ntxiv repositories thiab nruab software peb xav tau:


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

Nco tseg: yog tias koj tsis npaj rau nruab ceph, ces koj tsis tas yuav nkag mus rau ceph hais txog cov lus txib. Kuv siv Queens tso tawm, tab sis koj tuaj yeem siv lwm yam koj nyiam.

Tom ntej no, luam cov ntaub ntawv undercloud configuration rau tus neeg siv lub tsev directory pawg:


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

Tam sim no peb yuav tsum tau kho cov ntaub ntawv no, kho nws rau peb lub installation.

Koj yuav tsum ntxiv cov kab no rau qhov pib ntawm cov ntaub ntawv:

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

Yog li, cia peb mus ntawm qhov chaw:

undercloud_hostname - lub npe tag nrho ntawm undercloud server, yuav tsum phim qhov nkag ntawm DNS server

local_ip - chaw nyob undercloud hauv zos rau kev muab kev pabcuam network

network_gateway - tib qhov chaw nyob hauv zos, uas yuav ua raws li lub rooj vag rau kev nkag mus rau lub ntiaj teb sab nraud thaum lub sij hawm teeb tsa ntawm overcloud nodes, kuj coincides nrog lub zos ip

undercloud_public_host - chaw nyob API sab nraud, txhua qhov chaw nyob dawb los ntawm kev muab kev pabcuam raug muab

undercloud_admin_host qhov chaw nyob API sab hauv, txhua qhov chaw nyob dawb los ntawm kev muab kev pabcuam yog muab

undercloud_nameservers - DNS server

generate_service_certificate - kab no tseem ceeb heev hauv qhov piv txwv tam sim no, vim tias yog tias koj tsis teeb nws rau qhov tsis tseeb koj yuav tau txais qhov yuam kev thaum lub sijhawm teeb tsa, qhov teeb meem tau piav qhia ntawm Red Hat kab laum tracker

local_interface kev sib txuas lus hauv network. Qhov no interface yuav raug kho dua tshiab thaum lub sij hawm undercloud xa tawm, yog li koj yuav tsum muaj ob lub interfaces ntawm undercloud - ib qho rau kev nkag mus rau nws, qhov thib ob rau kev muab

local_mtu -MTU. Txij li thaum peb muaj chav kuaj sim thiab kuv muaj MTU ntawm 1500 ntawm OVS hloov chaw nres nkoj, nws yog qhov yuav tsum tau teeb tsa rau 1450 kom cov pob ntawv encapsulated hauv VxLAN tuaj yeem dhau los.

network_cidr - kev pabcuam network

masquerade - siv NAT nkag mus rau lwm lub network

masquerade_network - network uas yuav NATed

dhcp_start - qhov chaw nyob pib ntawm qhov chaw nyob ntawm qhov chaw nyob yuav raug muab rau cov nodes thaum lub sij hawm overcloud deployment

dhcp_end - qhov chaw nyob kawg ntawm qhov chaw nyob ntawm qhov chaw nyob yuav raug muab rau cov nodes thaum lub sij hawm overcloud deployment

kev soj ntsuam_iprange - ib lub pas dej ntawm qhov chaw nyob tsim nyog rau kev soj ntsuam (yuav tsum tsis txhob sib tshooj nrog lub pas dej saum toj no)

teem sij hawm_max_attempts - tus lej siab tshaj plaws ntawm kev sim rau nruab overcloud (yuav tsum ntau dua lossis sib npaug ntawm cov nodes)

Tom qab cov ntaub ntawv tau piav qhia, koj tuaj yeem muab cov lus txib kom xa undercloud:


openstack undercloud install

Cov txheej txheem yuav siv li ntawm 10 mus rau 30 feeb nyob ntawm koj cov hlau. Thaum kawg koj yuav tsum pom cov zis zoo li no:

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.

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

Cov zis no hais tias koj tau ua tiav teeb tsa undercloud thiab tam sim no koj tuaj yeem tshawb xyuas cov xwm txheej ntawm undercloud thiab mus rau nruab overcloud.

Yog tias koj saib ntawm ifconfig tso zis, koj yuav pom tias tus choj tshiab tau tshwm sim

[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

Kev xa tawm Overcloud tam sim no yuav ua tiav los ntawm qhov interface no.

Los ntawm cov zis hauv qab no koj tuaj yeem pom tias peb muaj tag nrho cov kev pabcuam ntawm ib qho:

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

Hauv qab no yog qhov configuration ntawm undercloud network ib feem:


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

Overcloud installation

Tam sim no peb tsuas muaj undercloud, thiab peb tsis muaj cov nodes txaus los ntawm cov overcloud yuav sib sau ua ke. Yog li ntawd, ua ntej tshaj plaws, cia peb xa cov tshuab virtual uas peb xav tau. Thaum lub sij hawm xa mus, undercloud nws tus kheej yuav nruab OS thiab cov software tsim nyog ntawm lub tshuab overcloud - uas yog, peb tsis tas yuav siv lub tshuab tag nrho, tab sis tsuas yog tsim lub disk (lossis disks) rau nws thiab txiav txim siab nws cov kev txwv - uas yog , qhov tseeb, peb tau txais lub server liab qab yam tsis muaj OS ntsia rau nws .

Cia peb mus rau lub nplaub tshev nrog cov disks ntawm peb lub tshuab virtual thiab tsim cov disks ntawm qhov xav tau loj:


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

Txij li thaum peb tab tom ua haujlwm hauv paus, peb yuav tsum hloov tus tswv ntawm cov disks no kom tsis txhob muaj teeb meem nrog txoj cai:


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

Nco tseg: yog tias koj tsis npaj rau nruab ceph txhawm rau kawm nws, ces cov lus txib tsis tsim yam tsawg kawg 3 nodes nrog tsawg kawg yog ob lub disks, tab sis hauv cov qauv qhia tias virtual disks vda, vdb, thiab lwm yam.

Zoo, tam sim no peb yuav tsum tau txhais tag nrho cov tshuab no:


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 

Thaum kawg muaj qhov hais kom ua -print-xml> /tmp/storage-1.xml, uas tsim cov ntaub ntawv xml nrog cov lus piav qhia ntawm txhua lub tshuab hauv /tmp/ nplaub tshev; yog tias koj tsis ntxiv nws, koj yuav tsis tau. muaj peev xwm txheeb xyuas cov tshuab virtual.

Tam sim no peb yuav tsum tau txhais tag nrho cov tshuab no hauv 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 ~]#

Tam sim no ib tug me me nuance - tripleO siv IPMI los tswj cov servers thaum lub sij hawm installation thiab introspection.

Introspection yog cov txheej txheem ntawm kev tshuaj xyuas cov khoom siv txhawm rau kom tau txais nws cov kev txwv tsim nyog rau kev muab cov nodes ntxiv. Introspection yog nqa tawm siv ironic, ib qho kev pab cuam tsim los ua hauj lwm nrog liab qab hlau servers.

Tab sis ntawm no yog qhov teeb meem - thaum kho vajtse IPMI servers muaj qhov chaw nres nkoj cais (lossis ib qho chaw sib koom, tab sis qhov no tsis tseem ceeb), ces cov tshuab virtual tsis muaj cov chaw nres nkoj zoo li no. Ntawm no ib tug crutch hu ua vbmc los rau peb cov kev pab - ib qho kev pab cuam uas tso cai rau koj mus ua raws li ib tug IPMI chaw nres nkoj. Qhov nuance no tsim nyog tau txais kev saib xyuas tshwj xeeb rau cov neeg uas xav teeb tsa lub chaw kuaj mob ntawm ESXI hypervisor - kom ncaj ncees, kuv tsis paub tias nws muaj qhov sib piv ntawm vbmc, yog li nws tsim nyog xav txog qhov teeb meem no ua ntej xa txhua yam. .

Nruab vbmc:


yum install yum install python2-virtualbmc

Yog hais tias koj OS nrhiav tsis tau lub pob, ces ntxiv cov repository:

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

Tam sim no peb teeb tsa cov khoom siv hluav taws xob. Txhua yam ntawm no yog banal mus rau qhov kev txaj muag. Tam sim no nws yog qhov laj thawj uas tsis muaj cov servers hauv cov npe vbmc


[root@hp-gen9 ~]# vbmc list

[root@hp-gen9 ~]# 

Yuav kom lawv tshwm sim, lawv yuav tsum tau manually tshaj tawm li no:


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

Kuv xav tias qhov hais kom ua syntax yog qhov tseeb yam tsis muaj lus piav qhia. Txawm li cas los xij, rau tam sim no tag nrho peb cov kev sib tham yog nyob rau hauv DOWN xwm txheej. Txhawm rau kom lawv txav mus rau UP xwm txheej, koj yuav tsum ua kom lawv:


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

Thiab qhov kawg kov - koj yuav tsum tau kho cov cai ntawm firewall (los yog lov tes taw nws kiag li):


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

Tam sim no cia peb mus rau undercloud thiab xyuas tias txhua yam ua haujlwm. Qhov chaw nyob ntawm tus tswv tshuab yog 192.168.255.200, ntawm undercloud peb ntxiv cov pob khoom tsim nyog ipmitool thaum npaj rau kev xa tawm:


[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

Raws li koj tuaj yeem pom, peb tau ua tiav qhov kev tswj hwm ntawm vbmc. Tam sim no cia peb tua nws thiab txav mus rau:


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

Cov kauj ruam tom ntej yog introspection ntawm cov nodes uas overcloud yuav raug ntsia. Txhawm rau ua qhov no, peb yuav tsum npaj cov ntaub ntawv json nrog cov lus piav qhia ntawm peb cov nodes. Thov nco ntsoov tias, tsis zoo li kev teeb tsa ntawm cov servers liab qab, cov ntaub ntawv qhia txog qhov chaw nres nkoj uas vbmc tab tom khiav rau txhua lub tshuab.


[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

Nco tseg: cov tswj node muaj ob lub interfaces, tab sis qhov no tsis yog qhov tseem ceeb, hauv qhov kev teeb tsa no yuav txaus rau peb.

Tam sim no peb npaj cov ntaub ntawv json. Peb yuav tsum tau qhia qhov chaw nyob poppy ntawm qhov chaw nres nkoj los ntawm qhov kev npaj yuav ua tiav, qhov tsis muaj ntawm cov nodes, muab lawv cov npe thiab qhia yuav ua li cas thiaj li tau mus rau 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"
        }
    ]
}

Tam sim no peb yuav tsum tau npaj cov duab rau ironic. Txhawm rau ua qhov no, rub tawm lawv ntawm wget thiab nruab:

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

Uploading duab rau undercloud:

(undercloud) [stack@undercloud ~]$ openstack overcloud image upload --image-path ~/images/
Image "overcloud-full-vmlinuz" was uploaded.
+--------------------------------------+------------------------+-------------+---------+--------+
|                  ID                  |          Name          | Disk Format |   Size  | Status |
+--------------------------------------+------------------------+-------------+---------+--------+
| c2553770-3e0f-4750-b46b-138855b5c385 | overcloud-full-vmlinuz |     aki     | 6761064 | active |
+--------------------------------------+------------------------+-------------+---------+--------+
Image "overcloud-full-initrd" was uploaded.
+--------------------------------------+-----------------------+-------------+----------+--------+
|                  ID                  |          Name         | Disk Format |   Size   | Status |
+--------------------------------------+-----------------------+-------------+----------+--------+
| 949984e0-4932-4e71-af43-d67a38c3dc89 | overcloud-full-initrd |     ari     | 55183045 | active |
+--------------------------------------+-----------------------+-------------+----------+--------+
Image "overcloud-full" was uploaded.
+--------------------------------------+----------------+-------------+------------+--------+
|                  ID                  |      Name      | Disk Format |    Size    | Status |
+--------------------------------------+----------------+-------------+------------+--------+
| a2f2096d-c9d7-429a-b866-c7543c02a380 | overcloud-full |    qcow2    | 1487475712 | active |
+--------------------------------------+----------------+-------------+------------+--------+
Image "bm-deploy-kernel" was uploaded.
+--------------------------------------+------------------+-------------+---------+--------+
|                  ID                  |       Name       | Disk Format |   Size  | Status |
+--------------------------------------+------------------+-------------+---------+--------+
| e413aa78-e38f-404c-bbaf-93e582a8e67f | bm-deploy-kernel |     aki     | 6761064 | active |
+--------------------------------------+------------------+-------------+---------+--------+
Image "bm-deploy-ramdisk" was uploaded.
+--------------------------------------+-------------------+-------------+-----------+--------+
|                  ID                  |        Name       | Disk Format |    Size   | Status |
+--------------------------------------+-------------------+-------------+-----------+--------+
| 5cf3aba4-0e50-45d3-929f-27f025dd6ce3 | bm-deploy-ramdisk |     ari     | 461759376 | active |
+--------------------------------------+-------------------+-------------+-----------+--------+
(undercloud) [stack@undercloud ~]$

Xyuas tias tag nrho cov duab tau loaded


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

Ib qho ntxiv - koj yuav tsum ntxiv DNS server:


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

Tam sim no peb tuaj yeem muab cov lus txib rau introspection:

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

Raws li koj tuaj yeem pom los ntawm cov zis, txhua yam ua tiav yam tsis muaj qhov yuam kev. Cia peb txheeb xyuas tias tag nrho cov nodes nyob hauv lub xeev muaj:


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

Yog tias cov nodes nyob rau hauv ib lub xeev sib txawv, feem ntau tswj tau, ces ib yam dab tsi mus tsis ncaj ncees lawm thiab koj yuav tsum tau saib lub cav thiab xyuas seb yog vim li cas qhov no tshwm sim. Nco ntsoov tias hauv qhov xwm txheej no peb tab tom siv virtualization thiab tej zaum yuav muaj kab mob cuam tshuam nrog kev siv cov tshuab virtual lossis vbmc.

Tom ntej no, peb yuav tsum tau qhia tias lub node yuav ua qhov haujlwm twg - uas yog, qhia qhov profile uas cov node yuav siv:


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

Qhia qhov profile rau txhua qhov node:


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

Cia peb txheeb xyuas tias peb tau ua txhua yam kom raug:


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

Yog tias txhua yam yog lawm, peb muab cov lus txib rau deploy overcloud:

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

Hauv kev teeb tsa tiag tiag, cov qauv tsim kho yuav raug siv ib txwm siv, hauv peb cov ntaub ntawv no yuav ua rau cov txheej txheem nyuaj heev, vim tias txhua qhov hloov kho hauv cov qauv yuav tsum tau piav qhia. Raws li tau sau ua ntej, txawm tias ib qho yooj yim installation yuav txaus rau peb saib nws ua haujlwm li cas.

Nco tseg: qhov --libvirt-type qemu kuj tseem tsim nyog nyob rau hauv cov ntaub ntawv no, vim peb yuav siv nested virtualization. Txwv tsis pub, koj yuav tsis tuaj yeem khiav cov tshuab virtual.

Tam sim no koj muaj li ntawm ib teev, lossis tej zaum ntau dua (nyob ntawm qhov muaj peev xwm ntawm cov khoom siv) thiab koj tuaj yeem cia siab tias tom qab lub sijhawm no koj yuav pom cov lus hauv qab no:


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

Tam sim no koj muaj yuav luag tag nrho cov version ntawm openstack, uas koj tuaj yeem kawm, sim, thiab lwm yam.

Cia peb xyuas tias txhua yam ua haujlwm zoo. Nyob rau hauv tus neeg siv lub tsev directory pawg muaj ob cov ntaub ntawv - ib tug stackrc (rau tswj undercloud) thiab thib ob overcloudrc (rau tswj overcloud). Cov ntaub ntawv no yuav tsum tau teev tseg raws li qhov chaw, vim lawv muaj cov ntaub ntawv tsim nyog rau kev lees paub.


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

Kuv lub installation tseem xav tau ib qho me me kov - ntxiv ib txoj hauv kev ntawm tus maub los, txij li lub tshuab uas kuv ua haujlwm yog nyob rau ntawm lub network sib txawv. Ua li no, mus rau Control-1 nyob rau hauv lub tshav kub-admin account thiab sau npe rau txoj kev


(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

Zoo, tam sim no koj tuaj yeem mus rau hauv qab ntug. Tag nrho cov ntaub ntawv - chaw nyob, nkag mus thiab lo lus zais - yog nyob rau hauv cov ntaub ntawv /home/stack/overcloudrc. Daim duab kawg zoo li no:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Los ntawm txoj kev, hauv peb qhov kev teeb tsa, lub tshuab chaw nyob tau tawm ntawm DHCP thiab, raws li koj tuaj yeem pom, lawv tau muab "ntawm random". Koj tuaj yeem txiav txim siab nruj me ntsis hauv cov qauv uas qhov chaw nyob yuav tsum tau txuas nrog lub tshuab twg thaum xa tawm, yog tias koj xav tau.

Yuav ua li cas khiav ntawm cov tshuab virtual?

Hauv tsab xov xwm no peb yuav saib peb txoj hauv kev rau kev hla kev tsheb

  • Ob lub tshuab ntawm ib qho hypervisor ntawm ib lub L2 network
  • Ob lub tshuab ntawm qhov sib txawv hypervisors ntawm tib lub L2 network
  • Ob lub tshuab ntawm cov tes hauj lwm sib txawv (cross-network rooting)

Cov xwm txheej nrog kev nkag mus rau lub ntiaj teb sab nraud los ntawm kev sib txuas sab nraud, siv qhov chaw nyob hauv ntab, nrog rau kev faib tawm, peb yuav xav txog lwm lub sijhawm, rau tam sim no peb yuav tsom mus rau kev tsheb sab hauv.

Txhawm rau txheeb xyuas, cia peb sau cov duab hauv qab no ua ke:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Peb tau tsim 4 lub tshuab virtual - 3 ntawm ib lub L2 network - net-1, thiab 1 ntxiv ntawm net-2 network

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

Cia peb pom dab tsi hypervisors cov tshuab tsim nyob rau ntawm:

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

(overcloud) [stack@undercloud ~]$
Cov tshuab vm-1 thiab vm-3 yog nyob rau hauv kev suav-0, cov cav tov vm-2 thiab vm-4 nyob rau ntawm lub tshuab xam zauv-1.

Tsis tas li ntawd, ib lub router virtual tau raug tsim los ua kom muaj kev sib txuas ntawm lub network tau teev tseg:

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

Lub router muaj ob qhov chaw nres nkoj virtual, uas ua raws li lub rooj vag rau kev tes hauj lwm:

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

Tab sis ua ntej peb saib yuav ua li cas cov tsheb khiav, cia peb saib seb peb tam sim no muaj dab tsi ntawm cov tswj node (uas kuj yog lub network node) thiab ntawm cov lej suav. Cia peb pib nrog lub computer node.


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

Tam sim no, cov node muaj peb ovs txuas hniav - br-int, br-tun, br-ex. Nruab nrab ntawm lawv, raws li peb pom, muaj ib txheej ntawm interfaces. Txhawm rau kom nkag siab yooj yim, cia peb npaj tag nrho cov kev cuam tshuam no ntawm daim duab thiab pom tias muaj dab tsi tshwm sim.

Taw qhia rau lub network ib feem ntawm huab infrastructure

Saib ntawm qhov chaw nyob uas VxLAN tunnels tau tsa, nws tuaj yeem pom tias ib lub qhov tau tsa los suav-1 (192.168.255.26), qhov thib ob zoo li tswj-1 (192.168.255.15). Tab sis qhov nthuav tshaj plaws yog tias br-ex tsis muaj lub cev sib cuam tshuam, thiab yog tias koj saib dab tsi ntws tau teeb tsa, koj tuaj yeem pom tias tus choj no tsuas tuaj yeem tso tsheb khiav tam sim no.


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

Raws li koj tuaj yeem pom los ntawm cov zis, qhov chaw nyob yog screwed ncaj qha mus rau lub cev chaw nres nkoj, thiab tsis mus rau tus choj virtual.


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

Raws li thawj txoj cai, txhua yam uas tuaj ntawm phy-br-ex chaw nres nkoj yuav tsum muab pov tseg.
Qhov tseeb, tam sim no tsis muaj qhov twg ntxiv rau kev khiav tsheb mus rau hauv tus choj no tsuas yog los ntawm qhov kev sib tshuam no (lub interface nrog br-int), thiab txiav txim siab los ntawm kev poob, BUM tsheb tau ya mus rau hauv tus choj.

Ntawd yog, kev khiav tsheb tuaj yeem tawm ntawm qhov no nkaus xwb los ntawm VxLAN qhov thiab tsis muaj dab tsi ntxiv. Txawm li cas los xij, yog tias koj qhib DVR, qhov xwm txheej yuav hloov pauv, tab sis peb yuav ua rau lwm lub sijhawm. Thaum siv kev sib cais network, piv txwv li siv vlans, koj yuav tsis muaj ib qho L3 interface hauv vlan 0, tab sis ntau qhov cuam tshuam. Txawm li cas los xij, VxLAN tsheb yuav tawm ntawm cov node tib txoj kev, tab sis kuj tau encapsulated nyob rau hauv qee yam kev mob siab rau vlan.

Peb tau txheeb xyuas cov lej ntawm cov lej, cia peb txav mus rau qhov kev tswj hwm.


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

Qhov tseeb, peb tuaj yeem hais tias txhua yam zoo ib yam, tab sis tus IP chaw nyob tsis nyob ntawm lub cev interface tab sis ntawm tus choj virtual. Qhov no yog ua tiav vim qhov chaw nres nkoj no yog qhov chaw nres nkoj uas cov tsheb yuav tawm mus rau lub ntiaj teb sab nraud.


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

Qhov chaw nres nkoj no khi rau tus choj br-ex thiab vim tsis muaj vlan cim npe rau ntawm nws, qhov chaw nres nkoj no yog qhov chaw nres nkoj lub cev uas tag nrho cov vlans raug tso cai, tam sim no tsheb mus rau sab nraud yam tsis muaj ib qho, raws li qhia los ntawm vlan-id 0 nyob rau hauv lub tso zis saum toj no.

Taw qhia rau lub network ib feem ntawm huab infrastructure

Tag nrho lwm yam tam sim no zoo ib yam li lub tshuab xam zauv - tib cov txuas txuas, tib qhov tunnels mus rau ob lub tshuab xam zauv.

Peb yuav tsis xav txog qhov chaw khaws cia hauv kab lus no, tab sis rau kev nkag siab nws yog ib qho tsim nyog yuav tsum hais tias lub network ib feem ntawm cov nodes yog banal mus rau qhov kev txaj muag. Hauv peb qhov xwm txheej, tsuas muaj ib qho chaw nres nkoj lub cev (eth0) nrog qhov chaw nyob IP muab rau nws thiab qhov ntawd yog nws. Tsis muaj VxLAN tunnels, qhov txuas txuas, thiab lwm yam - tsis muaj ovs txhua, vim tsis muaj qhov taw tes rau hauv nws. Thaum siv kev sib cais network, cov node yuav muaj ob lub interfaces (lub cev chaw nres nkoj, bodny, lossis tsuas yog ob lub vlans - nws tsis muaj teeb meem - nws nyob ntawm qhov koj xav tau) - ib qho rau kev tswj hwm, qhov thib ob rau kev khiav tsheb (sau rau VM disk , nyeem los ntawm disk, thiab lwm yam)

Peb txheeb xyuas seb peb muaj dab tsi ntawm cov nodes thaum tsis muaj kev pabcuam. Tam sim no cia peb tso tawm 4 lub tshuab virtual thiab saib seb lub tswv yim tau piav qhia saum toj no hloov pauv - peb yuav tsum muaj cov chaw nres nkoj, virtual routers, thiab lwm yam.

Txog tam sim no peb lub network zoo li no:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Peb muaj ob lub tshuab virtual ntawm txhua lub tshuab computer. Siv computer-0 ua piv txwv, cia peb pom tias txhua yam suav nrog.


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

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

Lub tshuab tsuas muaj ib qho virtual interface - 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 ~]$ 

Qhov no interface zoo li hauv linux choj:

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

Raws li koj tuaj yeem pom los ntawm cov zis, tsuas muaj ob qhov sib cuam tshuam hauv tus choj - tap95d96a75-a0 thiab qvb95d96a75-a0.

Ntawm no nws tsim nyog nyob me ntsis ntawm hom virtual network li hauv OpenStack:
vtap - virtual interface txuas nrog ib qho piv txwv (VM)
qbr - Linux choj
qvb thiab qvo - vEth khub txuas nrog Linux choj thiab Qhib vSwitch choj
br-int, br-tun, br-vlan β€” Qhib vSwitch txuas hniav
patch-, int-br-, phy-br- - Qhib vSwitch thaj interfaces txuas txuas txuas
qg, qr, ha, fg, sg - Qhib vSwitch ports siv los ntawm cov khoom siv virtual los txuas rau OVS

Raws li koj nkag siab, yog tias peb muaj qvb95d96a75-a0 chaw nres nkoj hauv tus choj, uas yog ib khub vEth, ces qhov chaw muaj nws tus khub, uas yuav tsum tau hu ua qvo95d96a75-a0. Cia peb pom dab tsi cov chaw nres nkoj ntawm 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 ~]$ 

Raws li peb tuaj yeem pom, qhov chaw nres nkoj nyob hauv br-int. Br-int ua raws li kev hloov pauv uas txiav tawm cov chaw nres nkoj virtual tshuab. Ntxiv rau qvo95d96a75-a0, qhov chaw nres nkoj qvo5bd37136-47 pom hauv cov zis. Qhov no yog qhov chaw nres nkoj rau lub tshuab virtual thib ob. Yog li ntawd, peb daim duab tam sim no zoo li no:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Cov lus nug uas yuav tsum tau txaus siab tam sim ntawd rau cov neeg nyeem nyeem - dab tsi yog linux choj ntawm lub tshuab virtual chaw nres nkoj thiab OVS chaw nres nkoj? Qhov tseeb yog tias los tiv thaiv lub tshuab, kev ruaj ntseg pab pawg siv, uas tsis muaj dab tsi ntau tshaj li iptables. OVS tsis ua haujlwm nrog iptables, yog li no "Crutch" tau tsim. Txawm li cas los xij, nws tau dhau los ua qhov qub - nws tau hloov los ntawm conntrack hauv kev tawm tshiab.

Ntawd yog, thaum kawg lub tswv yim zoo li no:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Ob lub tshuab ntawm ib qho hypervisor ntawm ib lub L2 network

Txij li thaum ob lub VMs no nyob rau tib lub L2 network thiab ntawm tib lub hypervisor, kev khiav tsheb ntawm lawv yuav logically ntws hauv zos los ntawm br-int, vim tias ob lub tshuab yuav nyob rau tib VLAN:


[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface  Type       Source     Model       MAC
-------------------------------------------------------
tap95d96a75-a0 bridge     qbr95d96a75-a0 virtio      fa:16:3e:44:98:20

[heat-admin@overcloud-novacompute-0 ~]$ 
[heat-admin@overcloud-novacompute-0 ~]$ 
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000003
Interface  Type       Source     Model       MAC
-------------------------------------------------------
tap5bd37136-47 bridge     qbr5bd37136-47 virtio      fa:16:3e:83:ad:a4

[heat-admin@overcloud-novacompute-0 ~]$ 
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl fdb/show br-int 
 port  VLAN  MAC                Age
    6     1  fa:16:3e:83:ad:a4    0
    3     1  fa:16:3e:44:98:20    0
[heat-admin@overcloud-novacompute-0 ~]$ 

Ob lub tshuab ntawm qhov sib txawv hypervisors ntawm tib lub L2 network

Tam sim no cia saib yuav ua li cas cov tsheb khiav mus los ntawm ob lub tshuab ntawm tib lub L2 network, tab sis nyob ntawm qhov sib txawv hypervisors. Ua kom ncaj ncees, tsis muaj dab tsi yuav hloov pauv ntau, tsuas yog kev tsheb khiav ntawm cov neeg saib xyuas yuav dhau los ntawm vxlan qhov. Cia peb saib ib qho piv txwv.

Chaw nyob ntawm cov tshuab virtual uas peb yuav saib cov tsheb khiav:

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

Peb saib cov lus xa tawm hauv br-int ntawm kev suav-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 ~]

Kev tsheb yuav tsum mus rau qhov chaw nres nkoj 2 - cia saib seb qhov chaw nres nkoj zoo li cas:

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

Qhov no yog thaj-tun - uas yog, lub interface hauv br-tun. Wb pom dab tsi tshwm sim rau pob ntawm 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 ~]$ 

Cov pob ntawv tau ntim rau hauv VxLAN thiab xa mus rau qhov chaw nres nkoj 2. Cia saib seb qhov chaw nres nkoj 2 coj mus rau qhov twg:

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

Nov yog vxlan qhov ntawm kev suav-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 ~]$

Cia peb mus rau suav-1 thiab saib dab tsi tshwm sim tom ntej nrog pob:

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

Mac yog nyob rau hauv br-int forwarding rooj ntawm xam-1, thiab raws li tau pom los ntawm cov zis saum toj no, nws yog pom los ntawm qhov chaw nres nkoj 2, uas yog qhov chaw nres nkoj ntawm 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

Zoo, tom qab ntawd peb pom tias hauv br-int ntawm kev suav-1 muaj qhov chaw poppy:

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

Ntawd yog, pob ntawv tau txais yuav ya mus rau qhov chaw nres nkoj 3, tom qab uas twb muaj lub tshuab virtual-00000003.

Qhov kev zoo nkauj ntawm kev siv Openstack rau kev kawm ntawm virtual infrastructure yog tias peb tuaj yeem yooj yim ntes cov tsheb khiav ntawm hypervisors thiab pom dab tsi tshwm sim nrog nws. Nov yog qhov peb yuav ua tam sim no, khiav tcpdump ntawm vnet chaw nres nkoj ntawm kev suav-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*******************

Thawj kab qhia tau hais tias Patek los ntawm qhov chaw nyob 10.0.1.85 mus rau qhov chaw nyob 10.0.1.88 (ICMP tsheb), thiab nws tau qhwv rau hauv pob ntawv VxLAN nrog vni 22 thiab pob ntawv mus los ntawm tus tswv 192.168.255.19 (compute-0) mus rau host 192.168.255.26 .1 ( suav-XNUMX). Peb tuaj yeem tshawb xyuas tias VNI sib phim ib qho uas tau teev tseg hauv ovs.

Wb rov qab mus rau kab no actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[], output:2. 0x16 yog vni nyob rau hauv hexadecimal tooj system. Cia peb hloov tus lej no mus rau 16 qhov system:


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

Ntawd yog, vni sib raug rau kev muaj tiag.

Cov kab thib ob qhia tau hais tias rov qab tsheb khiav, zoo, tsis muaj qhov taw tes piav qhia nws, txhua yam yog qhov tseeb.

Ob lub tshuab ntawm ntau lub network (inter-network routing)

Qhov kawg rooj plaub rau niaj hnub no yog routing ntawm tes hauj lwm nyob rau hauv ib qhov project siv ib tug virtual router. Peb tab tom txiav txim siab txog rooj plaub uas tsis muaj DVR (peb yuav saib nws hauv lwm tsab xov xwm), yog li routing tshwm sim ntawm lub network node. Hauv peb cov ntaub ntawv, lub network node tsis tau muab tso rau hauv ib qho chaw sib cais thiab nyob rau ntawm qhov chaw tswj.

Ua ntej, cia peb pom tias routing ua haujlwm:

$ 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

Txij li thaum nyob rau hauv cov ntaub ntawv no lub pob ntawv yuav tsum mus rau lub rooj vag thiab mus rau qhov ntawd, peb yuav tsum nrhiav kom paub cov poppy chaw nyob ntawm lub rooj vag, uas peb saib ntawm lub rooj ARP nyob rau hauv piv txwv li:

$ 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

Tam sim no cia saib qhov twg cov tsheb khiav nrog qhov chaw (10.0.1.254) fa:16:3e:c4:64:70 yuav tsum xa:

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

Cia peb saib qhov twg qhov chaw nres nkoj 2 coj:

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

Txhua yam yog logic, tsheb mus rau br-tun. Wb pom twg vxlan qhov nws yuav muab qhwv rau hauv:

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

Qhov thib peb chaw nres nkoj yog vxlan qhov:

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

Uas saib ntawm tus tswj node:

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

Cov tsheb tau mus txog qhov tswj ntawm node, yog li peb yuav tsum tau mus rau nws thiab saib yuav ua li cas routing yuav tshwm sim.

Raws li koj nco qab, cov tswj ntawm sab hauv saib zoo ib yam li cov lej ntawm cov lej - tib lub txuas peb, tsuas yog br-ex muaj qhov chaw nres nkoj lub cev los ntawm qhov node tuaj yeem xa tawm mus rau sab nraud. Kev tsim cov piv txwv tau hloov pauv qhov kev teeb tsa ntawm lub khoos phis tawj - linux choj, iptables thiab interfaces tau ntxiv rau cov nodes. Kev tsim cov tes hauj lwm thiab lub router virtual tseem tshuav nws cov cim ntawm kev teeb tsa ntawm kev tswj hwm.

Yog li, nws yog pom tseeb tias lub rooj vag MAC chaw nyob yuav tsum yog nyob rau hauv br-int forwarding rooj ntawm tus tswj node. Cia peb xyuas seb nws nyob qhov twg thiab qhov twg nws tab tom nrhiav:

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

Lub Mac pom los ntawm qhov chaw nres nkoj qr-0c52b15f-8f. Yog tias peb rov qab mus rau cov npe ntawm cov chaw nres nkoj virtual hauv Openstack, hom chaw nres nkoj no yog siv los txuas ntau yam khoom siv virtual rau OVS. Txhawm rau kom meej meej, qr yog qhov chaw nres nkoj rau lub router virtual, uas yog sawv cev raws li lub npe chaw.

Cia peb pom dab tsi namespaces nyob rau ntawm lub server:

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

Muaj li peb daim ntawv luam. Tab sis txiav txim los ntawm cov npe, koj tuaj yeem kwv yees lub hom phiaj ntawm txhua tus ntawm lawv. Peb yuav rov qab mus rau qhov piv txwv nrog ID 0 thiab 1 tom qab, tam sim no peb txaus siab rau namespace qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe:


[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe ip route
10.0.1.0/24 dev qr-0c52b15f-8f proto kernel scope link src 10.0.1.254 
10.0.2.0/24 dev qr-92fa49b5-54 proto kernel scope link src 10.0.2.254 
[heat-admin@overcloud-controller-0 ~]$ 

Lub namespace no muaj ob sab hauv uas peb tau tsim ua ntej. Ob qhov chaw nres nkoj virtual tau ntxiv rau br-int. Cia peb tshawb xyuas qhov chaw nyob mac ntawm qhov chaw nres nkoj qr-0c52b15f-8f, txij li cov tsheb khiav, txiav txim siab los ntawm qhov chaw nyob mac, mus rau qhov interface no.

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

Ntawd yog, nyob rau hauv cov ntaub ntawv no, txhua yam ua haujlwm raws li cov cai ntawm cov txheej txheem routing. Txij li thaum lub tsheb khiav yog destined rau tus tswv 10.0.2.8, nws yuav tsum tawm los ntawm qhov thib ob interface qr-92fa49b5-54 thiab mus dhau lub vxlan qhov mus rau hauv lub computer node:


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

Txhua yam yog logic, tsis muaj surprises. Wb pom qhov chaw nyob poppy ntawm tus tswv 10.0.2.8 pom hauv 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 ~]$ 

Raws li kev cia siab, kev khiav mus rau br-tun, cia saib seb qhov twg cov tsheb mus rau tom ntej:

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

Kev khiav mus rau hauv qhov av kom suav-1. Zoo, ntawm kev suav-1 txhua yam yooj yim - los ntawm br-tun lub pob mus rau br-int thiab los ntawm qhov ntawd mus rau lub tshuab virtual interface:

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

Cia peb xyuas tias qhov no yog qhov tseeb interface:

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

Qhov tseeb, peb tau mus tag nrho txoj kev los ntawm pob. Kuv xav tias koj pom tias cov tsheb khiav mus los ntawm cov vxlan sib txawv thiab tawm nrog VNIs sib txawv. Cia peb saib seb VNI cov no yog dab tsi, tom qab ntawd peb yuav sau cov pob tseg ntawm qhov chaw nres nkoj tswj ntawm node thiab xyuas kom meej tias cov tsheb khiav raws nraim li tau piav qhia saum toj no.
Yog li, lub qhov rau suav-0 muaj cov haujlwm hauv qab no=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[], tso zis: 3. Cia peb hloov 0x16 rau tus lej lej system:


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

Lub qhov rau suav-1 muaj VNI: actions=load:0->NXM_OF_VLAN_TCI[],load:0x63->NXM_NX_TUN_ID[], tso zis: 2. Cia peb hloov 0x63 rau tus lej lej system:


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

Zoo, tam sim no cia peb saib lub pob tseg:

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

Thawj pob ntawv yog vxlan pob ntawv los ntawm tus tswv 192.168.255.19 (compute-0) mus rau host 192.168.255.15 (tswj-1) nrog vni 22, sab hauv uas ib pob ICMP tau ntim los ntawm tus tswv 10.0.1.85 rau host 10.0.2.8. Raws li peb xam saum toj no, vni phim qhov peb pom hauv cov zis.

Cov pob ntawv thib ob yog pob ntawv vxlan los ntawm tus tswv 192.168.255.15 (tswj-1) rau tus tswv 192.168.255.26 (compute-1) nrog vni 99, sab hauv uas ib pob ICMP tau ntim los ntawm tus tswv 10.0.1.85 rau host 10.0.2.8. Raws li peb xam saum toj no, vni phim qhov peb pom hauv cov zis.

Ob lub pob ntawv tom ntej yog rov qab los ntawm 10.0.2.8 tsis yog 10.0.1.85.

Ntawd yog, thaum kawg peb tau txais cov txheej txheem tswj node hauv qab no:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Saib seb puas yog? Peb tsis nco qab txog ob lub npe chaw:

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

Raws li peb tau tham txog lub architecture ntawm huab platform, nws yuav zoo yog tias cov tshuab tau txais qhov chaw nyob tau txais los ntawm DHCP server. Cov no yog ob lub DHCP servers rau peb ob lub network 10.0.1.0/24 thiab 10.0.2.0/24.

Cia peb tshawb xyuas tias qhov no muaj tseeb. Tsuas muaj ib qhov chaw nyob hauv lub npe no - 10.0.1.1 - qhov chaw nyob ntawm DHCP server nws tus kheej, thiab nws tseem suav nrog 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

Cia peb pom yog tias cov txheej txheem uas muaj qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 hauv lawv lub npe ntawm cov tswj hwm:


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

Muaj cov txheej txheem zoo li no thiab raws li cov ntaub ntawv tau nthuav tawm hauv cov zis saum toj no, peb tuaj yeem, piv txwv li, saib seb peb tam sim no muaj nqi xauj tsev:

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

Raws li qhov tshwm sim, peb tau txais cov kev pabcuam hauv qab no ntawm kev tswj hwm:

Taw qhia rau lub network ib feem ntawm huab infrastructure

Zoo, nco ntsoov - qhov no tsuas yog 4 lub tshuab, 2 lub network sab hauv thiab ib lub router virtual ... Peb tsis muaj lwm cov tes hauj lwm tam sim no, ib pawg ntawm cov haujlwm sib txawv, txhua tus nrog lawv tus kheej tes hauj lwm (overlapping), thiab peb muaj. ib tug faib router muab tua, thiab thaum kawg Tom qab tag nrho, tsuas muaj ib qho kev tswj ntawm lub rooj ntev zaum (rau kev ua txhaum yuav tsum muaj ib pawg ntawm peb nodes). Nws yog qhov laj thawj uas hauv kev lag luam txhua yam yog "me ntsis" nyuaj, tab sis hauv qhov piv txwv yooj yim no peb nkag siab tias nws yuav tsum ua haujlwm li cas - txawm tias koj muaj 3 lossis 300 lub npe yog qhov tseem ceeb, tab sis los ntawm qhov kev xav ntawm kev ua haujlwm ntawm lub tag nrho cov qauv, tsis muaj dab tsi yuav hloov ntau ... txawm hais tias koj yuav tsis ntsaws rau qee tus neeg muag khoom SDN. Tab sis qhov ntawd yog ib zaj dab neeg sib txawv kiag li.

Kuv vam tias nws yog qhov nthuav. Yog tias koj muaj lus nug / ntxiv, lossis qee qhov kuv tau dag (Kuv yog tib neeg thiab kuv lub tswv yim yuav tsum yog cov ntsiab lus) - sau dab tsi yuav tsum tau kho / ntxiv - peb mam li kho / ntxiv txhua yam.

Hauv kev xaus, kuv xav hais ob peb lo lus hais txog kev sib piv Openstack (ob qho tib si vanilla thiab tus neeg muag khoom) nrog cov kev daws teeb meem huab los ntawm VMWare - Kuv tau raug nug cov lus nug no ntau dhau ob peb xyoos dhau los thiab, hais ncaj ncees, kuv yog twb nkees ntawm nws, tab sis tseem. Hauv kuv lub tswv yim, nws nyuaj heev los sib piv ob txoj kev daws teeb meem no, tab sis peb tuaj yeem hais tau tias muaj qhov tsis zoo hauv ob qho kev daws teeb meem thiab thaum xaiv ib qho kev daws teeb meem koj yuav tsum ntsuas qhov zoo thiab qhov tsis zoo.

Yog tias OpenStack yog ib qho kev daws teeb meem hauv zej zog, ces VMWare muaj txoj cai ua tsuas yog qhov nws xav tau (nyeem - dab tsi muaj txiaj ntsig rau nws) thiab qhov no yog qhov laj thawj - vim tias nws yog lub tuam txhab lag luam uas siv los ua nyiaj los ntawm nws cov neeg siv khoom. Tab sis muaj ib qho loj thiab rog TAB SIS - koj tuaj yeem tawm ntawm OpenStack, piv txwv li los ntawm Nokia, thiab nrog me ntsis kev hloov mus rau kev daws teeb meem los ntawm, piv txwv li, Juniper (Contrail Cloud), tab sis koj tsis zoo li tuaj yeem tawm ntawm VMWare. . Rau kuv, ob txoj kev daws teeb meem zoo li no - Openstack (tus neeg muag khoom) yog lub tawb yooj yim uas koj muab tso rau hauv, tab sis koj muaj tus yuam sij thiab koj tuaj yeem tawm txhua lub sijhawm. VMWare yog lub tawb golden, tus tswv muaj tus yuam sij rau lub tawb thiab nws yuav raug nqi ntau heev.

Kuv tsis txhawb nqa cov khoom thawj lossis thib ob - koj xaiv qhov koj xav tau. Tab sis yog tias kuv muaj qhov kev xaiv no, kuv yuav xaiv ob qho kev daws teeb meem - VMWare rau IT huab (tsis tshua muaj loads, yooj yim tswj), OpenStack los ntawm qee tus neeg muag khoom (Nokia thiab Juniper muab cov kev daws teeb meem zoo heev) - rau Telecom huab. Kuv yuav tsis siv Openstack rau IT ntshiab - nws zoo li tua sparrows nrog rab phom, tab sis kuv tsis pom muaj contraindications rau siv nws dua li redundancy. Txawm li cas los xij, kev siv VMWare hauv kev sib txuas lus zoo li rub lub pob zeb crushed hauv Ford Raptor - nws zoo nkauj los ntawm sab nraud, tab sis tus neeg tsav tsheb yuav tsum ua 10 mus txawv tebchaws tsis yog ib qho.

Hauv kuv lub tswv yim, qhov tsis zoo tshaj plaws ntawm VMWare yog nws qhov kev kaw tag nrho - lub tuam txhab yuav tsis muab cov ntaub ntawv qhia txog nws ua haujlwm li cas, piv txwv li, vSAN lossis dab tsi hauv cov ntsiav tshuaj hypervisor - nws tsuas yog tsis muaj txiaj ntsig rau nws - uas yog, koj yuav. yeej tsis dhau los ua tus kws tshaj lij hauv VMWare - yam tsis muaj tus neeg muag khoom txhawb nqa, koj raug puas tsuaj (feem ntau kuv ntsib cov kws tshaj lij VMWare uas tsis txaus siab los ntawm cov lus nug tsis tseem ceeb). Rau kuv, VMWare tab tom yuav lub tsheb nrog lub hood kaw - yog, tej zaum koj yuav muaj cov kws tshaj lij uas tuaj yeem hloov txoj siv sijhawm, tab sis tsuas yog tus neeg muag koj cov tshuaj no tuaj yeem qhib lub hood. Tus kheej, Kuv tsis nyiam cov kev daws teeb meem uas kuv tsis tuaj yeem haum rau. Koj yuav hais tias tej zaum koj yuav tsis tau mus rau hauv qab hood. Yog lawm, qhov no yog ua tau, tab sis kuv yuav saib koj thaum koj xav tau kev sib sau ua haujlwm loj hauv huab los ntawm 20-30 lub tshuab virtual, 40-50 tes hauj lwm, ib nrab ntawm cov uas xav tawm mus sab nraud, thiab ib nrab thib ob thov. SR-IOV acceleration, txwv tsis pub koj yuav xav tau ntau dua ob peb lub kaum os ntawm cov tsheb no - txwv tsis pub qhov kev ua tau zoo yuav tsis txaus.

Muaj lwm cov ntsiab lus pom, yog li tsuas yog koj tuaj yeem txiav txim siab xaiv yam twg thiab, qhov tseem ceeb tshaj, koj yuav yog lub luag haujlwm rau koj xaiv. Qhov no tsuas yog kuv lub tswv yim - tus neeg uas tau pom thiab kov yam tsawg kawg 4 cov khoom lag luam - Nokia, Juniper, Red Hat thiab VMWare. Qhov ntawd yog, kuv muaj ib yam dab tsi los piv nrog.

Tau qhov twg los: www.hab.com

Ntxiv ib saib