Vieno jungiklio istorija

Vieno jungiklio istorija
Savo vietinio tinklo agregate turėjome šešias poras Arista DCS-7050CX3-32S jungiklių ir vieną porą Brocade VDX 6940-36Q jungiklių. Nėra taip, kad šiame tinkle buvome per daug įtempti dėl Brocade jungiklių, jie veikia ir atlieka savo funkcijas, tačiau ruošėmės visiškam kai kurių veiksmų automatizavimui, o šių galimybių šiuose jungikliuose neturėjome. Taip pat norėjau pereiti nuo 40GE sąsajų prie galimybės naudoti 100GE, kad pasidaryčiau rezervą ateinantiems 2-3 metams. Taigi nusprendėme pakeisti Brocade į Arista.

Šie jungikliai yra LAN agregavimo jungikliai kiekvienam duomenų centrui. Prie jų tiesiogiai prijungti paskirstymo komutatoriai (antrasis agregavimo lygis), kurie jau surenka Top-of-Rack vietinio tinklo komutatorius stovuose su serveriais.

Vieno jungiklio istorija
Kiekvienas serveris yra prijungtas prie vieno ar dviejų prieigos jungiklių. Prieigos jungikliai yra prijungti prie paskirstymo jungiklių poros (du paskirstymo jungikliai ir dvi fizinės jungtys iš prieigos jungiklio į skirtingus paskirstymo jungiklius naudojami dubliavimui).

Kiekvienas serveris gali būti naudojamas savo kliento, todėl klientui yra skiriamas atskiras VLAN. Tada tas pats VLAN užregistruojamas kitame šio kliento serveryje bet kuriame stove. Duomenų centras susideda iš kelių tokių eilučių (POD), kiekviena stelažų eilutė turi savo paskirstymo jungiklius. Tada šie paskirstymo jungikliai prijungiami prie agregavimo jungiklių.

Vieno jungiklio istorija
Klientai gali užsisakyti serverį bet kurioje eilėje, iš anksto nuspėti, kad serveris bus paskirstytas ar įdiegtas konkrečioje konkrečioje stelažo eilutėje, neįmanoma, todėl kiekviename duomenų centre yra apie 2500 VLAN agregavimo jungikliuose.

DCI (Data-Center Interconnect) įranga yra prijungta prie agregavimo jungiklių. Jis gali būti skirtas L2 ryšiui (pora jungiklių, sudarančių VXLAN tunelį į kitą duomenų centrą) arba L3 ryšiui (du MPLS maršrutizatoriai).

Vieno jungiklio istorija
Kaip jau rašiau, norint suvienodinti paslaugų konfigūravimo automatizavimo procesus įrangoje viename duomenų centre, reikėjo pakeisti centrinius agregavimo jungiklius. Prie esamų sumontavome naujus jungiklius, sujungėme į MLAG porą ir pradėjome ruoštis darbui. Jie buvo nedelsiant prijungti prie esamų agregavimo jungiklių, todėl jie turėjo bendrą L2 domeną visuose klientų VLAN.

Grandinės detalės

Dėl konkretumo pavadinkime senus agregavimo jungiklius A1 и A2, naujas - N1 и N2. Įsivaizduokime tai 1 POD и 4 POD talpinami vieno kliento serveriai С1,Kliento VLAN pažymėtas mėlyna spalva. Šis klientas naudoja L2 ryšio paslaugą su kitu duomenų centru, todėl jo VLAN tiekiamas į porą VXLAN jungiklių.

Klientas С2 talpina serverius 2 POD и 3 POD,Kliento VLAN pažymėtas tamsiai žalia spalva. Šis klientas taip pat naudoja ryšio paslaugą su kitu duomenų centru, bet L3, todėl jo VLAN tiekiamas į porą L3VPN maršrutizatorių.

Vieno jungiklio istorija
Mums reikia klientų VLAN, kad suprastume, kuriuose pakeitimo etapuose, kas vyksta, kur nutrūksta ryšys ir kokia gali būti jo trukmė. STP protokolas šioje schemoje nenaudojamas, nes šiuo atveju jo medžio plotis yra didelis, o protokolo konvergencija auga eksponentiškai, atsižvelgiant į įrenginių ir nuorodų tarp jų skaičių.

Visi įrenginiai, sujungti dvigubomis jungtimis, sudaro krūvą, MLAG porą arba VCS Ethernet audinį. L3VPN maršrutizatorių porai tokios technologijos nenaudojamos, nes nereikia L2 pertekliaus, pakanka, kad jie turi L2 ryšį vienas su kitu per agregavimo jungiklius.

Įgyvendinimo parinktys

Analizuodami tolesnių įvykių galimybes supratome, kad yra keletas būdų, kaip atlikti šį darbą. Nuo visuotinės pertraukos visame vietiniame tinkle iki mažų tiesiogine prasme 1–2 sekundžių pertraukų kai kuriose tinklo dalyse.

Tinklas, sustok! Jungikliai, pakeiskite juos!

Paprasčiausias būdas, žinoma, yra paskelbti visuotinį ryšio pertrauką visuose POD ir visose DCI paslaugose ir perjungti visas nuorodas iš jungiklių. А prie jungiklių N.

Vieno jungiklio istorija
Išskyrus pertraukimą, kurio laiko negalime patikimai nuspėti (taip, žinome nuorodų skaičių, bet nežinome, kiek kartų kažkas nutiks - nuo nutrūkusio pataiso laido ar sugadintos jungties iki sugedusio prievado ar siųstuvo-imtuvo ), vis dar negalime iš anksto nuspėti, ar pakaks pataisymo laidų DAC, AOC, prijungtų prie senųjų jungiklių A ilgio, kad jie pasiektų naujus jungiklius N, nors ir stovi šalia, bet vis tiek šiek tiek iki. pusėje, ir ar veiks tie patys siųstuvai-imtuvai /DAC/AOC nuo Brocade komutatorių iki Arista jungiklių.

Ir visa tai esant dideliam klientų spaudimui ir techninei pagalbai („Nataša, kelkis! Nataša, ten viskas neveikia! Nataša, mes jau parašėme techninei pagalbai, sąžiningai! Nataša, jie jau viską metė ! Nataša, kiek dar jų nepadėjo? Nataša, kada tai veiks?!"). Net nepaisant iš anksto paskelbtos pertraukos ir informavimo klientams, užklausų antplūdis tokiu metu yra garantuotas.

Sustok, 1-2-3-4!

Ką daryti, jei paskelbsime ne apie visuotinę pertrauką, o apie nedidelius POD ir DCI paslaugų ryšio trikdžius. Per pirmąją pertrauką pereikite prie jungiklių N tik 1 POD, antroje - po poros dienų - 2 POD, tada dar pora dienų 3 PODToliau POD 4…[N], tada VXLAN jungikliai ir L3VPN maršrutizatoriai.

Vieno jungiklio istorija
Tokiu perjungimo darbų organizavimu sumažiname vienkartinio darbo sudėtingumą ir padidiname laiką, skirtą problemų sprendimui, jei kas nors staiga nutiktų ne taip. Po perjungimo POD 1 lieka prijungtas prie kitų POD ir DCI. Tačiau pats darbas užsitęsia ilgai, atliekant šį darbą duomenų centre inžinierius privalo fiziškai atlikti perjungimus, o darbo metu (o tokie darbai paprastai atliekami naktį, nuo 2 val. iki 5 val.), reikalingas gana aukšto lygio internetinio tinklo inžinieriaus buvimas. Bet tada sulaukiame trumpų ryšio nutrūkimų, paprastai darbai gali būti atliekami pusvalandžio intervalu su pertrauka iki 2 minučių (praktiškai dažnai 20-30 sekundžių su numatomu įrangos elgesiu).

Kliento pavyzdyje С1 arba klientas С2 apie darbą su ryšio nutrūkimu turėsite įspėti bent tris kartus - pirmą kartą atlikdami darbus su vienu POD, kuriame yra vienas iš jo serverių, antrą kartą - antrą, o trečią - kai DCI paslaugų perjungimo įranga.

Suvestinių komunikacijos kanalų perjungimas

Kodėl kalbame apie numatomą įrangos elgseną ir kaip galima perjungti apibendrintus kanalus sumažinant ryšio trikdžius? Įsivaizduokime tokį paveikslėlį:

Vieno jungiklio istorija
Vienoje nuorodos pusėje yra POD paskirstymo jungikliai - D1 и D2, jie sudaro MLAG porą vienas su kitu (stack, VCS gamykla, vPC pora), kita vertus, yra dvi nuorodos - Susiekite 1 и Susiekite 2 - įtraukta į senų agregavimo jungiklių MLAG porą А. Jungiklio pusėje D apibendrinta sąsaja su pavadinimu Uosto kanalas A, agregavimo jungiklių pusėje А — apibendrinta sąsaja su pavadinimu D prievado kanalas.

Agreguotos sąsajos savo veikloje naudoja LACP, tai yra, abiejų pusių jungikliai reguliariai keičiasi LACPDU paketais abiejose nuorodose, kad įsitikintų, jog nuorodos:

  • darbuotojai;
  • įtraukta į vieną įrenginių porą nuotolinėje pusėje.

Keičiant paketus, paketas turi vertę sistemos ID, nurodant įrenginį, kuriame yra šios nuorodos. MLAG poroje (dėklo, gamyklos ir kt.) įrenginių, kurie sudaro agreguotą sąsają, sistemos ID reikšmė yra tokia pati. Perjungti D1 siunčia į Susiekite 1 vertė sistemos ID D, ir perjunkite D2 siunčia į Susiekite 2 vertė sistemos ID D.

Jungikliai A1 и A2 analizuoti LACPDU paketus, gautus per vieną Po D sąsają, ir patikrinti, ar juose esantis sistemos ID sutampa. Jei per kokią nors nuorodą gautas sistemos ID staiga skiriasi nuo dabartinės eksploatacinės vertės, tada ši nuoroda pašalinama iš sukauptos sąsajos, kol situacija nebus ištaisyta. Dabar mūsų jungiklio pusėje D dabartinė sistemos ID vertė iš LACP partnerio - A, ir jungiklio pusėje А — dabartinė sistemos ID vertė iš LACP partnerio — D.

Jei reikia perjungti apibendrintą sąsają, galime tai padaryti dviem skirtingais būdais:

1 būdas – paprastas
Išjunkite abi nuorodas iš jungiklių A. Šiuo atveju apibendrintas kanalas neveikia.

Vieno jungiklio istorija
Prijunkite abi jungtis po vieną prie jungiklių N, tada vėl bus derinami LACP veikimo parametrai ir bus suformuota sąsaja PoD ant jungiklių N ir verčių perdavimas saituose sistemos ID N.

Vieno jungiklio istorija

2 būdas – sumažinkite pertraukimą
Atjunkite jungtį 2 nuo jungiklio A2. Tuo pačiu metu eismas tarp А и D ir toliau bus siunčiami tiesiog per vieną iš nuorodų, kurios liks agreguotos sąsajos dalimi.

Vieno jungiklio istorija
Prijunkite jungtį 2 prie jungiklio N2. Ant jungiklio N apibendrinta sąsaja jau sukonfigūruota Po DN, ir perjunkite N2 pradės siųsti į LACPDU sistemos ID N. Šiame etape jau galime patikrinti, ar jungiklis N2 tinkamai veikia su naudojamu siųstuvu-imtuvu Susiekite 2, kad ryšio prievadas įėjo į būseną Up, ir kad perduodant LACPDU ryšio prievade neatsirastų klaidų.

Vieno jungiklio istorija
Tačiau faktas, kad jungiklis D2 agreguotai sąsajai Po A iš šono 2 nuoroda gauna sistemos ID N reikšmę, kuri skiriasi nuo dabartinės operacinės sistemos ID A vertės, neleidžia jungikliai D pristatyti Susiekite 2 agreguotos sąsajos dalis Po A. Jungiklis N negali įeiti Susiekite 2 pradėti eksploatuoti, nes negauna veikimo patvirtinimo iš jungiklio LACP partnerio D2. Gautas srautas yra Susiekite 2 nepraeina.

Ir dabar mes išjungiame 1 nuorodą iš jungiklio A1, tokiu būdu atimdami jungiklius А и D darbo agregatinė sąsaja. Taigi jungiklio pusėje D dabartinė sąsajos sistemos ID reikšmė išnyksta Po A.

Vieno jungiklio istorija
Tai leidžia jungiklius D и N sutinka keistis sistemos ID AN sąsajose Po A и Po DN, kad srautas būtų perduodamas per nuorodą Susiekite 2. Praktiškai pertrauka šiuo atveju yra iki 2 sekundžių.

Vieno jungiklio istorija
Ir dabar galime lengvai perjungti 1 nuorodą į jungiklį N1, atkuriant sąsajos dubliavimo pajėgumą ir lygį Po A и Po DN. Kadangi prijungus šią nuorodą, dabartinė sistemos ID reikšmė nesikeičia nei vienoje pusėje, todėl nėra jokių trikdžių.

Vieno jungiklio istorija

Papildomos nuorodos

Tačiau perjungimas gali būti atliktas be inžinieriaus perjungimo metu. Norėdami tai padaryti, turėsime iš anksto nutiesti papildomus ryšius tarp paskirstymo jungiklių D ir nauji agregavimo jungikliai N.

Vieno jungiklio istorija
Klojame naujas sąsajas tarp agregavimo jungiklių N ir paskirstymo jungikliai visiems POD. Tam reikia užsakyti ir nutiesti papildomus pataisymo laidus bei įdiegti papildomus siųstuvus-imtuvus, kaip nurodyta Nir in D. Mes galime tai padaryti, nes mūsų jungikliai D Kiekvienas POD turi laisvus prievadus (arba mes juos iš anksto atlaisviname). Dėl to kiekvienas POD yra fiziškai sujungtas dviem jungtimis su senais jungikliais A ir naujais jungikliais N.

Vieno jungiklio istorija
Ant jungiklio D buvo suformuotos dvi agreguotos sąsajos - Po A su nuorodomis Susiekite 1 и Susiekite 2Ir Po N - su nuorodomis Nuoroda N1 и Nuoroda N2. Šiame etape mes patikriname teisingą sąsajų ir nuorodų prijungimą, optinių signalų lygius abiejuose nuorodų galuose (per DDM informaciją iš jungiklių), galime net patikrinti nuorodos veikimą esant apkrovai arba stebėti jo būsenas. optinių signalų ir siųstuvo-imtuvo temperatūros porą dienų.

Srautas vis tiek siunčiamas per sąsają Po A, ir sąsaja Po N nekainuoja eismo. Sąsajų nustatymai yra maždaug tokie:

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

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

D jungikliai, kaip taisyklė, palaiko seansu pagrįstus konfigūracijos pakeitimus; naudojami jungiklių modeliai, turintys šią funkciją. Taigi vienu žingsniu galime pakeisti Po A ir Po N sąsajų nustatymus:

Configure session
Interface Port-channel A
Switchport allowed vlan none
Interface Port-channel N
Switchport allowed vlan C1, C2
Commit

Tada konfigūracijos pakeitimas įvyks pakankamai greitai, o pertrauka praktiškai bus ne ilgesnė kaip 5 sekundės.

Šis metodas leidžia iš anksto atlikti visus parengiamuosius darbus, atlikti visus reikalingus patikrinimus, derinti darbą su proceso dalyviais, detaliai numatyti darbo gamybos veiksmus, be kūrybiškumo skrydžių, kai „viskas nepavyko “ ir turėkite planą, kaip grįžti prie ankstesnės konfigūracijos. Darbus pagal šį planą atlieka tinklo inžinierius, vietoje nedalyvaujant duomenų centro inžinieriui, kuris fiziškai atlieka perjungimus.

Taikant šį perjungimo būdą taip pat svarbu tai, kad visos naujos nuorodos jau būtų iš anksto stebimos. Klaidos, nuorodų įtraukimas į padalinį, nuorodų įkėlimas – visa reikalinga informacija jau yra stebėjimo sistemoje, o tai jau nubraižyta žemėlapiuose.

D-diena

POD

Pasirinkome mažiausiai skausmingą klientams perjungimo kelią ir mažiausiai linkusius į „kažkas ne taip“ scenarijus su papildomomis nuorodomis. Taigi per porą naktų visus POD perjungėme į naujus agregavimo jungiklius.

Vieno jungiklio istorija
Tačiau belieka perjungti įrangą, kuri teikia DCI paslaugas.

L2

Kalbant apie įrangą, užtikrinančią L2 ryšį, mes negalėjome atlikti panašaus darbo su papildomomis nuorodomis. Tam yra bent dvi priežastys:

  • Reikiamo greičio laisvų prievadų trūkumas VXLAN jungikliuose.
  • Trūksta sesijos konfigūracijos keitimo funkcijų VXLAN jungikliuose.

Nuorodų „po vieną“ nekeitėme su pertrauka tik susitardami dėl naujos sistemos ID poros, nes neturėjome 100% pasitikėjimo, kad procedūra vyks teisingai, o bandymas laboratorijoje parodė, kad Jei „kažkas negerai“, vis tiek nutrūksta ryšys, o blogiausia yra ne tik klientams, kurie turi L2 ryšį su kitais duomenų centrais, bet ir apskritai visiems šio duomenų centro klientams.

Perėjimo iš L2 kanalų propagandos darbus atlikome iš anksto, todėl klientų, paveiktų darbo su VXLAN komutatoriais, skaičius jau buvo kelis kartus mažesnis nei prieš metus. Dėl to nusprendėme nutraukti ryšį per L2 ryšio paslaugą, jei viename duomenų centre išlaikysime normalų vietinio tinklo paslaugų veikimą. Be to, šios paslaugos SLA numato galimybę atlikti planinius darbus su pertrūkiais.

L3

Kodėl, organizuojant DCI paslaugas, rekomendavome visiems pereiti prie L3VPN? Viena iš priežasčių yra galimybė atlikti darbus su vienu iš maršrutizatorių, teikiančių šią paslaugą, tiesiog sumažinant perteklinį lygį iki N+0, nenutraukiant ryšio.

Pažvelkime atidžiau į paslaugų teikimo schemą. Šioje paslaugoje L2 segmentas eina tik iš klientų serverių į L3VPN Selectel maršrutizatorius. Kliento tinklas nutraukiamas maršrutizatoriuose.

Kiekvienas kliento serveris, pvz. S2 и S3 aukščiau pateiktoje diagramoje turi savo privačius IP adresus - 10.0.0.2/24 serveryje S2 и 10.0.0.3/24 serveryje S3. Adresai 10.0.0.252/24 и 10.0.0.253/24 „Selectel“ priskyrė maršrutizatoriams L3VPN-1 и L3VPN-2, atitinkamai. IP adresas 10.0.0.254/24 yra VRRP VIP adresas „Selectel“ maršrutizatoriuose.

Galite sužinoti daugiau apie L3VPN paslaugą skaityti mūsų tinklaraštyje.

Prieš perjungimą viskas atrodė maždaug taip, kaip diagramoje:

Vieno jungiklio istorija
Du maršrutizatoriai L3VPN-1 и L3VPN-2 buvo prijungti prie senojo agregavimo jungiklio А. VRRP VIP adreso 10.0.0.254 pagrindinis serveris yra maršrutizatorius L3VPN-1. Šiam adresui jis turi didesnį prioritetą nei maršrutizatorius 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;
            }
        }
    }
}

S2 serveris naudoja šliuzą 10.0.0.254 bendrauti su serveriais kitose vietose. Taigi, L3VPN-2 maršrutizatoriaus atjungimas nuo tinklo (žinoma, jei jis pirmą kartą atjungtas nuo MPLS domeno) neturi įtakos kliento serverių ryšiui. Šiuo metu grandinės atleidimo lygis tiesiog sumažinamas.

Vieno jungiklio istorija
Po to galime saugiai vėl prijungti maršrutizatorių L3VPN-2 prie jungiklių poros N. Padėkite nuorodas, keiskite siųstuvus-imtuvus. Maršrutizatoriaus loginės sąsajos, nuo kurių priklauso kliento paslaugų veikimas, išjungiamos tol, kol nėra patvirtinama, kad viskas veikia taip, kaip turėtų.

Patikrinus sąsajų nuorodas, siųstuvus-imtuvus, signalo lygius ir klaidų lygius, maršrutizatorius pradedamas eksploatuoti, bet jau prijungtas prie naujos jungiklių poros.

Vieno jungiklio istorija
Toliau sumažiname L3VPN-1 maršrutizatoriaus VRRP prioritetą, o VIP adresas 10.0.0.254 perkeliamas į L3VPN-2 maršrutizatorių. Šie darbai taip pat atliekami nenutraukiant ryšio.

Vieno jungiklio istorija
VIP adreso 10.0.0.254 perkėlimas į maršrutizatorių L3VPN-2 leidžia išjungti maršrutizatorių L3VPN-1 nenutraukiant ryšio klientui ir prijungti jį prie naujos agregavimo jungiklių poros N.

Vieno jungiklio istorija
Grąžinti VRRP VIP į L3VPN-1 maršrutizatorių ar ne – kitas klausimas, o jei ir grąžinamas, tai daroma nenutraukiant ryšio.

Iš viso

Atlikę visus šiuos veiksmus, iš tikrųjų pakeitėme agregavimo jungiklius viename iš mūsų duomenų centrų, tuo pačiu sumažindami trikdžius savo klientams.

Vieno jungiklio istorija
Belieka tik išmontuoti. Senų jungiklių išmontavimas, senų jungčių tarp A ir D jungčių demontavimas, siųstuvų-imtuvų išmontavimas iš šių jungčių, stebėjimo koregavimas, tinklo schemų taisymas dokumentacijoje ir stebėjimas.

Galime naudoti komutatorius, siųstuvus-imtuvus, pataisymo laidus, AOC, DAC, likusius po perjungimo kituose projektuose ar kitiems panašiems perjungimams.

„Nataša, mes viską pakeitėme!

Šaltinis: www.habr.com

Добавить комментарий