Ühe lülituse ajalugu

Ühe lülituse ajalugu
Meil oli kohaliku võrgu agregatsioonis kuus paari Arista DCS-7050CX3-32S lülitit ja üks paar Brocade VDX 6940-36Q lüliteid. Need Brocade lülitid ei olnud just suured probleemid, nad töötavad ja täidavad oma funktsioone, kuid me valmistusime teatud tegevuste täielikuks automatiseerimiseks ja meil puudusid selleks vajalikud võimalused nende lülitite peal. Soovisime samuti liikuda 40GE liidestelt 100GE kasutamise võimaluse suunas, et pakkuda varu järgmisteks 2-3 aastaks. Nii otsustasime Brocade'i Arista vastu vahetada.

Need lülitid on iga andmekeskuse kohaliku võrgu agregatsiooni lülitid. Neile on otse ühendatud jaotamislüütid (teise taseme agregatsioon), mis koguvad endas Top-of-Rack lüliteid serverite riiulites.

Ühe lülituse ajalugu
Iga server on ühendatud ühe või kahe juurdepääsulülitiga. Juurdepääsulülid on ühendatud paariga jaotamislüütidest (kaks jaotamislüütit ja kaks füüsilist linki juurdepääsulülitist erinevatesse jaotamislüütidesse kasutatakse varundamiseks).

Iga server võib olla oma kliendi kasutuses, nii et kliendile määratakse eraldi VLAN. See VLAN määratakse hiljem ka teisele serverile selle kliendi juures igas riiulis. Andmekeskus koosneb mitmest sellisest rida (POD’id), igal riiulireal on oma jaotamislüütid. Need jaotamislüütid on seejärel ühendatud agregatsioonilülititega.

Ühe lülituse ajalugu
Kliendid saavad tellida serveri igas reas. Etteennustada, et server on määratud või paigaldatud mõnda konkreetset rida mõnesse konkreetsetesse riiulitesse, ei saa, seetõttu on aggregatsiooni lülitites igas andmekeskuses umbes 2500 VLAN-i.

DCI (Data-Center Interconnect) seadmed on ühendatud agregatsioonilülititega. Need võivad olla mõeldud L2-ühenduvuse jaoks (paar lüliteid, mis moodustavad VXLAN-tunnel teise andmekeskuse suunas) või L3-ühenduvuse jaoks (kaks MPLS marsruuterit).

Ühe lülituse ajalugu
Nagu ma juba mainisin, oli teenuste konfiguratsiooni automatiseerimise protsesside ühtlustamiseks vajalik asendada keskseid agregaatkommuteerijaid ühes andmekeskuses. Paigaldasime uued kommuteerijad olemasolevate kõrvale, ühendasime need MLAG paariks ja hakkasime ettevalmistusi tegema. Need ühendati kohe olemasolevate agregaatkommuteerijatega, mistõttu moodustus neil ühine L2 domeen kõigi klientide VLAN-ide jaoks.

Skeemi detailid

Kindlaksmääramiseks nimetame vanad agregaatkommuteerijad A1 ja A2, uued — N1 ja N2. Kujutame ette, et POD 1 ja POD 4 asub ühe kliendi servereid C1, kliendi VLAN on tähistatud sinise värviga. See klient kasutab L2-ühenduse teenust teise andmekeskusega, seetõttu on tema VLAN esitatud kahe VXLAN kommuteerija kaudu.

Kliendi C2 paigutab servereid POD 2 ja POD 3, kliendi VLAN on tähistatud tumeda rohelise värviga. See klient kasutab samuti teise andmekeskusega ühenduse teenust, kuid L3, seega on tema VLAN esitatud kahe L3VPN ruuteri kaudu.

Ühe lülituse ajalugu
Klientide VLAN-id on vajalikud, et mõista, millistel tööde etappidel toimub, mis toimub, kus tekib ühenduse katkestus ja kui kaua see võib kesta. Protokolli STP ei kasutata selles skeemis, kuna puu laius selle korral on suur ja protokolli konvergents tõuseb geomeetrilises progressioonis seadmete ja nende vaheliste linkide arvust.

Kõik seadmed, mis on ühendatud kahekordsete linkidega, moodustavad stack'i, MLAG paari või VCS-eeterneti tehase. L3VPN ruuteri paaride puhul selliseid tehnoloogiaid ei kasutata, kuna L2 varukoopia pole vajalik, piisab, et nende vahel oleks L2-ühendus agregaatkommuteerijate kaudu.

Teostamise variandid

Edukate sündmuste variandid analüüsimisel saime aru, et on mitmeid viise nende tööde teostamiseks. Üks variant oli globaalne katkestus kogu kohalikus võrgus, teine variant väiksemad, vaid 1-2 sekundilised katkestused võrgus.

Võrk, seista! Kommuteerijad, vahetage välja!

Lihtsaim viis on kindlasti kuulutada globaalne katkestus kõigis POD-des ja kõikides DCI teenustes ning lülitada kõik lingid kommuteerijatest A kommuteerijatesse N.

Ühe lülituse ajalugu
Peale katkestuse, mille aega me ei suuda garanteerida (jah, me teame linkide arvu, kuid ei tea, kui palju asju võib valesti minna – alates rikutud patch kaablist või kahjustatud ühendusest kuni porta või transiiveri rikke), ei oska me ka ette ennustada, kas patch kaablite, DAC-de, AOC-de pikkus, mis on ühendatud vanadesse lülititesse A, piisab, et toimetada need õige lähedale, kuid siiski veidi kõrvale asuvatesse, uutesse lülititesse N, ja kas samad transiiverid/DAC-id/AOC-d Brocade'i lülitites töötavad Arista lülitites.

Ja kõik see klientide ja tehnilise toe poolt tehtava pideva surve all ("Natasha, tõuse! Natasha, seal ei tööta midagi! Natasha, me oleme juba tehnilise toe poole pöördunud, ausalt! Natasha, seal on kõik juba kukkunud! Natasha, kui kaua veel ei tööta? Natasha, millal see tööle hakkab?!"). Isegi hoolimata eelnevalt kuulutatud katkestusest ja klientidele tehtud teavitustest, on sellisel ajal tagasiside voog garanteeritud.

Oota, 1-2-3-4!

Aga kui mitte kuulutada globaalset katkestust, vaid kuulutada seeria väikeseid katkestusi ühenduses POD-i ja DCI teenustega. Esimeses katkestuses lülitame lülititesse N seda POD 1, teises – paar päeva hiljem – POD 2, siis veel paar päeva hiljem POD 3, seejärel POD 4…[N], siis VXLAN lülitid ja seejärel L3VPN marsruutijad.

Ühe lülituse ajalugu
Selle töökorraldusega lülitamisel vähendame korraga tehtavate tööde keerukust ja suurendame aega probleemide lahendamiseks, kui midagi läheb valesti. POD 1 ühenduvus teiste POD-ide ja DCI-ga ei kao pärast lülitamist. Kuid enda tööde elluviimine venib pikaks, nende tööde ajaks on andmekeskuses vaja eraldada insener füüsiliste lülituste teostamiseks, ja nende tööde ajal (ja selliseid töid teostatakse tavaliselt öösel, kella 2-st kuni 5-ni hommikul) on vajalik kogenud online võrgu inseneri kohalolek. Kuid see-eest saame lühikesi katkestusi, tavaliselt on tööd võimalik teha poole tunni jooksul kahe minuti katkestusega (praktikas sageli 20-30 sekundit, kui varustus käitub ootuspäraselt).

Antud kliendi näites C1 või kliendi C2 Tuleb teavitada sidekatkestuse töödest vähemalt kolm korda — esmakordselt, kui teostatakse tööd ühel POD-il, kus asub üks selle server, teiseks teise puhul, ja kolmandaks, kui vahetatakse seadmeid DCI teenuste jaoks.

Agrupeeritud sidekanalite vahetus

Miks me räägime seadmete oodatavast käitumisest ja kuidas agrupeeritud kanaleid saab vahetada minimaalse sidekatkestusega. Kujutage ette järgmist olukorda:

Ühe lülituse ajalugu
Ühel pool linki — POD-i jaotamislülitid — D1 ja D2, need moodustavad omavahel MLAG-paar (turvakiht, VCS-tehas, vPC-paar), teisel pool on kaks linki — Link 1 ja Link 2 — ühendatud vanade agrupeerimisliitmikute MLAG-paariga A. Lülitite poolel D on moodustatud agrupeeritud liides nimega Port-channel A, agrupeerimisliitmikute poolel A on agrupeeritud liides nimega Port-channel D.

Agrupeeritud liidesed kasutavad oma töös LACP-d, see tähendab, et lülitid mõlemalt poolt vahetavad regulaarseid LACPDU-pakke kahe linki kaudu, et veenduda, et linkid:

  • on töökorras;
  • on ühendatud ühte seadmete paari eemal.

Paketivahetuse käigus edastatakse paketis väärtus system-id, mis tähistab seadet, kuhu need lingid on ühendatud. MLAG-paaride (turvakiht, tehas jne) korral on agrupeeritud liidese moodustavate seadmete system-id väärtus sama. Lüliti D1 saadab Link 1 väärtuse system-id D, ja lüliti D2 saadab Link 2 väärtuse system-id D.

Lülitid A1 ja A2 analüüsivad LACPDU-pakke, mille nad on saanud ühe Po D liidese kaudu, ja kontrollivad system-id väärtuste vastavust. Kui mõne linki kaudu saadud system-id peaks järsku erineda praegusest töökorras väärtusest, siis see link eemaldatakse agrupeeritud liidese koostisosast, kuni olukord on parandatud. Praegu on meil lülitite poolel D praegune system-id väärtus LACP-partnerilt — A, ja lülitite poolel A on praegune system-id väärtus LACP-partnerilt — D.

Kui on vaja agrupeeritud liidese vahetust, saame toimida kahe erineva meetodi kaudu:

Meetod 1 — Lihtne
Eemaldage mõlemad lingid lülititest A. Sel juhul agrupeeritud kanal ei tööta.

Ühe lülituse ajalugu
Lülitage mõlemad lingid ükshaaval lülititesse N, siis toimub LACP tööparameterite uuesti kokkulepe, liidese moodustumine Po D lülitites N ja linkidel edastatakse väärtus system-id N.

Ühe lülituse ajalugu

Meetod 2 - Ühe katkestuse minimeerimine
Lülita välja A2 lülitist Link 2. Sel juhul liiklus A ja D jätkab edastamist lihtsalt läbi ühe lingi, mis jääb aggregeeritud liidese koostisosaks.

Ühe lülituse ajalugu
Ühenda Link 2 lülitisse N2. Lülitil N on juba seadistatud aggregeeritud liides Po DN, ja lüliti N2 hakkab edastama LACPDU system-id N. Sel etapil saame juba kontrollida, et lüliti N2 töötab õigesti transiivriga, mis on kasutusel Link 2, et ühendusport on läinud olekusse Üles, ja et LACPDU edastamisel ei teki vigu ühendusporti.

Ühe lülituse ajalugu
Kuid see, et lüliti D2 aggregeeritud liidese jaoks Po A Link 2 saab system-id N, mis erineb praegusest tööväärtusest system-id A, ei luba lülititel D tööle võtta Link 2 aggregeeritud liidese koostisosana. Po ALüliti N ei saa tööle võtta Link 2 , kuna ta ei saa LACP-partnerilt lülitilt töökindluse kinnitust. D2Lõppkokkuvõttes ei edastata liiklust. Link 2 Nüüd lülitame Link 1 lülitist A1 välja

, eemaldades lülititeltöötava aggregeeritud liidese. Seega lüliti A ja D kaotab praeguse tööväärtuse system-id liidese jaoks. D See võimaldab lülititel Po A.

Ühe lülituse ajalugu
kokkuleppele jõuda system-id vahetamises D ja N A-N liidese kaudu , nii et liiklus hakkab edastuma lingi Po A ja Po DN. Katkestus antud juhul kestab tegelikult kuni 2 sekundit. Link 2Nüüd saame rahulikult lülitada Link 1 lülitisse N1

Ühe lülituse ajalugu
, taastades liidese mahtu ja reserveerimise taset.. Kuna selle lingi ühendamisel ei muutu current system-id väärtus kummaltki poolelt, siis katkestust ei toimu. Po A ja Po DNLisalingid

Ühe lülituse ajalugu

Kuid lülitust saab teostada ilma inseneri kohalolekuta lülitamise hetkel. Selleks peame eelnevalt rajama täiendavad lingid jaotamisütlite vahel

ja uute aggregeerimisütlite vahel. D Me rajame uued lingid aggregeerimisütlite vahel N.

Ühe lülituse ajalugu
ja jaotamisütlite vahel kõigi PODide vahel. See nõuab lisapatch-kaablite tellimist ja paigaldamist, samuti täiendavate transiivrite paigaldamist nagu N . Me saame seda teha, kuna meie lülitites N, kui ka Diga PODi puhul on vabad portid (või vabastame need eelnevalt). D iga POD-l on vabad sadamad (või vabastame need eelnevalt). Lõpuks on iga POD füüsiliselt ühendatud kahe lingiga vanade lülititega A ja uute lülititega N.

Ühe lülituse ajalugu
Lülitil D on moodustatud kaks koondatud liidest — Po A lingiga Link 1 ja Link 2, ja Po N — lingiga Link N1 ja Link N2. Sellel etapil kontrollime liideste ja linkide ühenduse õigsust, optiliste signaalide taset mõlemas otsas (DDM-informatsiooni kaudu lülititest), saame isegi kontrollida lingi töökindlust koormuse all või jälgida optiliste signaalide ja vastuvõtjate temperatuuride seisundeid paar päeva.

Liiklus edastatakse endiselt liidese kaudu Po A, samas kui liides Po N seisab ilma liikluseta. Liideste seaded on põhijoontes järgmised:

Liides Port-channel A
Switchport mode trunk
Switchport allowed vlan C1, C2

Liides Port-channel N
Switchport mode trunk
Switchport allowed vlan none

Lülitid D toetavad reeglina seansi konfiguratsiooni muutmist, kasutatakse selliseid lüliti mudeleid, mis omavad seda funktsionaalsust. Seega saame liideste Po A ja Po N seadeid ühes võtmes muuta:

Konfigureeri seanss
Liides Port-channel A
Switchport allowed vlan none
Liides Port-channel N
Switchport allowed vlan C1, C2
Kinnita

Siis toimub konfiguratsiooni muutmine piisavalt kiiresti ja katkestus ei kesta praktikas enam kui 5 sekundit.

See meetod võimaldab meil teha kõik ettevalmistustööd eelnevalt, teostada kõik vajalikud kontrollid, kooskõlastada tööd protsessis osalejatega, detailsemalt ennustada tööde läbiviimise käiku, vältida loomingulisi tõrkeid, kui "kõik läks valesti", ning selge plaaniga eelneva konfiguratsiooni taastamiseks. Selle plaani tööd viib läbi võrguinsener ilma andmekeskuse inseneri kohalolekuta, kes füüsiliselt teostab lülitusi.

Oluline on ka see, et sellise lülitamise puhul on kõik uued lingid juba eelnevalt seiramiseks seatud. Vead, linkide aktiveerimine koondamiseks, linkide koormus — kogu vajalik teave on juba seire süsteemis ja see on juba kaardil kujutatud.

D-Päev

POD

Oleme valinud kõige vähem valuliku viisi klientidele ja kõige vähem kaldu variatsioonile "midagi läks valesti" üleminekul täiendavate linkidega. Nii suutsime paaril ööl kõik POD-id uutele koonduslülititele üle viia.

Ühe lülituse ajalugu
Kuid on jäänud üle lülitada seadmed, mis tagavad DCI teenused.

L2

Seoses seadmetega, mis tagavad L2-ühenduse, ei suutnud me analoogseid töid täiendavate linkidega läbi viia. Sellel on vähemalt kaks põhjust:

  • Vabad sadamad vajaliku kiirusena VXLAN-lülitites on puudulikud.
  • VXLAN-lülitites pole seansimuutmise konfigureerimise funktsionaalsust.

Me ei hakanud linke „üksikute kaupa” vahetama, vaid vaid ajavahemik, mil uue paari system-id kokkulepe käidi, kuna meil ei olnud 100% kindlust, et protseduur läheb korrektsemalt, ja katse laboris näitas, et juhul, kui „midagi läheb valesti”, saame ikkagi katkestuse ühenduses, ja mis kõige hullem — mitte ainult klientide jaoks, kellel on L2-ühendus teiste andmekeskustega, vaid ka kõigi selle andmekeskuse klientide jaoks.

Me tegime eelnevalt kampaaniat L2 kanalitest ülemiseks, seega oli klientide arv, keda VXLAN-lülitite tööd puudutasid, juba mitu korda väiksem kui eelmisel aastal. Lõpuks otsustasime L2-ühenduse teenuse katkestamise kasuks tingimusel, et säilitame kohaliku võrgu teenuste normaalse töö ühes andmekeskuses. Lisaks näeb SLA ette võimaluse läbi viia planeeritud töid katkestusega.

L3

Miks me soovitasime kõigil minna üle L3VPN kasutamisele DCI teenuste korraldamisel? Üks põhjuseid on võimalus teha töid ühe marsruuteriga, mis pakub seda teenust, lihtsalt vähendades varu taset N+0-ni, ilma katkestusteta.

Vaatame teenuse pakkumise skeemi lähemalt. Selles teenuses kulgeb L2 segment kliendiserveritest ainult L3VPN marsruutrite Selectel. Marsruutrites lõpetatakse kliendi võrk.

Iga kliendi server, näiteks, S2 ja S3 antud skeemis, omab oma privaatset IP-aadressid10.0.0.2/24 serveris S2 ja 10.0.0.3/24 serveris S3. Aadressid 10.0.0.252/24 ja 10.0.0.253/24 on määratud Selecteli poolt marsruutritele L3VPN-1 ja L3VPN-2, vastavalt. IP-aadress 10.0.0.254/24 on VRRP VIP aadress Selecteli marsruutrites.

L3VPN teenuse kohta saab lähemalt lugeda meie blogist.

Enne üleminekute tegemist nägi kõik välja umbes nagu skeemil:

Ühe lülituse ajalugu
Kaks marsruuterit L3VPN-1 ja L3VPN-2 olid ühendatud vana aggregeerimise lülitiga A. VRRP VIP aadressi 10.0.0.254 uhkara on marsruuter L3VPN-1Sellel aadressil on prioritets kõrgem kui ruuteril L3VPN-2.

unit 1006 {
    description C2;
    vlan-id 1006;
    family inet {       
        address 10.0.0.252/24 {
            vrrp-group 1 {
                priority 200;
                virtual-address 10.100.0.254;
                preempt {
                    hold-time 120;
                }
                accept-data;
            }
        }
    }
}

Server S2 kasutab ühenduseks teiste asukohtade serveritega väravat 10.0.0.254. Seega ei mõjuta L3VPN-2 ruuteri võrku lülitamine (loomulikult, pärast selle eemaldamist MPLS domeenist) kliendi serverite ühenduvust. Sel ajal lihtsalt väheneb varundamise tase.

Ühe lülituse ajalugu
Pärast seda saame rahulikult ruuteri tagasi ühendada L3VPN-2 kahe lülitiga N. Teeme lingid, vahetame transiivereid. Ruuteri loogilised liidesed, mis sõltuvad klienditeenuste tööst, on välja lülitatud kuni aega, mil kõik töötab nagu peab.

Pärast linkide, transiivereid, signaalitasemeid, veatasemete kontrollimist lülitatakse ruuter tööle, kuid juba uue lülitipaari külge ühendatuna.

Ühe lülituse ajalugu
Seejärel vähendame L3VPN-1 ruuteri VRRP prioriteeti ja VIP aadress 10.0.0.254 liigub L3VPN-2 ruuterile. Need tööd viiakse läbi samuti ilma ühenduse katkemiseta.

Ühe lülituse ajalugu
VIP aadressi 10.0.0.254 üleviimine ruuterile L3VPN-2 lubab ruuteri L3VPN-1 ära ühendada ilma kliendi ühenduse katkemiseta ja ühendada see juba uue lülitipaari külge N.

Ühe lülituse ajalugu
Kas VRRP VIP tagastada ruuterile L3VPN-1 või mitte - see on juba teine küsimus, ja ka kui tagastada, siis seda tehakse ilma ühenduse katkemiseta.

Kokkuvõttes

Pärast kõiki neid toiminguid oleme tõeliselt asendanud aggregeerimise lülitid ühes meie andmekeskuses, minimeerides samal ajal katkestusi meie klientidele.

Ühe lülituse ajalugu
Jälle jääb ainult demonteerida. Vanade lülitite demonteerimine, vanade linkide demonteerimine lülitite A ja D vahel, nende linkide transiivereid demonteerimine, jälgimise parandamine, võrgu skeemi parandamine dokumentatsioonis ja jälgimises.

Lülitid, transiivid, patch-kaablid, AOC, DAC, mis jäid pärast lülitamisi, saame kasutada teistes projektides või sarnastes lülitamistes.

„Natash, me oleme kõik lülitanud!”

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster