Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Il-cloud computing qed jippenetra aktar u aktar fil-fond fil-ħajja tagħna u probabbilment ma jkunx hemm persuna waħda li ma użat l-ebda servizz tal-cloud mill-inqas darba. Madankollu, x'inhi eżattament sħaba u kif taħdem, ftit nies jafu, anke fil-livell ta 'idea. Il-5G diġà qed issir realtà u l-infrastruttura tat-telekomunikazzjoni qed tibda timxi minn soluzzjonijiet tal-arbli għal soluzzjonijiet tal-cloud, bħalma għamlet meta mxiet minn soluzzjonijiet ta 'hardware kompletament għal "pilastri" virtwalizzati.

Illum ser nitkellmu dwar id-dinja ta 'ġewwa tal-infrastruttura tal-cloud, b'mod partikolari se nħarsu lejn il-baŜi tal-parti tan-netwerk.

X'inhu sħaba? L-istess virtwalizzazzjoni - ħsieb profil?

Aktar minn mistoqsija loġika. Le - din mhix virtwalizzazzjoni, għalkemm ma setax isir mingħajrha. Ejja nħarsu lejn żewġ definizzjonijiet:

Cloud computing (minn hawn 'il quddiem imsejjaħ Cloud) huwa mudell biex jipprovdi aċċess faċli għall-utent għal riżorsi tal-kompjuter distribwiti li jridu jiġu skjerati u mnedija fuq talba bl-inqas latenza possibbli u spiża minima għall-fornitur tas-servizz.

Virtualization - din hija l-abbiltà li taqsam entità fiżika waħda (pereżempju, server) f'diversi virtwali, u b'hekk tiżdied l-utilizzazzjoni tar-riżorsi (per eżempju, kellek 3 servers mgħobbija f'25-30 fil-mija, wara l-virtwalizzazzjoni ikollok 1 server mgħobbi fi 80-90 fil-mija). Naturalment, il-virtwalizzazzjoni tiekol xi wħud mir-riżorsi - għandek bżonn titma 'l-hypervisor, madankollu, kif wriet il-prattika, il-logħba tiswa x-xemgħa. Eżempju ideali ta 'virtwalizzazzjoni huwa VMWare, li jipprepara perfettament magni virtwali, jew pereżempju KVM, li nippreferi, iżda din hija kwistjoni ta' togħma.

Aħna nużaw il-virtwalizzazzjoni mingħajr ma nirrealizzawha, u anke r-routers tal-ħadid diġà jużaw il-virtwalizzazzjoni - pereżempju, fl-aħħar verżjoni ta 'JunOS, is-sistema operattiva hija installata bħala magna virtwali fuq distribuzzjoni Linux f'ħin reali (Wind River 9). Iżda l-virtwalizzazzjoni mhix is-sħaba, iżda s-sħaba ma tistax teżisti mingħajr il-virtwalizzazzjoni.

Il-virtwalizzazzjoni hija waħda mill-blokki tal-bini li fuqhom hija mibnija s-sħaba.

Li tagħmel sħaba billi sempliċiment tiġbor diversi hypervisors f'dominju L2 wieħed, iż-żieda ta 'koppja ta' playbooks ta 'yaml għar-reġistrazzjoni awtomatika ta' vlans permezz ta 'xi tip ta' ansible u tiġġammja xi ħaġa bħal sistema ta 'orkestrazzjoni fuqha kollha għall-ħolqien awtomatikament ta' magni virtwali mhux se taħdem. Ikun aktar preċiż, iżda l-Frankenstein li jirriżulta mhuwiex is-sħaba li għandna bżonn, għalkemm tista 'tkun il-ħolma aħħarija għal ħaddieħor. Barra minn hekk, jekk tieħu l-istess Openstack, huwa essenzjalment xorta Frankenstein, imma oh sew, ejja ma nitkellmux dwar dan għalissa.

Imma nifhem li mid-definizzjoni ppreżentata hawn fuq mhux ċar għal kollox dak li fil-fatt jista 'jissejjaħ sħaba.

Għalhekk, dokument minn NIST (Istitut Nazzjonali tal-Istandards u t-Teknoloġija) jipprovdi 5 karatteristiċi ewlenin li infrastruttura tal-cloud għandu jkollha:

Jipprovdu servizz fuq talba. L-utent għandu jingħata aċċess liberu għar-riżorsi tal-kompjuter allokati lilu (bħal netwerks, diski virtwali, memorja, cores tal-proċessuri, eċċ.), u dawn ir-riżorsi għandhom jiġu pprovduti awtomatikament - jiġifieri, mingħajr intervent mill-fornitur tas-servizz.

Disponibbiltà wiesgħa tas-servizz. L-aċċess għar-riżorsi għandu jkun ipprovdut minn mekkaniżmi standard li jippermettu l-użu kemm ta’ kompjuters standard kif ukoll ta’ thin clients u apparat mobbli.

Il-kombinazzjoni tar-riżorsi f'pools. Il-gruppi tar-riżorsi għandhom ikunu kapaċi jipprovdu riżorsi lil klijenti multipli fl-istess ħin, u jiżguraw li l-klijenti jkunu iżolati u ħielsa minn influwenza reċiproka u kompetizzjoni għar-riżorsi. In-netwerks huma inklużi wkoll fil-pools, li jindika l-possibbiltà li jintuża indirizzar li jikkoinċidi. Il-pools iridu jkunu jistgħu jiskalaw fuq talba. L-użu ta 'pools jagħmilha possibbli li jiġi pprovdut il-livell meħtieġ ta' tolleranza għal ħtija tar-riżorsi u astrazzjoni ta 'riżorsi fiżiċi u virtwali - ir-riċevitur tas-servizz huwa sempliċement ipprovdut bis-sett ta' riżorsi li talab (fejn dawn ir-riżorsi jinsabu fiżikament, fuq kemm servers u swiċċijiet - ma jimpurtax għall-klijent). Madankollu, irridu nqisu l-fatt li l-fornitur għandu jiżgura riżerva trasparenti ta 'dawn ir-riżorsi.

Adattament malajr għal kundizzjonijiet differenti. Is-servizzi għandhom ikunu flessibbli - provvista rapida tar-riżorsi, ir-ridistribuzzjoni tagħhom, iż-żieda jew it-tnaqqis tar-riżorsi fuq talba tal-klijent, u min-naħa tal-klijent għandu jkun hemm sensazzjoni li r-riżorsi tal-cloud huma bla tmiem. Għal faċilità ta 'fehim, pereżempju, ma tarax twissija li parti mill-ispazju tad-diska tiegħek f'Apple iCloud sparixxa minħabba li l-hard drive fuq is-server tkisser, u d-drajvs ikissru. Barra minn hekk, min-naħa tiegħek, il-possibbiltajiet ta 'dan is-servizz huma kważi illimitati - għandek bżonn 2 TB - l-ebda problema, ħallast u rċevejtha. Eżempju simili jista 'jingħata ma' Google.Drive jew Yandex.Disk.

Possibbiltà li jitkejjel is-servizz ipprovdut. Is-sistemi tal-cloud għandhom awtomatikament jikkontrollaw u jottimizzaw ir-riżorsi kkunsmati, u dawn il-mekkaniżmi għandhom ikunu trasparenti kemm għall-utent kif ukoll għall-fornitur tas-servizz. Jiġifieri, tista' dejjem tiċċekkja kemm int u l-klijenti tiegħek qed tikkunsmaw riżorsi.

Ta 'min jikkunsidra l-fatt li dawn ir-rekwiżiti huma l-aktar rekwiżiti għal sħab pubbliku, għalhekk għal sħab privat (jiġifieri, sħab imniedi għall-ħtiġijiet interni tal-kumpanija), dawn ir-rekwiżiti jistgħu jiġu aġġustati kemmxejn. Madankollu, għad iridu jsiru, inkella mhux se nġibu l-benefiċċji kollha tal-cloud computing.

Għaliex għandna bżonn sħaba?

Madankollu, kwalunkwe teknoloġija ġdida jew eżistenti, kwalunkwe protokoll ġdid jinħoloq għal xi ħaġa (ukoll, ħlief għal RIP-ng, ovvjament). Ħadd ma għandu bżonn protokoll għall-fini ta 'protokoll (sewwa, ħlief għal RIP-ng, ovvjament). Huwa loġiku li l-Cloud jinħoloq biex jipprovdi xi tip ta 'servizz lill-utent/klijent. Aħna lkoll familjari ma 'mill-inqas ftit servizzi cloud, pereżempju Dropbox jew Google.Docs, u nemmen li ħafna nies jużawhom b'suċċess - per eżempju, dan l-artikolu nkiteb bl-użu tas-servizz cloud Google.Docs. Iżda s-servizzi tal-cloud li nafu huma biss parti mill-kapaċitajiet tal-cloud—aktar preċiżament, huma biss servizz tat-tip SaaS. Nistgħu nipprovdu servizz cloud fi tliet modi: fil-forma ta' SaaS, PaaS jew IaaS. Liema servizz għandek bżonn jiddependi fuq ix-xewqat u l-kapaċitajiet tiegħek.

Ejja nħarsu lejn kull wieħed fl-ordni:

Software bħala Servizz (SaaS) huwa mudell biex jipprovdi servizz sħiħ lill-klijent, pereżempju, servizz ta 'email bħal Yandex.Mail jew Gmail. F'dan il-mudell ta 'twassil tas-servizz, inti, bħala klijent, fil-fatt ma tagħmel xejn ħlief li tuża s-servizzi - jiġifieri, m'għandekx bżonn taħseb dwar it-twaqqif tas-servizz, it-tolleranza tal-ħsarat jew is-sensja tiegħu. Il-ħaġa prinċipali hija li ma tikkompromettix il-password tiegħek; il-fornitur ta 'dan is-servizz se jagħmel il-bqija għalik. Mill-perspettiva tal-fornitur tas-servizz, huwa kompletament responsabbli għas-servizz kollu - mill-ħardwer tas-server u s-sistemi operattivi host għal database u settings tas-softwer.

Pjattaforma bħala Servizz (PaaS) — meta tuża dan il-mudell, il-fornitur tas-servizz jipprovdi lill-klijent b'biċċa tax-xogħol għas-servizz, pereżempju, ejja nieħdu Web server. Il-fornitur tas-servizz ipprovda lill-klijent b'server virtwali (fil-fatt, sett ta 'riżorsi, bħal RAM/CPU/Ħażna/Nets, eċċ.), U anke installat l-OS u s-softwer meħtieġ fuq dan is-server, madankollu, il-konfigurazzjoni ta' dan l-għalf kollu jsir mill-klijent innifsu u għall-prestazzjoni tas-servizz il-klijent iwieġeb. Il-fornitur tas-servizz, bħal fil-każ preċedenti, huwa responsabbli għall-prestazzjoni ta 'tagħmir fiżiku, hypervisors, il-magna virtwali nnifisha, id-disponibbiltà tan-netwerk tagħha, eċċ., Iżda s-servizz innifsu m'għadux fil-qasam tar-responsabbiltà tiegħu.

Infrastruttura bħala Servizz (IaaS) - dan l-approċċ diġà huwa aktar interessanti, fil-fatt, il-fornitur tas-servizz jipprovdi lill-klijent b'infrastruttura virtualizzata sħiħa - jiġifieri, xi sett (pool) ta 'riżorsi, bħal CPU Cores, RAM, Netwerks, eċċ. Kollox ieħor huwa f'idejn il-klijent - dak li l-klijent irid jagħmel b'dawn ir-riżorsi fi ħdan il-pool allokat (kwota) - mhuwiex partikolarment importanti għall-fornitur. Jekk il-klijent iridx joħloq il-vEPC tiegħu stess jew saħansitra joħloq mini operatur u jipprovdi servizzi ta 'komunikazzjoni - bla dubju - agħmel dan. F'xenarju bħal dan, il-fornitur tas-servizz huwa responsabbli għall-forniment tar-riżorsi, it-tolleranza u d-disponibbiltà tagħhom għall-ħsarat, kif ukoll l-OS li jippermettilhom jiġbru dawn ir-riżorsi u jagħmluhom disponibbli għall-klijent bil-kapaċità li jżidu jew inaqqas ir-riżorsi fi kwalunkwe ħin. fuq talba tal-klijent. Il-klijent jikkonfigura l-magni virtwali kollha u tinsel ieħor innifsu permezz tal-portal u l-console self-service, inkluż it-twaqqif ta 'netwerks (ħlief għal netwerks esterni).

X'inhu OpenStack?

Fit-tliet għażliet kollha, il-fornitur tas-servizz jeħtieġ OS li jippermetti l-ħolqien ta' infrastruttura tal-cloud. Fil-fatt, bis-SaaS, aktar minn diviżjoni waħda hija responsabbli għall-munzell kollu ta 'teknoloġiji - hemm diviżjoni li hija responsabbli għall-infrastruttura - jiġifieri, tipprovdi IaaS lil diviżjoni oħra, din id-diviżjoni tipprovdi SaaS lill-klijent. OpenStack hija waħda mis-sistemi operattivi sħaba li tippermettilek tiġbor mazz ta 'swiċċijiet, servers u sistemi ta' ħażna f'ġabra waħda ta 'riżorsi, taqsam din il-ġabra komuni f'subpools (kerrejja) u tipprovdi dawn ir-riżorsi lill-klijenti fuq in-netwerk.

OpenStack hija sistema operattiva sħaba li tippermettilek tikkontrolla ġabriet kbar ta’ riżorsi tal-kompjuter, ħażna tad-dejta u riżorsi tan-netwerk, ipprovduti u ġestiti permezz tal-API bl-użu ta’ mekkaniżmi ta’ awtentikazzjoni standard.

Fi kliem ieħor, dan huwa sett ta’ proġetti ta’ softwer b’xejn li huwa ddisinjat biex joħloq servizzi cloud (kemm pubbliċi kif ukoll privati) – jiġifieri sett ta’ għodod li jippermettulek tgħaqqad is-server u t-tagħmir ta’ swiċċjar f’ġabra waħda ta’ riżorsi, timmaniġġja dawn ir-riżorsi, jipprovdu l-livell meħtieġ ta 'tolleranza għall-ħsarat.

Fil-ħin tal-kitba ta 'dan il-materjal, l-istruttura OpenStack tidher bħal din:
Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud
Stampa meħuda minn openstack.org

Kull wieħed mill-komponenti inklużi fl-OpenStack iwettaq funzjoni speċifika. Din l-arkitettura mqassma tippermettilek tinkludi fis-soluzzjoni s-sett ta 'komponenti funzjonali li għandek bżonn. Madankollu, xi komponenti huma komponenti ta 'l-għeruq u t-tneħħija tagħhom twassal għal inoperabbiltà sħiħa jew parzjali tas-soluzzjoni kollha kemm hi. Dawn il-komponenti huma ġeneralment klassifikati bħala:

  • dashboard — GUI bbażata fuq il-web għall-ġestjoni tas-servizzi OpenStack
  • Keystone huwa servizz ta' identità ċentralizzat li jipprovdi funzjonalità ta' awtentikazzjoni u awtorizzazzjoni għal servizzi oħra, kif ukoll jimmaniġġja l-kredenzjali tal-utent u r-rwoli tagħhom.
  • Neutron - servizz ta’ netwerk li jipprovdi konnettività bejn l-interfaces ta’ diversi servizzi OpenStack (inkluża konnettività bejn VMs u l-aċċess tagħhom għad-dinja ta’ barra)
  • Ċinder — jipprovdi aċċess għall-ħażna tal-blokki għal magni virtwali
  • Nova — ġestjoni taċ-ċiklu tal-ħajja ta' magni virtwali
  • Ħarsa t'għajn — repożitorju ta' immaġini u snapshots ta' magni virtwali
  • Swift — jipprovdi aċċess għall-oġġett tal-ħażna
  • Ceilometer — servizz li jipprovdi l-abbiltà li jiġbor it-telemetrija u jkejjel ir-riżorsi disponibbli u kkunsmati
  • Saħħan — orkestrazzjoni bbażata fuq mudelli għall-ħolqien awtomatiku u l-forniment tar-riżorsi

Lista sħiħa tal-proġetti kollha u l-iskop tagħhom tista 'tara hawn.

Kull komponent OpenStack huwa servizz li jwettaq funzjoni speċifika u jipprovdi API biex jimmaniġġja dik il-funzjoni u jinteraġixxi ma 'servizzi oħra tas-sistema operattiva cloud biex toħloq infrastruttura unifikata. Pereżempju, Nova tipprovdi ġestjoni tar-riżorsi tal-kompjuter u API għall-aċċess għall-konfigurazzjoni ta 'dawn ir-riżorsi, Glance tipprovdi ġestjoni tal-immaġni u API għall-ġestjoni tagħhom, Cinder jipprovdi ħażna ta' blokki u API għall-ġestjoni tagħha, eċċ. Il-funzjonijiet kollha huma interkonnessi b'mod mill-qrib ħafna.

Madankollu, jekk tħares lejha, ​​is-servizzi kollha li jaħdmu f'OpenStack huma fl-aħħar mill-aħħar xi tip ta 'magna virtwali (jew kontenitur) konnessa man-netwerk. Tqum il-mistoqsija - għaliex għandna bżonn tant elementi?

Ejja ngħaddu mill-algoritmu għall-ħolqien ta 'magna virtwali u l-konnessjoni man-netwerk u l-ħażna persistenti f'Openstack.

  1. Meta toħloq talba biex toħloq magna, kemm jekk tkun talba permezz tal-Orizzont (Dashboard) jew talba permezz tal-CLI, l-ewwel ħaġa li tiġri hija l-awtorizzazzjoni tat-talba tiegħek fuq Keystone - tista 'toħloq magna, għandha l- dritt li tuża dan in-netwerk, tagħmel l-abbozz tal-kwota tiegħek, eċċ.
  2. Keystone jawtentika t-talba tiegħek u tiġġenera token ta' awtorizzazzjoni fil-messaġġ tar-rispons, li se jintuża aktar. Wara li rċeviet tweġiba mingħand Keystone, it-talba tintbagħat lil Nova (nova api).
  3. Nova-api jiċċekkja l-validità tat-talba tiegħek billi jikkuntattja lil Keystone billi juża t-token ta' awtorizzazzjoni ġġenerat qabel
  4. Keystone iwettaq awtentikazzjoni u jipprovdi informazzjoni dwar permessi u restrizzjonijiet ibbażati fuq dan it-token ta' awtentikazzjoni.
  5. Nova-api joħloq entrata għall-VM il-ġdida f'nova-database u jgħaddi t-talba biex tinħoloq il-magna lil nova-scheduler.
  6. Nova-scheduler jagħżel il-host (node ​​tal-kompjuter) li fuqu se tiġi skjerata l-VM abbażi tal-parametri, piżijiet u żoni speċifikati. Rekord ta' dan u l-ID VM jinkitbu f'nova-database.
  7. Sussegwentement, nova-scheduler jikkuntattja lil nova-compute b'talba biex titħaddem istanza. Nova-compute jikkuntattja lil nova-conductor biex jikseb informazzjoni dwar il-parametri tal-magni (nova-conductor huwa element nova li jaġixxi bħala server proxy bejn nova-database u nova-compute, li jillimita n-numru ta’ talbiet għal nova-database biex jiġu evitati problemi bid-database tnaqqis fit-tagħbija tal-konsistenza).
  8. Nova-conductor jirċievi l-informazzjoni mitluba minn nova-database u jgħaddiha lil nova-compute.
  9. Sussegwentement, nova-compute sejħiet t'għajn biex tikseb l-ID immaġini. Glace jivvalida t-talba f'Keystone u jirritorna l-informazzjoni mitluba.
  10. Nova-komputazzjoni tikkuntattja newtroni biex tikseb informazzjoni dwar il-parametri tan-netwerk. Simili għal t'għajn, newtron jivvalida t-talba f'Keystone, u wara joħloq dħul fid-database (identifikatur tal-port, eċċ.), joħloq talba biex jinħoloq port, u jirritorna l-informazzjoni mitluba lil nova-compute.
  11. Nova-compute kuntatti cinder b'talba biex talloka volum għall-magna virtwali. Simili għal t'għajn, is-sidru jivvalida t-talba f'Keystone, joħloq talba għall-ħolqien ta 'volum, u jirritorna l-informazzjoni mitluba.
  12. Nova-compute jikkuntattja lil libvirt b'talba biex tuża magna virtwali bil-parametri speċifikati.

Fil-fatt, operazzjoni apparentement sempliċi ta 'ħolqien ta' magna virtwali sempliċi tinbidel f'tali whirlpool ta 'sejħiet API bejn elementi tal-pjattaforma tas-sħab. Barra minn hekk, kif tistgħu taraw, anke s-servizzi magħżula qabel jikkonsistu wkoll f'komponenti iżgħar li bejniethom isseħħ l-interazzjoni. Il-ħolqien ta' magna hija biss parti żgħira minn dak li tippermettilek tagħmel il-pjattaforma tal-cloud - hemm servizz responsabbli għall-ibbilanċjar tat-traffiku, servizz responsabbli għall-ħażna tal-blokki, servizz responsabbli mid-DNS, servizz responsabbli għall-forniment ta' servers bare metal, eċċ. Is-sħaba tippermetti li inti għandek tittratta l-magni virtwali tiegħek bħal merħla ta 'nagħaġ (kuntrarju għall-virtwalizzazzjoni). Jekk jiġri xi ħaġa lill-magna tiegħek f'ambjent virtwali - tirrestawraha minn backups, eċċ., iżda l-applikazzjonijiet tas-sħab huma mibnija b'tali mod li l-magna virtwali ma taqdix rwol daqshekk importanti - il-magna virtwali "mietet" - l-ebda problema - waħda ġdida hija maħluqa biss il-vettura hija bbażata fuq il-mudell u, kif jgħidu, l-iskwadra ma ndunatx it-telf tal-ġlied. Naturalment, dan jipprovdi għall-preżenza ta 'mekkaniżmi ta' orkestrazzjoni - bl-użu ta 'mudelli tas-Sħana, tista' faċilment tuża funzjoni kumplessa li tikkonsisti f'għexieren ta 'netwerks u magni virtwali.

Dejjem ta 'min iżomm f'moħħu li m'hemm l-ebda infrastruttura tal-cloud mingħajr netwerk - kull element b'xi mod jew ieħor jinteraġixxi ma' elementi oħra permezz tan-netwerk. Barra minn hekk, is-sħaba għandha netwerk assolutament mhux statiku. Naturalment, in-netwerk underlay huwa saħansitra aktar jew inqas statiku - nodi u swiċċijiet ġodda ma jiġux miżjuda kuljum, iżda l-komponent ta 'overlay jista' u inevitabbilment se jinbidel b'mod kostanti - se jiżdiedu jew jitħassru netwerks ġodda, se jidhru magni virtwali ġodda u dawk qodma. imutu. U kif tiftakar mid-definizzjoni tas-sħab mogħtija fil-bidu nett tal-artikolu, ir-riżorsi għandhom jiġu allokati lill-utent awtomatikament u bl-inqas (jew aħjar, mingħajr) intervent mill-fornitur tas-servizz. Jiġifieri, it-tip ta’ forniment ta’ riżorsi tan-netwerk li issa jeżisti fil-forma ta’ front-end fil-forma tal-kont personali tiegħek aċċessibbli permezz ta’ http/https u l-inġinier tan-netwerk fuq xogħol Vasily bħala backend mhuwiex sħaba, anki jekk Vasily għandu tmien idejn.

Neutron, bħala servizz tan-netwerk, jipprovdi API għall-ġestjoni tal-parti tan-netwerk tal-infrastruttura tal-cloud. Is-servizz jagħti s-setgħa u jamministra l-parti tan-netwerking ta' Openstack billi jipprovdi saff ta' astrazzjoni msejjaħ Network-as-a-Service (NaaS). Jiġifieri, in-netwerk huwa l-istess unità virtwali li tista 'titkejjel bħal, pereżempju, qlub ta' CPU virtwali jew l-ammont ta 'RAM.

Iżda qabel ma ngħaddu għall-arkitettura tal-parti tan-netwerk ta 'OpenStack, ejja nikkunsidraw kif dan in-netwerk jaħdem f'OpenStack u għaliex in-netwerk huwa parti importanti u integrali tal-cloud.

Allura għandna żewġ VMs tal-klijenti AĦMAR u żewġ VMs tal-klijenti GREEN. Ejja nassumu li dawn il-magni jinsabu fuq żewġ hypervisors b'dan il-mod:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Bħalissa, din hija biss virtwalizzazzjoni ta '4 servers u xejn aktar, peress li s'issa kull ma għamilna huwa virtwalizzazzjoni ta' 4 servers, billi npoġġuhom fuq żewġ servers fiżiċi. U s'issa lanqas huma konnessi man-netwerk.

Biex nagħmlu sħaba, irridu nżidu diversi komponenti. L-ewwel, aħna virtwalizzaw il-parti tan-netwerk - irridu nqabbdu dawn l-4 magni f'pari, u l-klijenti jridu konnessjoni L2. Tista' tuża swiċċ u tikkonfigura trunk fid-direzzjoni tagħha u ssolvi kollox billi tuża linux bridge jew, għal utenti aktar avvanzati, openvswitch (se nerġgħu lura għal dan aktar tard). Iżda jista 'jkun hemm ħafna netwerks, u kontinwament timbotta L2 permezz ta' swiċċ mhix l-aħjar idea - hemm dipartimenti differenti, service desk, xhur ta 'stennija biex titlesta applikazzjoni, ġimgħat ta' soluzzjoni tal-problemi - fid-dinja moderna dan l-approċċ m'għadux jaħdem. U aktar ma kumpanija tifhem dan malajr, iktar ikun faċli għaliha biex timxi 'l quddiem. Għalhekk, bejn l-hypervisors se nagħżlu netwerk L3 li permezz tiegħu l-magni virtwali tagħna se jikkomunikaw, u fuq dan in-netwerk L3 se nibnu netwerks virtwali overlay L2 fejn se jaħdem it-traffiku tal-magni virtwali tagħna. Tista' tuża GRE, Geneve jew VxLAN bħala inkapsulament. Ejja niffukaw fuq dan tal-aħħar għalissa, għalkemm mhuwiex partikolarment importanti.

Għandna bżonn insibu VTEP x'imkien (nittama li kulħadd huwa familjari mat-terminoloġija VxLAN). Peress li għandna netwerk L3 li ġej direttament mis-servers, xejn ma jżommna milli nqiegħdu VTEP fuq is-servers infushom, u OVS (OpenvSwitch) huwa eċċellenti biex jagħmel dan. Bħala riżultat, aħna ksibna dan id-disinn:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Peress li t-traffiku bejn il-VMs irid jinqasam, il-portijiet lejn il-magni virtwali se jkollhom numri vlan differenti. In-numru tat-tikketta għandu rwol biss fi swiċċ virtwali wieħed, peress li meta jkun inkapsulat f'VxLAN nistgħu faċilment inneħħuh, peress li se jkollna VNI.

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Issa nistgħu noħolqu l-magni u n-netwerks virtwali tagħna għalihom mingħajr ebda problemi.

Madankollu, x'jiġri jekk il-klijent ikollu magna oħra, iżda jkun fuq netwerk differenti? Għandna bżonn għeruq bejn in-netwerks. Se nħarsu lejn għażla sempliċi meta jintuża r-rotot ċentralizzat - jiġifieri, it-traffiku jiġi mgħoddi permezz ta 'nodi tan-netwerk speċjali ddedikati (ukoll, bħala regola, huma kkombinati ma' nodi ta 'kontroll, għalhekk ikollna l-istess ħaġa).

Jidher li xejn ikkumplikat - nagħmlu bridge interface fuq in-node tal-kontroll, insuqu t-traffiku lejh u minn hemm inwassluh fejn għandna bżonn. Iżda l-problema hija li l-klijent RED irid juża n-netwerk 10.0.0.0/24, u l-klijent AĦDAR irid juża n-netwerk 10.0.0.0/24. Jiġifieri nibdew jaqsmu l-ispazji tal-indirizzi. Barra minn hekk, il-klijenti ma jridux li klijenti oħra jkunu jistgħu jgħaddu fin-netwerks interni tagħhom, li jagħmel sens. Biex nisseparaw in-netwerks u t-traffiku tad-dejta tal-klijenti, aħna se nallokaw spazju tal-isem separat għal kull wieħed minnhom. L-ispazju tal-isem fil-fatt huwa kopja tal-munzell tan-netwerk tal-Linux, jiġifieri, il-klijenti fl-ispazju tal-isem RED huma kompletament iżolati mill-klijenti mill-ispazju tal-isem AĦDAR (sewwa, jew ir-rotot bejn dawn in-netwerks tal-klijenti huwa permess permezz tal-ispazju tal-isem default jew fuq tagħmir tat-trasport upstream).

Jiġifieri, nieħdu d-dijagramma li ġejja:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Mini L2 jikkonverġu min-nodi tal-kompjuters kollha għan-nodu tal-kontroll. node fejn tinsab l-interface L3 għal dawn in-netwerks, kull wieħed fi spazju tal-isem iddedikat għall-iżolament.

Madankollu, insew l-aktar ħaġa importanti. Il-magna virtwali għandha tipprovdi servizz lill-klijent, jiġifieri għandu jkollha mill-inqas interface estern wieħed li permezz tiegħu jista 'jintlaħaq. Jiġifieri għandna bżonn noħorġu fid-dinja ta’ barra. Hemm għażliet differenti hawn. Ejja nagħmlu l-iktar għażla sempliċi. Aħna se nżidu netwerk wieħed għal kull klijent, li se jkun validu fin-netwerk tal-fornitur u mhux se jikkoinċidi ma 'netwerks oħra. In-netwerks jistgħu wkoll jaqsmu u jħarsu lejn VRFs differenti fuq in-naħa tan-netwerk tal-fornitur. Id-dejta tan-netwerk se tgħix ukoll fl-ispazju tal-isem ta 'kull klijent. Madankollu, xorta se jmorru għad-dinja ta 'barra permezz ta' interface wieħed fiżiku (jew bond, li huwa aktar loġiku). Biex tissepara t-traffiku tal-klijenti, it-traffiku li sejjer barra se jiġi mmarkat b'tikketta VLAN allokata lill-klijent.

Bħala riżultat, aħna ksibna din id-dijagramma:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Mistoqsija raġonevoli hija għaliex ma tagħmilx gateways fuq in-nodi tal-komputazzjoni nfushom? Din mhix problema kbira; barra minn hekk, jekk tixgħel ir-router distribwit (DVR), dan jaħdem. F'dan ix-xenarju, qed nikkunsidraw l-iktar għażla sempliċi b'portal ċentralizzat, li jintuża awtomatikament f'Openstack. Għal funzjonijiet ta 'tagħbija għolja, se jużaw kemm router distribwit kif ukoll teknoloġiji ta' aċċelerazzjoni bħal SR-IOV u Passthrough, iżda kif jgħidu, dik hija storja kompletament differenti. L-ewwel, ejja nittrattaw il-parti bażika, u mbagħad nidħlu fid-dettalji.

Fil-fatt, l-iskema tagħna hija diġà prattikabbli, iżda hemm ftit sfumaturi:

  • Għandna bżonn b'xi mod nipproteġu l-magni tagħna, jiġifieri, inpoġġu filtru fuq l-interface tal-iswiċċ lejn il-klijent.
  • Agħmel possibbli li magna virtwali tikseb awtomatikament indirizz IP, sabiex ma jkollokx għalfejn tidħol fiha permezz tal-console kull darba u tirreġistra l-indirizz.

Nibdew bil-protezzjoni tal-magni. Għal dan tista 'tuża iptables banali, għaliex le.

Jiġifieri, issa t-topoloġija tagħna saret ftit aktar ikkumplikata:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Ejja nimxu fuq. Għandna bżonn inżidu server DHCP. L-iktar post ideali biex jinstabu s-servers DHCP għal kull klijent ikun in-nodu tal-kontroll diġà msemmi hawn fuq, fejn jinsabu l-ispazji tal-isem:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Madankollu, hemm problema żgħira. X'jiġri jekk kollox jerġa 'jibda u l-informazzjoni kollha dwar il-kiri ta' indirizzi fuq DHCP tisparixxi. Huwa loġiku li l-magni se jingħataw indirizzi ġodda, li mhux konvenjenti ħafna. Hemm żewġ modi hawn - jew uża ismijiet ta 'dominju u żid server DNS għal kull klijent, allura l-indirizz ma jkunx partikolarment importanti għalina (simili għall-parti tan-netwerk f'k8s) - iżda hemm problema b'netwerks esterni, peress li indirizzi jistgħu wkoll jinħarġu fihom permezz ta 'DHCP - għandek bżonn sinkronizzazzjoni ma' servers DNS fil-pjattaforma tas-sħab u server DNS estern, li fl-opinjoni tiegħi mhuwiex flessibbli ħafna, iżda huwa pjuttost possibbli. Jew it-tieni għażla hija li tuża l-metadata - jiġifieri, issalva l-informazzjoni dwar l-indirizz maħruġ lill-magna sabiex is-server DHCP ikun jaf liema indirizz għandu joħroġ lill-magna jekk il-magna tkun diġà rċeviet indirizz. It-tieni għażla hija aktar sempliċi u aktar flessibbli, peress li tippermettilek tiffranka informazzjoni addizzjonali dwar il-karozza. Issa ejja nżidu l-metadejta tal-aġent mad-dijagramma:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Kwistjoni oħra li ta 'min tiddiskuti wkoll hija l-abbiltà li tuża netwerk estern wieħed mill-klijenti kollha, peress li n-netwerks esterni, jekk iridu jkunu validi fin-netwerk kollu, se jkunu diffiċli - għandek bżonn talloka u tikkontrolla kontinwament l-allokazzjoni ta' dawn in-netwerks. Il-ħila li tuża netwerk wieħed estern konfigurat minn qabel għall-klijenti kollha se tkun utli ħafna meta toħloq sħab pubbliku. Dan jagħmilha eħfef biex jintużaw magni għax m'għandniex għalfejn nikkonsultaw database ta' indirizzi u nagħżlu spazju ta' indirizz uniku għan-netwerk estern ta' kull klijent. Barra minn hekk, nistgħu nirreġistraw netwerk estern minn qabel u fil-ħin tal-iskjerament ikollna bżonn biss nassoċjaw indirizzi esterni ma 'magni tal-klijenti.

U hawnhekk in-NAT jiġi għall-għajnuna tagħna - aħna ser nagħmluha possibbli biss għall-klijenti li jaċċessaw id-dinja ta 'barra permezz tal-ispazju tal-isem default billi juża t-traduzzjoni NAT. Ukoll, hawn problema żgħira. Dan huwa tajjeb jekk il-client server jaġixxi bħala klijent u mhux bħala server - jiġifieri, jibda aktar milli jaċċetta konnessjonijiet. Imma għalina se jkun bil-maqlub. F'dan il-każ, irridu nagħmlu NAT tad-destinazzjoni sabiex meta nirċievu traffiku, in-nodu tal-kontroll jifhem li dan it-traffiku huwa maħsub għall-magna virtwali A tal-klijent A, li jfisser li għandna bżonn nagħmlu traduzzjoni NAT minn indirizz estern, pereżempju 100.1.1.1 .10.0.0.1, għal indirizz intern 100. F'dan il-każ, għalkemm il-klijenti kollha se jużaw l-istess netwerk, l-iżolament intern huwa kompletament ippreservat. Jiġifieri, għandna bżonn nagħmlu dNAT u sNAT fuq in-nodu tal-kontroll. Jekk tużax netwerk wieħed b'indirizzi floating jew netwerks esterni, jew it-tnejn f'daqqa, jiddependi fuq dak li trid iġġib fis-sħab. Aħna mhux se nżidu indirizzi f'wiċċ l-ilma mad-dijagramma, iżda se nħallu n-netwerks esterni diġà miżjuda qabel - kull klijent għandu n-netwerk estern tiegħu stess (fid-dijagramma huma indikati bħala vlan 200 u XNUMX fuq l-interface esterna).

Bħala riżultat, irċevejna soluzzjoni interessanti u fl-istess ħin maħsuba sew, li għandha ċerta flessibilità iżda għad m'għandhiex mekkaniżmi ta' tolleranza għall-ħsarat.

L-ewwelnett, għandna nodu ta 'kontroll wieħed biss - in-nuqqas tiegħu se jwassal għall-kollass tas-sistemi kollha. Biex tirranġa din il-problema, trid tagħmel mill-inqas kworum ta '3 nodi. Ejja nżidu dan mad-dijagramma:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Naturalment, in-nodi kollha huma sinkronizzati u meta nodu attiv jitlaq, nodu ieħor jieħu r-responsabbiltajiet tiegħu.

Il-problema li jmiss hija d-diski tal-magni virtwali. Fil-mument, huma maħżuna fuq l-hypervisors infushom, u f'każ ta 'problemi bl-hypervisor, aħna nitilfu d-dejta kollha - u l-preżenza ta' raid mhux se tgħin hawn jekk ma nitilfux id-diska, iżda s-server kollu. Biex nagħmlu dan, irridu nagħmlu servizz li jaġixxi bħala l-parti ta 'quddiem għal xi tip ta' ħażna. X'tip ta 'ħażna se tkun mhix partikolarment importanti għalina, iżda għandha tipproteġi d-dejta tagħna minn falliment kemm tad-diska kif ukoll tan-node, u possibbilment il-kabinett kollu. Hemm diversi għażliet hawn - hemm, ovvjament, netwerks SAN b'Fibre Channel, imma ejja nkunu onesti - FC diġà hija relikwa tal-passat - analogu ta 'E1 fit-trasport - iva, naqbel, għadu jintuża, iżda biss fejn huwa assolutament impossibbli mingħajrha. Għalhekk, ma nkunx volontarjament niskjera netwerk FC fl-2020, billi naf li hemm alternattivi oħra aktar interessanti. Għalkemm lil kull wieħed tiegħu, jista’ jkun hemm min jemmen li l-FC bil-limitazzjonijiet kollha tagħha hija kulma neħtieġu – mhux se nargumenta, kulħadd għandu l-opinjoni tiegħu. Madankollu, l-aktar soluzzjoni interessanti fl-opinjoni tiegħi hija li tuża SDS, bħal Ceph.

Ceph jippermettilek li tibni soluzzjoni ta' ħażna ta' data disponibbli ħafna b'mazz ta' għażliet ta' backup possibbli, li jibdew b'kodiċijiet b'kontroll tal-parità (analogu għal raid 5 jew 6) li jispiċċa b'replikazzjoni sħiħa tad-data għal diski differenti, b'kont meħud tal-post tad-diski f' servers, u servers fil-kabinetti, eċċ.

Biex tibni Ceph għandek bżonn 3 nodi oħra. L-interazzjoni mal-ħażna se ssir ukoll permezz tan-netwerk bl-użu ta’ servizzi ta’ ħażna ta’ blokki, oġġetti u fajls. Ejja nżidu l-ħażna fl-iskema:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Nota: tista 'wkoll tagħmel nodi ta' komputazzjoni iperkonverġenti - dan huwa l-kunċett li tgħaqqad diversi funzjonijiet fuq nodu wieħed - pereżempju, ħażna + komputazzjoni - mingħajr ma tiddedika nodi speċjali għall-ħażna ta 'ceph. Se niksbu l-istess skema li tollera l-ħsarat - peress li l-SDS se tirriserva d-dejta bil-livell ta’ riserva li nispeċifikaw. Madankollu, in-nodi iperkonverġenti huma dejjem kompromess - peress li n-nodu tal-ħażna mhux biss isaħħan l-arja kif jidher mal-ewwel daqqa t'għajn (peress li m'hemm l-ebda magni virtwali fuqu) - jonfoq ir-riżorsi tas-CPU fuq is-servizz tal-SDS (fil-fatt, jagħmel kollox ir-replikazzjoni u l-irkupru wara fallimenti ta 'nodi, diski, eċċ.). Jiġifieri, titlef ftit mis-saħħa tan-node tal-komputazzjoni jekk tgħaqqadha mal-ħażna.

Dan l-għalf kollu jeħtieġ li jiġi ġestit b'xi mod - neħtieġu xi ħaġa li permezz tagħha nistgħu noħolqu magna, netwerk, router virtwali, eċċ. Biex nagħmlu dan, se nżidu servizz man-node tal-kontroll li se jaġixxi bħala dashboard - il- Il-klijent ikun jista' jgħaqqad ma' dan il-portal permezz ta' http/ https u jagħmel dak kollu li għandu bżonn (tajjeb, kważi).

Bħala riżultat, issa għandna sistema li tollera l-ħsarat. L-elementi kollha ta' din l-infrastruttura jridu jiġu ġestiti b'xi mod. Kien deskritt qabel li Openstack huwa sett ta 'proġetti, li kull wieħed minnhom jipprovdi funzjoni speċifika. Kif naraw, hemm aktar minn biżżejjed elementi li jeħtieġ li jiġu kkonfigurati u kkontrollati. Illum se nitkellmu dwar il-parti tan-netwerk.

Arkitettura newtroni

F'OpenStack, huwa Neutron li huwa responsabbli għall-konnessjoni tal-portijiet tal-magni virtwali ma 'netwerk L2 komuni, li jiżgura r-rotot tat-traffiku bejn VMs li jinsabu fuq netwerks L2 differenti, kif ukoll rotta 'l barra, li tipprovdi servizzi bħal NAT, Floating IP, DHCP, eċċ.

F'livell għoli, l-operat tas-servizz tan-netwerk (il-parti bażika) jista 'jiġi deskritt kif ġej.

Meta tibda l-VM, is-servizz tan-netwerk:

  1. Joħloq port għal VM partikolari (jew portijiet) u jinnotifika lis-servizz DHCP dwaru;
  2. Jinħoloq apparat ta' netwerk virtwali ġdid (permezz ta' libvirt);
  3. Il-VM jgħaqqad mal-port(i) maħluqa fil-pass 1;

B'mod stramb, ix-xogħol ta' Neutron huwa bbażat fuq mekkaniżmi standard familjari għal kull min qatt għadda fil-Linux - namespaces, iptables, linux bridges, openvswitch, conntrack, eċċ.

Għandu jiġi ċċarat immedjatament li Neutron mhuwiex kontrollur SDN.

In-newtroni jikkonsisti f'diversi komponenti interkonnessi:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Openstack-newtron-server huwa daemon li jaħdem mat-talbiet tal-utenti permezz tal-API. Dan id-dimonju mhuwiex involut fir-reġistrazzjoni ta 'xi konnessjonijiet tan-netwerk, iżda jipprovdi l-informazzjoni meħtieġa għal dan lill-plugins tiegħu, li mbagħad jikkonfiguraw l-element tan-netwerk mixtieq. L-aġenti tan-newtroni fuq in-nodi OpenStack jirreġistraw mas-server tan-Newtron.

Newtron-server huwa fil-fatt applikazzjoni miktuba f'python, li tikkonsisti f'żewġ partijiet:

  • Servizz ta' REST
  • Plugin tan-newtroni (qalba/servizz)

Is-servizz REST huwa ddisinjat biex jirċievi sejħiet API minn komponenti oħra (pereżempju, talba biex tingħata xi informazzjoni, eċċ.)

Il-plugins huma komponenti/moduli ta' softwer plug-in li jissejħu waqt it-talbiet tal-API - jiġifieri, l-attribuzzjoni ta' servizz isseħħ permezz tagħhom. Il-plugins huma maqsuma f'żewġ tipi - servizz u għerq. Bħala regola, il-plugin taż-żwiemel huwa prinċipalment responsabbli għall-ġestjoni tal-ispazju tal-indirizzi u l-konnessjonijiet L2 bejn il-VMs, u l-plugins tas-servizz diġà jipprovdu funzjonalità addizzjonali bħal VPN jew FW.

Il-lista ta 'plugins disponibbli llum tista' tara per eżempju hawn

Jista 'jkun hemm diversi plugins tas-servizz, iżda jista' jkun hemm biss plugin wieħed taż-żwiemel.

openstack-newtron-ml2 huwa l-plugin standard tal-għeruq Openstack. Dan il-plugin għandu arkitettura modulari (b'differenza mill-predeċessur tiegħu) u jikkonfigura s-servizz tan-netwerk permezz ta 'sewwieqa konnessi miegħu. Aħna ser inħarsu lejn il-plugin innifsu ftit aktar tard, peress li fil-fatt jagħti l-flessibbiltà li OpenStack għandu fil-parti tan-netwerk. Il-plugin tal-għeruq jista 'jiġi sostitwit (per eżempju, Contrail Networking jagħmel tali sostituzzjoni).

Servizz RPC (rabbitmq-server) — servizz li jipprovdi ġestjoni tal-kju u interazzjoni ma’ servizzi OpenStack oħra, kif ukoll interazzjoni bejn l-aġenti tas-servizz tan-netwerk.

Aġenti tan-netwerk — aġenti li jinsabu f'kull nodu, li permezz tagħhom is-servizzi tan-netwerk huma kkonfigurati.

Hemm diversi tipi ta 'aġenti.

L-aġent ewlieni huwa Aġent L2. Dawn l-aġenti jimxu fuq kull wieħed mill-hypervisors, inklużi n-nodi tal-kontroll (b'mod aktar preċiż, fuq in-nodi kollha li jipprovdu kwalunkwe servizz għall-kerrejja) u l-funzjoni ewlenija tagħhom hija li jgħaqqdu magni virtwali ma' netwerk L2 komuni, u jiġġeneraw ukoll twissijiet meta jseħħu xi avveniment ( pereżempju tiddiżattiva/attiva l-port).

L-aġent li jmiss, mhux inqas importanti huwa Aġent L3. B'mod awtomatiku, dan l-aġent jaħdem esklussivament fuq node tan-netwerk (spiss in-nodu tan-netwerk huwa kkombinat ma 'nodu ta' kontroll) u jipprovdi rotta bejn in-netwerks tal-kerrejja (kemm bejn in-netwerks tiegħu kif ukoll in-netwerks ta 'kerrejja oħra, u huwa aċċessibbli għad-dinja ta' barra, billi jipprovdi NAT, kif ukoll servizz DHCP). Madankollu, meta tuża DVR (router distribwit), il-ħtieġa għal plugin L3 tidher ukoll fuq in-nodi tal-komputazzjoni.

L-aġent L3 juża namespaces tal-Linux biex jipprovdi lil kull kerrej b'sett tan-netwerks iżolati tiegħu stess u l-funzjonalità ta 'routers virtwali li jindirizzaw it-traffiku u jipprovdu servizzi ta' gateway għal netwerks ta 'Layer 2.

Database — database ta' identifikaturi ta' netwerks, subnets, portijiet, pools, eċċ.

Fil-fatt, Neutron jaċċetta talbiet API mill-ħolqien ta 'kwalunkwe entità tan-netwerk, jawtentika t-talba, u permezz ta' RPC (jekk jaċċessa xi plugin jew aġent) jew REST API (jekk jikkomunika f'SDN) jittrasmetti lill-aġenti (permezz ta 'plugins) il- istruzzjonijiet meħtieġa biex jiġi organizzat is-servizz mitlub.

Issa ejja nduru għall-installazzjoni tat-test (kif hija skjerata u x'inhu inkluż fiha, naraw aktar tard fil-parti prattika) u naraw fejn jinsab kull komponent:

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

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Fil-fatt, dik hija l-istruttura kollha ta 'Newtron. Issa ta 'min iqatta' ftit ħin fuq il-plugin ML2.

Saff Modulari 2

Kif imsemmi hawn fuq, il-plugin huwa plugin standard tal-għeruq OpenStack u għandu arkitettura modulari.

Il-predeċessur tal-plugin ML2 kellu struttura monolitika, li ma tippermettix, pereżempju, l-użu ta 'taħlita ta' diversi teknoloġiji f'installazzjoni waħda. Pereżempju, ma setgħetx tuża kemm openvswitch kif ukoll linuxbridge fl-istess ħin - la l-ewwel jew it-tieni. Għal din ir-raġuni, inħoloq il-plugin ML2 bl-arkitettura tiegħu.

ML2 għandu żewġ komponenti - żewġ tipi ta 'sewwieqa: sewwieqa tat-Tip u sewwieqa tal-Mekkaniżmu.

Sewwieqa tat-tip jiddeterminaw it-teknoloġiji li se jintużaw biex jiġu organizzati konnessjonijiet tan-netwerk, pereżempju VxLAN, VLAN, GRE. Fl-istess ħin, is-sewwieq jippermetti l-użu ta 'teknoloġiji differenti. It-teknoloġija standard hija inkapsulament VxLAN għal netwerks overlay u netwerks esterni vlan.

Is-sewwieqa tat-tip jinkludu t-tipi tan-netwerk li ġejjin:

Flat - netwerk mingħajr tikkettjar
VLAN - netwerk immarkat
Lokali — tip speċjali ta’ netwerk għal installazzjonijiet all-in-one (stallazzjonijiet bħal dawn huma meħtieġa jew għall-iżviluppaturi jew għat-taħriġ)
GRE — netwerk overlay li juża mini GRE
VxLAN — netwerk overlay li juża mini VxLAN

Sewwieqa tal-mekkaniżmu tiddefinixxi għodod li jiżguraw l-organizzazzjoni tat-teknoloġiji speċifikati fis-sewwieq tat-tip - pereżempju, openvswitch, sr-iov, opendaylight, OVN, eċċ.

Skont l-implimentazzjoni ta’ dan is-sewwieq, se jintużaw jew aġenti kkontrollati minn Neutron, jew se jintużaw konnessjonijiet ma’ kontrollur SDN estern, li jieħu ħsieb il-kwistjonijiet kollha relatati mal-organizzazzjoni tan-netwerks L2, ir-rotot, eċċ.

Eżempju: jekk nużaw ML2 flimkien ma 'OVS, allura aġent L2 jiġi installat fuq kull node tal-kompjuter li jamministra l-OVS. Madankollu, jekk nużaw, pereżempju, OVN jew OpenDayLight, allura l-kontroll tal-OVS jaqa 'taħt il-ġurisdizzjoni tagħhom - Neutron, permezz tal-plugin tal-għeruq, jagħti kmandi lill-kontrollur, u diġà jagħmel dak li qallu.

Ejja ngħixu fuq Open vSwitch

Bħalissa, wieħed mill-komponenti ewlenin ta 'OpenStack huwa Open vSwitch.
Meta tinstalla OpenStack mingħajr ebda SDN ta 'bejjiegħ addizzjonali bħal Juniper Contrail jew Nokia Nuage, OVS huwa l-komponent tan-netwerk ewlieni tan-netwerk tas-sħab u, flimkien ma' iptables, conntrack, namespaces, jippermettilek torganizza netwerks ta 'overlay b'ħafna kiri b'mod sħiħ. Naturalment, dan il-komponent jista 'jiġi sostitwit, pereżempju, meta jintużaw soluzzjonijiet SDN proprjetarji ta' partijiet terzi (bejjiegħ).

OVS huwa swiċċ ta' softwer ta' sors miftuħ li huwa ddisinjat għall-użu f'ambjenti virtwali bħala speditur tat-traffiku virtwali.

Bħalissa, OVS għandha funzjonalità deċenti ħafna, li tinkludi teknoloġiji bħal QoS, LACP, VLAN, VxLAN, GENEVE, OpenFlow, DPDK, eċċ.

Nota: OVS inizjalment ma kienx maħsub bħala soft switch għal funzjonijiet tat-telekomunikazzjoni mgħobbija ħafna u kien aktar iddisinjat għal funzjonijiet tal-IT li jirrikjedu inqas bandwidth bħal server WEB jew server tal-posta. Madankollu, OVS qed tiġi żviluppata aktar u l-implimentazzjonijiet attwali ta 'OVS tejbu ħafna l-prestazzjoni u l-kapaċitajiet tiegħu, li jippermettilu li jintuża minn operaturi tat-telekomunikazzjoni b'funzjonijiet mgħobbija ħafna, pereżempju, hemm implimentazzjoni OVS b'appoġġ għall-aċċelerazzjoni DPDK.

Hemm tliet komponenti importanti tal-OVS li trid tkun konxju minnhom:

  • Modulu tal-kernel — komponent li jinsab fl-ispazju tal-kernel li jipproċessa t-traffiku abbażi tar-regoli riċevuti mill-element ta' kontroll;
  • vSwitch daemon (ovs-vswitchd) huwa proċess imniedi fl-ispazju tal-utent li huwa responsabbli għall-ipprogrammar tal-modulu tal-kernel - jiġifieri jirrappreżenta direttament il-loġika tal-operat tal-iswiċċ
  • Server tad-database - database lokali li tinsab fuq kull host li jħaddem OVS, li fiha tinħażen il-konfigurazzjoni. Kontrolluri SDN jistgħu jikkomunikaw permezz ta 'dan il-modulu bl-użu tal-protokoll OVSDB.

Dan kollu huwa akkumpanjat minn sett ta 'utilitajiet dijanjostiċi u ta' ġestjoni, bħal ovs-vsctl, ovs-appctl, ovs-ofctl, eċċ.

Bħalissa, Openstack huwa użat ħafna mill-operaturi tat-telekomunikazzjoni biex jemigraw il-funzjonijiet tan-netwerk lejh, bħal EPC, SBC, HLR, eċċ. Xi funzjonijiet jistgħu jgħixu mingħajr problemi ma 'OVS kif inhu, iżda pereżempju, EPC jipproċessa t-traffiku tal-abbonati - imbagħad jgħaddi minnu. ammont kbir ta 'traffiku (issa l-volumi tat-traffiku jilħqu diversi mijiet ta' gigabits kull sekonda). Naturalment, is-sewqan ta 'traffiku bħal dan fl-ispazju tal-qalba (peress li l-ispeditur jinsab hemm awtomatikament) mhix l-aħjar idea. Għalhekk, OVS spiss jiġi skjerat kompletament fl-ispazju tal-utent bl-użu tat-teknoloġija tal-aċċelerazzjoni DPDK biex tgħaddi t-traffiku minn NIC għall-ispazju tal-utent billi tevita l-kernel.

Nota: għal sħaba skjerata għal funzjonijiet tat-telekomunikazzjoni, huwa possibbli li joħroġ traffiku minn nodu ta' komputazzjoni li jinjora l-OVS direttament għal tagħmir ta' swiċċjar. Għal dan il-għan jintużaw mekkaniżmi SR-IOV u Passthrough.

Kif jaħdem dan fuq tqassim reali?

Ukoll, issa ejja ngħaddu għall-parti prattika u naraw kif jaħdem kollox fil-prattika.

L-ewwel, ejja nużaw installazzjoni sempliċi Openstack. Peress li m'għandix sett ta 'servers f'idejna għall-esperimenti, aħna se niġbru l-prototip fuq server fiżiku wieħed minn magni virtwali. Iva, naturalment, soluzzjoni bħal din mhix adattata għal skopijiet kummerċjali, iżda biex tara eżempju ta 'kif jaħdem in-netwerk f'Openstack, installazzjoni bħal din hija biżżejjed għall-għajnejn. Barra minn hekk, installazzjoni bħal din hija saħansitra aktar interessanti għal skopijiet ta 'taħriġ - peress li tista' taqbad it-traffiku, eċċ.

Peress li rridu naraw biss il-parti bażika, ma nistgħux nużaw diversi netwerks iżda ngħollu kollox bl-użu ta 'żewġ netwerks biss, u t-tieni netwerk f'dan it-tqassim se jintuża esklussivament għall-aċċess għas-server undercloud u DNS. Mhux se nmissu netwerks esterni għalissa - dan huwa suġġett għal artiklu kbir separat.

Allura, ejja nibdew fl-ordni. L-ewwel, ftit teorija. Se ninstallaw Openstack billi nużaw TripleO (Openstack fuq Openstack). L-essenza ta 'TripleO hija li ninstallaw Openstack all-in-one (jiġifieri, fuq nodu wieħed), imsejjaħ undercloud, u mbagħad nużaw il-kapaċitajiet tal-Openstack skjerat biex ninstallaw Openstack maħsub għall-operazzjoni, imsejjaħ overcloud. Undercloud se juża l-kapaċità inerenti tiegħu biex jimmaniġġja servers fiżiċi (bare metal) - il-proġett Ironic - biex jipprovdi hypervisors li se jwettqu r-rwoli ta 'komputazzjoni, kontroll, nodi tal-ħażna. Jiġifieri ma nużaw l-ebda għodda ta 'parti terza biex niskjeraw Openstack - aħna niskjeraw Openstack billi nużaw Openstack. Se jsir ħafna aktar ċar hekk kif l-installazzjoni timxi 'l quddiem, għalhekk mhux se nieqfu hemm u nimxu 'l quddiem.

Nota: F'dan l-artikolu, għal raġunijiet ta 'sempliċità, ma użajtx iżolament tan-netwerk għal netwerks interni Openstack, iżda kollox huwa skjerat bl-użu ta' netwerk wieħed biss. Madankollu, il-preżenza jew in-nuqqas ta 'iżolament tan-netwerk ma jaffettwax il-funzjonalità bażika tas-soluzzjoni - kollox se jaħdem eżattament l-istess bħal meta tuża l-iżolament, iżda t-traffiku se jiċċirkola fuq l-istess netwerk. Għal installazzjoni kummerċjali, huwa naturalment meħtieġ li tuża l-iżolament bl-użu ta 'vlans u interfaces differenti. Pereżempju, it-traffiku tal-ġestjoni tal-ħażna ta 'ceph u t-traffiku tad-dejta nnifsu (aċċess tal-magni għal diski, eċċ.) Meta iżolat juża subnets differenti (ġestjoni tal-Ħżin u Ħażna) u dan jippermettilek tagħmel is-soluzzjoni aktar tolleranti għall-ħsarat billi taqsam dan it-traffiku, pereżempju , tul portijiet differenti, jew billi tuża profili QoS differenti għal traffiku differenti sabiex it-traffiku tad-dejta ma jagħfasx it-traffiku tas-sinjalar. Fil-każ tagħna, se jmorru fuq l-istess netwerk u fil-fatt dan ma jillimitana bl-ebda mod.

Nota: Peress li se nħaddmu magni virtwali f'ambjent virtwali bbażat fuq magni virtwali, l-ewwel jeħtieġ li nippermettu virtwalizzazzjoni nested.

Tista 'tiċċekkja jekk il-virtwalizzazzjoni nested hijiex attivata jew le bħal din:


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

Jekk tara l-ittra N, allura nippermettu appoġġ għall-virtwalizzazzjoni nested skont kwalunkwe gwida li ssib fuq in-netwerk, pereżempju bħal .

Għandna bżonn niġbru ċ-ċirkwit li ġej minn magni virtwali:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Fil-każ tiegħi, biex tgħaqqad il-magni virtwali li huma parti mill-installazzjoni futura (u sibt 7 minnhom, iżda tista 'tmur b'4 jekk ma jkollokx ħafna riżorsi), użajt OpenvSwitch. Ħloqt wieħed ovs bridge u qabbad magni virtwali miegħu permezz ta 'port-groups. Biex tagħmel dan, ħloqt fajl xml bħal dan:


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

Tliet gruppi tal-port huma ddikjarati hawn - żewġ aċċess u trunk wieħed (dan tal-aħħar kien meħtieġ għas-server DNS, iżda tista 'tagħmel mingħajrha, jew tinstallaha fuq il-magna ospitanti - liema minnhom ikun aktar konvenjenti għalik). Sussegwentement, billi nużaw dan il-mudell, aħna niddikjaraw tagħna permezz ta 'virsh net-define:


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

Issa neditjaw il-konfigurazzjonijiet tal-port tal-hypervisor:


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

Nota: f'dan ix-xenarju, l-indirizz fuq il-port ovs-br1 mhux se jkun aċċessibbli minħabba li m'għandux tikketta vlan. Biex tirranġa dan, trid toħroġ il-kmand sudo ovs-vsctl set port ovs-br1 tag=100. Madankollu, wara reboot, din it-tikketta se tisparixxi (jekk xi ħadd jaf kif jagħmilha tibqa 'f'postu, inkun grat ħafna). Iżda dan mhux daqshekk importanti, għaliex se jkollna bżonn dan l-indirizz biss waqt l-installazzjoni u mhux se jkollna bżonnu meta Openstack jiġi skjerat bis-sħiħ.

Sussegwentement, noħolqu magna 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

Matul l-installazzjoni, inti tissettja l-parametri kollha meħtieġa, bħall-isem tal-magna, passwords, utenti, servers ntp, eċċ., Tista 'immedjatament tikkonfigura l-portijiet, iżda għalija personalment, wara l-installazzjoni, huwa aktar faċli li tidħol fil-magna permezz il-console u kkoreġi l-fajls meħtieġa. Jekk diġà għandek immaġni lesta, tista 'tużaha, jew tagħmel dak li għamilt jien - niżżel l-immaġni minima Centos 7 u użaha biex tinstalla l-VM.

Wara installazzjoni b'suċċess, għandu jkollok magna virtwali li fuqha tista 'tinstalla undercloud


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

L-ewwel, installa l-għodda meħtieġa għall-proċess ta 'installazzjoni:

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

Installazzjoni taħt is-sħab

Aħna noħolqu utent tal-munzell, nissettjaw password, inżiduha ma' sudoer u nagħtuh il-kapaċità li jesegwixxi kmandi tal-għeruq permezz ta' sudo mingħajr ma jkollok bżonn tidħol password:


useradd stack
passwd stack

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

Issa aħna nispeċifikaw l-isem sħiħ tal-undercloud fil-fajl hosts:


vi /etc/hosts

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

Sussegwentement, inżidu repożitorji u ninstallaw is-softwer li għandna bżonn:


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

Nota: jekk ma tippjanax li tinstalla ceph, allura m'għandekx bżonn li ddaħħal kmandi relatati ma 'ceph. Jien użajt ir-rilaxx Queens, imma tista' tuża kwalunkwe oħra li tixtieq.

Sussegwentement, ikkopja l-fajl tal-konfigurazzjoni undercloud fil-munzell tad-direttorju tad-dar tal-utent:


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

Issa rridu nikkoreġu dan il-fajl, billi naġġustah għall-installazzjoni tagħna.

Trid iżżid dawn il-linji fil-bidu tal-fajl:

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

Allura, ejja ngħaddu mill-issettjar:

undercloud_hostname — l-isem sħiħ tas-server undercloud, irid jaqbel mad-dħul fis-server DNS

lokali_ip — indirizz undercloud lokali lejn il-forniment tan-netwerk

network_gateway — l-istess indirizz lokali, li se jaġixxi bħala portal għall-aċċess għad-dinja ta’ barra waqt l-installazzjoni ta’ nodi ta’ overcloud, jikkoinċidi wkoll mal-ip lokali

undercloud_public_host — indirizz estern tal-API, kull indirizz ħieles min-netwerk tal-forniment huwa assenjat

undercloud_admin_host indirizz intern tal-API, kull indirizz ħieles min-netwerk tal-forniment huwa assenjat

undercloud_nameservers - Server DNS

genera_service_certificat - din il-linja hija importanti ħafna fl-eżempju attwali, għaliex jekk ma tissettjax bħala falza tirċievi żball waqt l-installazzjoni, il-problema hija deskritta fuq il-bug tracker Red Hat

local_interface interface fil-forniment tan-netwerk. Din l-interface se tiġi kkonfigurata mill-ġdid waqt l-iskjerament tal-undercloud, għalhekk jeħtieġ li jkollok żewġ interfaces fuq undercloud - waħda għall-aċċess għaliha, it-tieni għall-forniment.

lokali_mtu — MTU. Peress li għandna laboratorju tat-test u għandi MTU ta' 1500 fuq il-portijiet tal-iswiċċ OVS, huwa meħtieġ li nissettjah għal 1450 sabiex il-pakketti inkapsulati f'VxLAN ikunu jistgħu jgħaddu.

network_cidr — netwerk ta' forniment

masquerade — l-użu tan-NAT biex jaċċessa netwerk estern

masquerade_network - netwerk li se jkun NATed

dhcp_start — l-indirizz tal-bidu tal-grupp ta' indirizzi li minnu l-indirizzi se jiġu assenjati lin-nodi waqt l-iskjerament ta' overcloud

dhcp_end — l-indirizz finali tal-grupp ta’ indirizzi li minnu l-indirizzi se jiġu assenjati lin-nodi waqt l-iskjerament ta’ overcloud

inspection_iprange — ġabra ta' indirizzi meħtieġa għall-introspezzjoni (m'għandhomx jikkoinċidu mal-ġabra ta' hawn fuq)

scheduler_max_attempts — numru massimu ta’ tentattivi biex tinstalla overcloud (għandu jkun akbar minn jew ugwali għan-numru ta’ nodi)

Wara li l-fajl jiġi deskritt, tista 'tagħti l-kmand biex tuża undercloud:


openstack undercloud install

Il-proċedura tieħu minn 10 sa 30 minuta skond il-ħadid tiegħek. Fl-aħħar mill-aħħar għandek tara output bħal dan:

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.

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

Dan l-output jgħid li installajt b'suċċess undercloud u issa tista 'tiċċekkja l-istatus ta' undercloud u tipproċedi biex tinstalla overcloud.

Jekk tħares lejn l-output ifconfig, se tara li deher interface ġdid tal-pont

[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

L-iskjerament ta 'overcloud issa se jitwettaq permezz ta' din l-interface.

Mill-output hawn taħt tista 'tara li għandna s-servizzi kollha fuq node wieħed:

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

Hawn taħt tinsab il-konfigurazzjoni tal-parti tan-netwerk undercloud:


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

Installazzjoni ta' overcloud

Bħalissa għandna biss undercloud, u m'għandniex biżżejjed nodi li minnhom se jiġi mmuntat l-overcloud. Għalhekk, l-ewwelnett, ejja nużaw il-magni virtwali li għandna bżonn. Matul l-iskjerament, undercloud innifsu se jinstalla l-OS u s-softwer meħtieġ fuq il-magna overcloud - jiġifieri, m'għandniex bżonn niskjeraw kompletament il-magna, iżda toħloq biss disk (jew diski) għaliha u tiddetermina l-parametri tagħha - jiġifieri , fil-fatt, ikollna server vojt mingħajr OS installat fuqu.

Ejja mmorru fil-folder bid-diski tal-magni virtwali tagħna u noħolqu diski tad-daqs meħtieġ:


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

Peress li qed noperaw bħala root, għandna bżonn nibdlu s-sid ta 'dawn id-diski sabiex ma jkollnax problema bid-drittijiet:


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

Nota: jekk ma tippjanax li tinstalla ceph sabiex tistudjah, allura l-kmandi ma joħolqux mill-inqas 3 nodi b'mill-inqas żewġ diski, iżda fil-mudell indika li se jintużaw diski virtwali vda, vdb, eċċ.

Kbir, issa għandna bżonn niddefinixxu dawn il-magni kollha:


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 

Fl-aħħar hemm kmand -print-xml > /tmp/storage-1.xml, li joħloq fajl xml b'deskrizzjoni ta' kull magna fil-folder /tmp/; jekk ma żżidhiex, ma tkunx kapaċi jidentifikaw magni virtwali.

Issa rridu niddefinixxu dawn il-magni kollha f'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 ~]#

Issa sfumatura żgħira - tripleO juża IPMI biex jimmaniġġja s-servers waqt l-installazzjoni u l-introspezzjoni.

L-introspezzjoni hija l-proċess ta 'spezzjonar tal-ħardwer sabiex jinkisbu l-parametri tiegħu meħtieġa għal aktar forniment ta' nodi. L-introspezzjoni titwettaq bl-użu ta 'ironika, servizz iddisinjat biex jaħdem ma' servers tal-metall vojt.

Imma hawn il-problema - filwaqt li s-servers tal-hardware IPMI għandhom port separat (jew port kondiviż, iżda dan mhux importanti), allura l-magni virtwali m'għandhomx portijiet bħal dawn. Hawn crutch msejħa vbmc tiġi għall-għajnuna tagħna - utilità li tippermettilek timita port IPMI. Din is-sfumatura ta’ min joqgħod attent għaliha speċjalment għal dawk li jridu jwaqqfu laboratorju bħal dan fuq hypervisor ESXI - biex inkun onest, ma nafx jekk għandux analogu ta’ vbmc, għalhekk ta’ min jistaqsi dwar din il-kwistjoni qabel ma jħaddan kollox .

Installa vbmc:


yum install yum install python2-virtualbmc

Jekk l-OS tiegħek ma tistax issib il-pakkett, imbagħad żid ir-repożitorju:

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

Issa waqqafna l-utilità. Kollox hawnhekk huwa banali sal-punt tal-għajb. Issa huwa loġiku li m'hemm l-ebda servers fil-lista vbmc


[root@hp-gen9 ~]# vbmc list

[root@hp-gen9 ~]# 

Biex jidhru, iridu jiġu ddikjarati manwalment hekk:


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

Naħseb li s-sintassi tal-kmand hija ċara mingħajr spjegazzjoni. Madankollu, għalissa s-sessjonijiet kollha tagħna huma fi status DOWN. Biex dawn jimxu għall-istatus UP, trid tagħmilhom:


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

U l-mess finali - għandek bżonn tikkoreġi r-regoli tal-firewall (jew tiddiżattivaha kompletament):


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

Issa ejja mmorru taħt is-sħab u niċċekkjaw li kollox qed jaħdem. L-indirizz tal-magna ospitanti huwa 192.168.255.200, fuq undercloud żidna l-pakkett ipmitool meħtieġ waqt il-preparazzjoni għall-iskjerament:


[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

Kif tistgħu taraw, nedejna b'suċċess in-node ta 'kontroll permezz ta' vbmc. Issa ejja itfih u nimxu 'l quddiem:


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

Il-pass li jmiss huwa l-introspezzjoni tan-nodi li fuqhom se jiġi installat overcloud. Biex nagħmlu dan, għandna bżonn nippreparaw fajl json b'deskrizzjoni tan-nodi tagħna. Jekk jogħġbok innota li, b'differenza mill-installazzjoni fuq servers vojta, il-fajl jindika l-port li fuqu qed jaħdem vbmc għal kull magna.


[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

Nota: in-node ta 'kontroll għandu żewġ interfaces, iżda f'dan il-każ dan mhux importanti, f'din l-installazzjoni waħda tkun biżżejjed għalina.

Issa nippreparaw il-fajl json. Irridu nindikaw l-indirizz tal-peprin tal-port li minnu se jitwettaq il-forniment, il-parametri tan-nodi, agħtihom l-ismijiet u indika kif tasal għall-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"
        }
    ]
}

Issa rridu nippreparaw immaġini għall-ironika. Biex tagħmel dan, niżżelhom permezz ta' wget u installa:

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

Tlugħ ta' immaġini f'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 ~]$

Iċċekkja li l-immaġini kollha jkunu mgħobbija


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

Ħaġa oħra - trid iżżid server DNS:


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

Issa nistgħu nagħtu l-kmand għall-introspezzjoni:

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

Kif tistgħu taraw mill-output, kollox tlesta mingħajr żbalji. Ejja niċċekkjaw li n-nodi kollha jkunu fl-istat disponibbli:


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

Jekk in-nodi huma fi stat differenti, ġeneralment maniġġabbli, allura xi ħaġa marret ħażin u għandek bżonn tħares lejn il-ġurnal u tara għaliex dan ġara. Żomm f'moħħok li f'dan ix-xenarju qed nużaw il-virtwalizzazzjoni u jista 'jkun hemm bugs assoċjati mal-użu ta' magni virtwali jew vbmc.

Sussegwentement, irridu nindikaw liema node se jwettaq liema funzjoni - jiġifieri, indika l-profil li bih in-nodu se juża:


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

Speċifika l-profil għal kull nodu:


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

Ejja niċċekkjaw li għamilna kollox b'mod korrett:


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

Jekk kollox huwa korrett, aħna nagħtu l-kmand biex niskjeraw 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

F'installazzjoni reali, mudelli personalizzati se jintużaw naturalment, fil-każ tagħna dan se jikkomplika ħafna l-proċess, peress li kull editjar fil-mudell se jkollu jiġi spjegat. Kif inkiteb qabel, anke installazzjoni sempliċi tkun biżżejjed biex naraw kif taħdem.

Nota: il-varjabbli --libvirt-type qemu hija meħtieġa f'dan il-każ, peress li se nużaw virtwalizzazzjoni nested. Inkella, ma tkunx tista' tħaddem magni virtwali.

Issa għandek madwar siegħa, jew forsi aktar (skond il-kapaċitajiet tal-hardware) u tista 'biss tittama li wara dan iż-żmien tara l-messaġġ li ġej:


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

Issa għandek verżjoni kważi sħiħa ta 'openstack, li fuqha tista' tistudja, tesperimenta, eċċ.

Ejja niċċekkjaw li kollox qed jaħdem sew. Fil-munzell tad-direttorju tad-dar tal-utent hemm żewġ fajls - wieħed stackrc (għall-ġestjoni ta 'undercloud) u t-tieni overcloudrc (għall-ġestjoni ta' overcloud). Dawn il-fajls għandhom jiġu speċifikati bħala sors, peress li fihom informazzjoni meħtieġa għall-awtentikazzjoni.


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

L-installazzjoni tiegħi għadha teħtieġ touch żgħir wieħed - iżżid rotta fuq il-kontrollur, peress li l-magna li qed naħdem magħha hija fuq netwerk differenti. Biex tagħmel dan, mur control-1 taħt il-kont heat-admin u rreġistra r-rotta


(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

Ukoll, issa tista 'tmur fl-orizzont. L-informazzjoni kollha - indirizzi, login u password - tinsab fil-fajl /home/stack/overcloudrc. Id-dijagramma finali tidher bħal din:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Mill-mod, fl-installazzjoni tagħna, l-indirizzi tal-magni nħarġu permezz tad-DHCP u, kif tistgħu taraw, jinħarġu "b'mod każwali". Tista' tiddefinixxi b'mod strett fil-mudell liema indirizz għandu jkun mehmuż ma' liema magna waqt l-iskjerament, jekk ikollok bżonnha.

Kif jgħaddi t-traffiku bejn magni virtwali?

F'dan l-artikolu se nħarsu lejn tliet għażliet għat-traffiku li jgħaddi

  • Żewġ magni fuq hypervisor wieħed fuq netwerk L2 wieħed
  • Żewġ magni fuq hypervisors differenti fuq l-istess netwerk L2
  • Żewġ magni fuq netwerks differenti (cross-network rooting)

Każijiet b'aċċess għad-dinja ta 'barra permezz ta' netwerk estern, bl-użu ta 'indirizzi f'wiċċ l-ilma, kif ukoll routing distribwit, se nikkunsidraw il-ħin li jmiss, għalissa se niffukaw fuq it-traffiku intern.

Biex tiċċekkja, ejja ngħaqqdu d-dijagramma li ġejja:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Ħloqna 4 magni virtwali - 3 fuq netwerk L2 wieħed - net-1, u 1 aktar fuq in-netwerk net-2

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

Ejja naraw fuq liema hypervisors jinsabu l-magni maħluqa:

(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) [munzell@undercloud ~]$
Il-magni vm-1 u vm-3 jinsabu fuq compute-0, il-magni vm-2 u vm-4 jinsabu fuq in-node compute-1.

Barra minn hekk, inħoloq router virtwali biex jippermetti r-rotot bejn in-netwerks speċifikati:

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

Ir-router għandu żewġ portijiet virtwali, li jaġixxu bħala gateways għan-netwerks:

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

Iżda qabel ma nħarsu lejn kif il-flussi tat-traffiku, ejja nħarsu lejn dak li għandna bħalissa fuq in-node ta 'kontroll (li huwa wkoll node tan-netwerk) u fuq in-nodu tal-komputazzjoni. Ejja nibdew bin-node tal-komputazzjoni.


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

Fil-mument, in-node għandu tliet pontijiet ovs - br-int, br-tun, br-ex. Bejniethom, kif naraw, hemm sett ta 'interfaces. Għal faċilità ta 'fehim, ejja nippjanaw dawn l-interfaces kollha fuq id-dijagramma u naraw x'jiġri.

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Meta wieħed iħares lejn l-indirizzi li għalihom il-mini VxLAN huma mqajma, jista 'jara li mina waħda tittella' biex tikkalkula-1 (192.168.255.26), it-tieni mina tħares lejn kontroll-1 (192.168.255.15). Iżda l-iktar ħaġa interessanti hija li br-ex m'għandux interfaces fiżiċi, u jekk tħares lejn liema flussi huma kkonfigurati, tista 'tara li dan il-pont jista' biss iwaqqa 'traffiku fil-mument.


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

Kif tistgħu taraw mill-output, l-indirizz huwa invitat direttament lill-port fiżiku, u mhux lill-interface tal-pont virtwali.


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

Skont l-ewwel regola, dak kollu li ġie mill-port phy-br-ex għandu jintrema.
Attwalment, bħalissa m'hemm imkien ieħor għat-traffiku li jidħol f'dan il-pont ħlief minn din l-interface (l-interface ma 'br-int), u ġġudikati mill-qtar, it-traffiku BUM diġà ttajjar fil-pont.

Jiġifieri, it-traffiku jista 'jħalli dan in-node biss permezz tal-mina VxLAN u xejn aktar. Madankollu, jekk tixgħel id-DVR, is-sitwazzjoni tinbidel, iżda aħna nittrattaw dan darba oħra. Meta tuża l-iżolament tan-netwerk, pereżempju bl-użu ta 'vlans, ser ikollok mhux interface L3 wieħed f'vlan 0, iżda diversi interfaces. Madankollu, it-traffiku VxLAN se jħalli n-node bl-istess mod, iżda wkoll inkapsulat f'xi tip ta 'vlan dedikat.

Aħna rranġajna n-node tal-komputazzjoni, ejja nimxu fuq in-nodu tal-kontroll.


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

Fil-fatt, nistgħu ngħidu li kollox huwa l-istess, iżda l-indirizz IP m'għadux fuq l-interface fiżika iżda fuq il-pont virtwali. Dan isir għaliex dan il-port huwa l-port li minnu se joħroġ it-traffiku lejn id-dinja ta’ barra.


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

Dan il-port huwa marbut mal-pont br-ex u peress li m'hemm l-ebda tags vlan fuqu, dan il-port huwa port trunk li fuqu huma permessi l-vlans kollha, issa t-traffiku joħroġ barra mingħajr tag, kif indikat minn vlan-id 0 fil- output hawn fuq.

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Kollox ieħor fil-mument huwa simili għall-compute node - l-istess pontijiet, l-istess mini li jmorru għal żewġ compute nodes.

Mhux se nikkunsidraw in-nodi tal-ħażna f'dan l-artikolu, iżda biex nifhmu huwa meħtieġ li ngħidu li l-parti tan-netwerk ta 'dawn in-nodi hija banali sal-punt ta' disgrace. Fil-każ tagħna, hemm port fiżiku wieħed biss (eth0) b'indirizz IP assenjat lilu u dak hu. M'hemm l-ebda mini VxLAN, pontijiet tal-mini, eċċ - m'hemm l-ebda ovs fil-livelli kollha, peress li m'hemm l-ebda punt fiha. Meta tuża l-iżolament tan-netwerk, dan in-node se jkollu żewġ interfaces (portijiet fiżiċi, bodny, jew żewġ vlans biss - ma jimpurtax - jiddependi fuq dak li trid) - waħda għall-ġestjoni, it-tieni għat-traffiku (kitba fuq id-diska VM , qari minn disk, eċċ.)

Aħna dehret dak li għandna fuq in-nodi fin-nuqqas ta 'xi servizzi. Issa ejja nniedu 4 magni virtwali u naraw kif tinbidel l-iskema deskritta hawn fuq - għandu jkollna portijiet, routers virtwali, eċċ.

S'issa n-netwerk tagħna jidher bħal dan:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Għandna żewġ magni virtwali fuq kull node tal-kompjuter. Billi tuża compute-0 bħala eżempju, ejja naraw kif kollox huwa inkluż.


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

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

Il-magna għandha interface virtwali waħda biss - 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 ~]$ 

Din l-interface tidher fil-pont linux:

[heat-admin@overcloud-novacompute-0 ~]$ sudo brctl show
bridge name     bridge id               STP enabled     interfaces
docker0         8000.0242904c92a8       no
qbr5bd37136-47          8000.5e4e05841423       no              qvb5bd37136-47
                                                        tap5bd37136-47
qbr95d96a75-a0          8000.de076cb850f6       no              qvb95d96a75-a0
                                                        tap95d96a75-a0
[heat-admin@overcloud-novacompute-0 ~]$ 

Kif tistgħu taraw mill-output, hemm biss żewġ interfaces fil-pont - tap95d96a75-a0 u qvb95d96a75-a0.

Hawnhekk ta 'min joqgħod ftit fuq it-tipi ta' tagħmir tan-netwerk virtwali f'OpenStack:
vtap - interface virtwali mehmuża ma' istanza (VM)
qbr - Linux pont
qvb u qvo - par vEth konnessi ma 'Linux bridge u Open vSwitch bridge
br-int, br-tun, br-vlan — Iftaħ pontijiet vSwitch
patch-, int-br-, phy-br- - Iftaħ l-interfaces tal-garża vSwitch li jgħaqqdu l-pontijiet
qg, qr, ha, fg, sg - Iftaħ portijiet vSwitch użati minn apparati virtwali biex jgħaqqdu ma' OVS

Kif tifhem, jekk ikollna port qvb95d96a75-a0 fil-pont, li huwa par vEth, allura x'imkien hemm il-kontroparti tagħha, li loġikament għandha tissejjaħ qvo95d96a75-a0. Ejja nħarsu lejn liema portijiet huma fuq 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 ~]$ 

Kif nistgħu naraw, il-port huwa fil-br-int. Br-int jaġixxi bħala swiċċ li jtemm il-portijiet tal-magni virtwali. Minbarra qvo95d96a75-a0, il-port qvo5bd37136-47 huwa viżibbli fl-output. Dan huwa l-port għat-tieni magna virtwali. Bħala riżultat, id-dijagramma tagħna issa tidher bħal din:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Mistoqsija li għandha immedjatament tinteressa lill-qarrej attent - x'inhu l-pont linux bejn il-port tal-magna virtwali u l-port OVS? Il-fatt hu li biex jipproteġu l-magna, jintużaw gruppi ta 'sigurtà, li huma xejn aktar minn iptables. OVS ma taħdimx ma 'iptables, għalhekk din il-"crutch" ġiet ivvintata. Madankollu, qed isir skadut - qed jiġi sostitwit minn conntrack fi ħarġiet ġodda.

Jiġifieri, fl-aħħar mill-aħħar l-iskema tidher bħal din:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Żewġ magni fuq hypervisor wieħed fuq netwerk L2 wieħed

Peress li dawn iż-żewġ VMs jinsabu fuq l-istess netwerk L2 u fuq l-istess hypervisor, it-traffiku bejniethom loġikament jgħaddi lokalment minn br-int, peress li ż-żewġ magni se jkunu fuq l-istess 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 ~]$ 

Żewġ magni fuq hypervisors differenti fuq l-istess netwerk L2

Issa ejja naraw kif it-traffiku se jmur bejn żewġ magni fuq l-istess netwerk L2, iżda li jinsabu fuq hypervisors differenti. Biex inkun onest, xejn mhu se jinbidel ħafna, biss it-traffiku bejn l-hypervisors se jgħaddi mill-mina vxlan. Ejja nħarsu lejn eżempju.

Indirizzi ta' magni virtwali li bejniethom se naraw it-traffiku:

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

Inħarsu lejn it-tabella tat-trażmissjoni f'br-int fuq compute-0:

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

It-traffiku għandu jmur fil-port 2 - ejja naraw x'tip ta' port huwa:

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

Dan huwa patch-tun - jiġifieri, l-interface f'br-tun. Ejja naraw x'jiġri mill-pakkett fuq 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 ~]$ 

Il-pakkett huwa ppakkjat f'VxLAN u mibgħut fil-port 2. Ejja naraw fejn il-port 2 iwassal:

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

Din hija mina vxlan fuq compute-1:

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

Ejja mmorru għal compute-1 u naraw x'jiġri wara bil-pakkett:

[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 jinsab fit-tabella tat-trażmissjoni br-int fuq compute-1, u kif jidher mill-output ta 'hawn fuq, huwa viżibbli mill-port 2, li huwa l-port lejn 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

Ukoll, allura naraw li f'br-int fuq compute-1 hemm peprin tad-destinazzjoni:

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

Jiġifieri, il-pakkett riċevut se jtir lejn il-port 3, li warajh diġà hemm magna virtwali istanza-00000003.

Is-sbuħija tal-iskjerament ta' Openstack għat-tagħlim fuq infrastruttura virtwali hija li nistgħu faċilment naqbdu t-traffiku bejn l-iperviżuri u naraw x'qed jiġri bih. Dan huwa dak li se nagħmlu issa, ħaddem tcpdump fuq il-port vnet lejn compute-0:


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

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

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

L-ewwel linja turi li Patek mill-indirizz 10.0.1.85 imur għall-indirizz 10.0.1.88 (traffiku ICMP), u huwa mgeżwer f'pakkett VxLAN b'vni 22 u l-pakkett imur minn host 192.168.255.19 (compute-0) għal host 192.168.255.26. .1 ( ikkalkula-XNUMX). Nistgħu niċċekkjaw li l-VNI jaqbel ma' dak speċifikat f'ovs.

Ejja nerġgħu lura għal din il-linja actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:2. 0x16 huwa vni fis-sistema tan-numri eżadeċimali. Ejja nikkonverti dan in-numru għall-16 sistema:


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

Jiġifieri vni tikkorrispondi mar-realtà.

It-tieni linja turi traffiku tar-ritorn, ukoll, m'hemmx għalfejn tispjegah, kollox huwa ċar hemmhekk.

Żewġ magni fuq netwerks differenti (rotot bejn in-netwerk)

L-aħħar każ għal-lum huwa r-rotot bejn in-netwerks fi ħdan proġett wieħed bl-użu ta 'router virtwali. Qed nikkunsidraw każ mingħajr DVR (se nħarsu lejh f'artiklu ieħor), għalhekk ir-rotot iseħħ fuq in-nodu tan-netwerk. Fil-każ tagħna, in-nodu tan-netwerk mhuwiex imqiegħed f'entità separata u jinsab fuq in-nodu ta 'kontroll.

L-ewwel, ejja naraw li r-rotot jaħdem:

$ 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

Peress li f'dan il-każ il-pakkett irid imur lejn il-gateway u jiġi mgħoddi hemmhekk, irridu nsiru nafu l-indirizz tal-peprin tal-gateway, li għalih inħarsu lejn it-tabella ARP fil-każ:

$ 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

Issa ejja naraw fejn għandu jintbagħat it-traffiku bid-destinazzjoni (10.0.1.254) fa:16:3e:c4:64:70:

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

Ejja nħarsu lejn fejn iwassal il-port 2:

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

Kollox loġiku, it-traffiku jmur br-tun. Ejja naraw f'liema mina vxlan se tkun imgeżwer:

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

It-tielet port huwa mina vxlan:

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

Li tħares lejn in-nodu tal-kontroll:

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

It-traffiku laħaq in-nodu tal-kontroll, għalhekk irridu mmorru lejh u naraw kif se jiġri r-rotot.

Kif tiftakar, in-nodu ta 'kontroll ġewwa deher eżattament l-istess bħall-node tal-komputazzjoni - l-istess tliet pontijiet, br-ex biss kellu port fiżiku li minnu n-nodu seta' jibgħat it-traffiku barra. Il-ħolqien ta 'istanzi biddel il-konfigurazzjoni fuq in-nodi tal-komputazzjoni - linux bridge, iptables u interfaces ġew miżjuda man-nodi. Il-ħolqien ta 'netwerks u router virtwali ħalla wkoll il-marka tiegħu fuq il-konfigurazzjoni tan-node ta' kontroll.

Għalhekk, huwa ovvju li l-indirizz MAC tal-gateway għandu jkun fit-tabella ta 'trażmissjoni br-int fuq in-nodu tal-kontroll. Ejja niċċekkjaw li qiegħed hemm u fejn qed tfittex:

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

Il-Mac huwa viżibbli mill-port qr-0c52b15f-8f. Jekk immorru lura għal-lista ta 'portijiet virtwali f'Openstack, dan it-tip ta' port jintuża biex jgħaqqad diversi apparati virtwali ma 'OVS. Biex tkun aktar preċiż, qr huwa port għar-router virtwali, li huwa rappreżentat bħala namespace.

Ejja naraw x'ispazji tal-isem huma fuq is-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 ~]$ 

Sa tliet kopji. Iżda tiġġudika mill-ismijiet, tista 'raden l-iskop ta' kull wieħed minnhom. Nirritornaw għal każijiet b'ID 0 u 1 aktar tard, issa aħna interessati fl-ispazju tal-isem 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 ~]$ 

Dan l-ispazju tal-isem fih żewġ dawk interni li ħloqna qabel. Iż-żewġ portijiet virtwali ġew miżjuda mal-br-int. Ejja niċċekkja l-indirizz mac tal-port qr-0c52b15f-8f, peress li t-traffiku, ġġudikat mill-indirizz mac tad-destinazzjoni, mar għal din l-interface.

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

Jiġifieri, f'dan il-każ, kollox jaħdem skont il-liġijiet tar-rotta standard. Peress li t-traffiku huwa ddestinat għall-host 10.0.2.8, għandu joħroġ mit-tieni interface qr-92fa49b5-54 u jgħaddi mill-mina vxlan għan-node tal-komputazzjoni:


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

Kollox huwa loġiku, l-ebda sorpriża. Ejja naraw fejn l-indirizz tal-peprin tal-host 10.0.2.8 huwa viżibbli f'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 ~]$ 

Kif mistenni, it-traffiku jmur br-tun, ejja naraw f'liema mina jmur it-traffiku li jmiss:

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

It-traffiku jidħol fil-mina biex jikkalkula-1. Ukoll, fuq compute-1 kollox huwa sempliċi - minn br-tun il-pakkett imur għal br-int u minn hemm għall-interface tal-magna virtwali:

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

Ejja niċċekkjaw li din hija tabilħaqq l-interface korretta:

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

Fil-fatt, morna l-pakkett kollu. Naħseb li ndunajt li t-traffiku għadda minn mini vxlan differenti u ħareġ b'VNIs differenti. Ejja naraw x'tip ta 'VNI huma dawn, wara li se niġbru dump fuq il-port ta' kontroll tan-node u niżguraw li t-traffiku jimxi eżatt kif deskritt hawn fuq.
Allura, il-mina biex tikkalkula-0 għandha l-azzjonijiet li ġejjin=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:3. Ejja nikkonverti 0x16 għas-sistema tan-numri deċimali:


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

Il-mina biex tikkalkula-1 għandha l-VNI li ġej:actions=load:0->NXM_OF_VLAN_TCI[],load:0x63->NXM_NX_TUN_ID[],output:2. Ejja nikkonverti 0x63 għas-sistema tan-numri deċimali:


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

Ukoll, issa ejja nħarsu lejn il-miżbla:

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

L-ewwel pakkett huwa pakkett vxlan minn host 192.168.255.19 (compute-0) għal host 192.168.255.15 (kontroll-1) b'vni 22, li fih pakkett ICMP huwa ppakkjat minn host 10.0.1.85 għal host 10.0.2.8. Kif ikkalkulejna hawn fuq, vni taqbel ma' dak li rajna fl-output.

It-tieni pakkett huwa pakkett vxlan minn host 192.168.255.15 (kontroll-1) għal host 192.168.255.26 (compute-1) b'vni 99, li fih pakkett ICMP huwa ppakkjat minn host 10.0.1.85 għal host 10.0.2.8. Kif ikkalkulejna hawn fuq, vni taqbel ma' dak li rajna fl-output.

Iż-żewġ pakketti li jmiss huma traffiku lura minn 10.0.2.8 mhux 10.0.1.85.

Jiġifieri, fl-aħħar sibna l-iskema ta 'node ta' kontroll li ġejja:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Qisu hekk? Insew żewġ ispazji tal-isem:

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

Kif tkellimna dwar l-arkitettura tal-pjattaforma tas-sħab, ikun tajjeb jekk il-magni jirċievu indirizzi awtomatikament minn server DHCP. Dawn huma żewġ servers DHCP għaż-żewġ netwerks tagħna 10.0.1.0/24 u 10.0.2.0/24.

Ejja niċċekkjaw li dan huwa minnu. Hemm indirizz wieħed biss f'dan l-ispazju tal-isem - 10.0.1.1 - l-indirizz tas-server DHCP innifsu, u huwa inkluż ukoll fil-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

Ejja naraw jekk proċessi li fihom qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 f'isimhom fuq in-nodu tal-kontroll:


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

Hemm proċess bħal dan u bbażat fuq l-informazzjoni ppreżentata fl-output hawn fuq, nistgħu, pereżempju, naraw dak li għandna bħalissa għall-kera:

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

Bħala riżultat, aħna jkollna s-sett ta 'servizzi li ġej fuq in-nodu ta' kontroll:

Introduzzjoni għall-parti tan-netwerk tal-infrastruttura tal-cloud

Ukoll, żomm f'moħħok - dan huwa biss 4 magni, 2 netwerks interni u router virtwali wieħed... M'għandniex netwerks esterni hawn issa, mazz ta 'proġetti differenti, kull wieħed bin-netwerks tagħhom stess (koinċidenza), u għandna router distribwit mitfi, u fl-aħħar Wara kollox, kien hemm biss node ta 'kontroll wieħed fil-bank tat-test (għal tolleranza ta' ħsara għandu jkun hemm kworum ta 'tliet nodi). Huwa loġiku li fil-kummerċ kollox huwa "ftit" aktar ikkumplikat, iżda f'dan l-eżempju sempliċi nifhmu kif għandu jaħdem - jekk għandekx 3 jew 300 namespace naturalment huwa importanti, iżda mil-lat tal-operat tal-ispazji kollu. istruttura, xejn mhu se jinbidel ħafna ... għalkemm sakemm int mhux se twaħħal xi SDN tal-bejjiegħ. Imma dik hija storja kompletament differenti.

Nispera li kien interessanti. Jekk għandek xi kummenti/żidiet, jew xi mkien giddejt għal kollox (jien bniedem u l-opinjoni tiegħi dejjem tkun suġġettiva) - ikteb dak li jeħtieġ li jiġi kkoreġut/żidut - nikkoreġu/niżidu kollox.

Bħala konklużjoni, nixtieq ngħid ftit kliem dwar it-tqabbil ta' Openstack (kemm vanilla kif ukoll bejjiegħ) mas-soluzzjoni sħaba minn VMWare - staqsejt din il-mistoqsija spiss wisq matul l-aħħar ftit snin u, franchement, jien diġà għajjien minnu, iżda xorta. Fl-opinjoni tiegħi, huwa diffiċli ħafna li tqabbel dawn iż-żewġ soluzzjonijiet, iżda żgur nistgħu ngħidu li hemm żvantaġġi fiż-żewġ soluzzjonijiet u meta tagħżel soluzzjoni waħda trid tiżen il-vantaġġi u l-iżvantaġġi.

Jekk OpenStack hija soluzzjoni mmexxija mill-komunità, allura VMWare għandu d-dritt li jagħmel biss dak li jrid (aqra - dak li huwa ta 'profitt għaliha) u dan huwa loġiku - għaliex hija kumpanija kummerċjali li hija mdorrija tagħmel flus mill-klijenti tagħha. Iżda hemm wieħed kbir u xaħam IMMA - inti tista 'toħroġ OpenStack, pereżempju minn Nokia, u bi ftit spejjeż taqleb għal soluzzjoni minn, pereżempju, Juniper (Contrail Cloud), iżda x'aktarx ma tkunx tista' tinżel minn VMWare . Għalija, dawn iż-żewġ soluzzjonijiet jidhru bħal dawn - Openstack (bejjiegħ) hija gaġġa sempliċi li fiha titqiegħed, imma għandek ċavetta u tista 'titlaq fi kwalunkwe ħin. VMWare huwa gaġġa tad-deheb, is-sid għandu ċ-ċavetta għall-gaġġa u tiswik ħafna.

Mhux qed nippromwovi la l-ewwel prodott u lanqas it-tieni - inti tagħżel dak li għandek bżonn. Imma kieku kelli għażla bħal din, nagħżel iż-żewġ soluzzjonijiet - VMWare għall-sħaba tal-IT (tagħbijiet baxxi, ġestjoni faċli), OpenStack minn xi bejjiegħ (Nokia u Juniper jipprovdu soluzzjonijiet turnkey tajbin ħafna) - għall-sħab tat-Telecom. Jien ma nużax Openstack għal IT pur - huwa bħal sparrows b'kanun, imma ma nara l-ebda kontraindikazzjoni biex tużah minbarra redundancy. Madankollu, l-użu ta 'VMWare fit-telekomunikazzjoni huwa bħall-ġbid ta' ġebel imfarrak f'Ford Raptor - huwa sabiħ minn barra, iżda s-sewwieq irid jagħmel 10 vjaġġi minflok wieħed.

Fl-opinjoni tiegħi, l-akbar żvantaġġ ta 'VMWare huwa l-għeluq sħiħ tiegħu - il-kumpanija ma tagħtik l-ebda informazzjoni dwar kif taħdem, pereżempju, vSAN jew x'hemm fil-kernel tal-hypervisor - sempliċement mhux profittabbli għaliha - jiġifieri, int se qatt ma ssir espert fil-VMWare - mingħajr appoġġ tal-bejjiegħ, inti ddestinat (ħafna drabi niltaqa 'ma' esperti tal-VMWare li huma baffled minn mistoqsijiet trivjali). Għalija, VMWare qed tixtri karozza bil-barnuża msakkra - iva, jista 'jkollok speċjalisti li jistgħu jibdlu ċ-ċinturin tat-timing, iżda biss dak li biegħlek din is-soluzzjoni jista' jiftaħ il-barnuża. Personalment, ma nħobbx soluzzjonijiet li ma nistax nidħol fihom. Tgħid li forsi ma jkollokx għalfejn tmur taħt il-barnuża. Iva, dan huwa possibbli, imma nħares lejk meta jkollok bżonn tiġbor funzjoni kbira fis-sħab minn 20-30 magni virtwali, 40-50 netwerk, li nofshom iridu joħorġu barra, u t-tieni nofs titlob għal Aċċelerazzjoni SR-IOV, inkella ser ikollok bżonn aktar ftit tużżana minn dawn il-karozzi - inkella l-prestazzjoni ma tkunx biżżejjed.

Hemm opinjonijiet oħra, allura inti biss tista 'tiddeċiedi x'tagħżel u, l-aktar importanti, inti mbagħad tkun responsabbli għall-għażla tiegħek. Din hija biss l-opinjoni tiegħi - persuna li rat u mess mill-inqas 4 prodotti - Nokia, Juniper, Red Hat u VMWare. Jiġifieri għandi xi ħaġa li nqabbel magħha.

Sors: www.habr.com

Żid kumment