La rakonto de unu ŝaltilo

La rakonto de unu ŝaltilo
En nia loka reto-agregado ni havis ses parojn da Arista DCS-7050CX3-32S-ŝaltiloj kaj unu paron da Brocade VDX 6940-36Q-ŝaltiloj. Ne estas, ke ni estis tro streĉitaj de la Brocade-ŝaltiloj en ĉi tiu reto, ili funkcias kaj plenumas siajn funkciojn, sed ni preparis plenan aŭtomatigon de iuj agoj, kaj ni ne havis ĉi tiujn kapablojn sur ĉi tiuj ŝaltiloj. Mi ankaŭ volis ŝanĝi de 40GE-interfacoj al la ebleco uzi 100GE por fari rezervon por la venontaj 2-3 jaroj. Do ni decidis ŝanĝi Brokaton al Arista.

Ĉi tiuj ŝaltiloj estas LAN-agregaj ŝaltiloj por ĉiu datumcentro. Distribuaj ŝaltiloj (la dua nivelo de agregacio) estas rekte konektitaj al ili, kiuj jam kunvenas Top-of-Rack lokajn retajn ŝaltilojn en rakoj kun serviloj.

La rakonto de unu ŝaltilo
Ĉiu servilo estas konektita al unu aŭ du alirŝaltiloj. Alirŝaltiloj estas ligitaj al paro de distribuŝaltiloj (du distribuŝaltiloj kaj du fizikaj ligiloj de la alirŝaltilo ĝis malsamaj distribuŝaltiloj estas uzitaj por redundo).

Ĉiu servilo povas esti uzata de sia propra kliento, do al la kliento estas asignita aparta VLAN. La sama VLAN tiam estas registrita sur alia servilo de ĉi tiu kliento en iu ajn rako. La datumcentro konsistas el pluraj tiaj vicoj (PODoj), ĉiu vico de rakoj havas siajn proprajn distribuajn ŝaltilojn. Tiam tiuj distribuaj ŝaltiloj estas konektitaj al agregaciaj ŝaltiloj.

La rakonto de unu ŝaltilo
Klientoj povas mendi servilon en iu ajn vico; estas maleble antaŭdiri, ke la servilo estos asignita aŭ instalita en specifa vico en specifa rako, tial ekzistas proksimume 2500 VLANoj sur agregaciaj ŝaltiloj en ĉiu datencentro.

Ekipaĵo por DCI (Data-Center Interconnect) estas konektita al agregaciaj ŝaltiloj. Ĝi povas esti destinita por L2-konektebleco (paro de ŝaltiloj formantaj VXLAN-tunelon al alia datencentro) aŭ por L3-konektebleco (du MPLS-enkursigiloj).

La rakonto de unu ŝaltilo
Kiel mi jam skribis, por unuigi la procezojn de aŭtomatigo de la agordo de servoj sur ekipaĵo en unu datumcentro, estis necese anstataŭigi la centrajn agregaciajn ŝaltilojn. Ni instalis novajn ŝaltilojn apud la ekzistantaj, kombinis ilin en MLAG-paron kaj komencis prepariĝi por laboro. Ili tuj estis ligitaj al ekzistantaj agregŝaltiloj, tiel ke ili havis oftan L2-domajnon trans ĉiuj klientVLANoj.

Cirkvitaj detaloj

Por specifaĵoj, ni nomu la malnovajn agregaciajn ŝaltilojn А1 и А2, nova - N1 и N2. Ni imagu tion en PODO 1 и PODO 4 serviloj de unu kliento estas gastigitaj C1,La kliento VLAN estas indikita en bluo. Ĉi tiu kliento uzas servon de konektebleco L2 kun alia datumcentro, do ĝia VLAN estas provizita al paro de VXLAN-ŝaltiloj.

Kliento C2 gastigas servilojn en PODO 2 и PODO 3,La klienta VLAN estas indikita en malhelverda. Ĉi tiu kliento ankaŭ uzas konekteblecservon kun alia datumcentro, sed L3, do ĝia VLAN estas nutrita al paro de L3VPN-enkursigiloj.

La rakonto de unu ŝaltilo
Ni bezonas klientajn VLANojn por kompreni en kiuj stadioj de la anstataŭaĵo funkcias kio okazas, kie okazas la komunika interrompo kaj kia povas esti ĝia daŭro. La STP-protokolo ne estas uzata en ĉi tiu skemo, ĉar la larĝo de la arbo por ĝi en ĉi tiu kazo estas granda, kaj la konverĝo de la protokolo kreskas eksponente kun la nombro da aparatoj kaj ligoj inter ili.

Ĉiuj aparatoj ligitaj per duoblaj ligiloj formas stakon, MLAG-paron aŭ VCS-Eterreton-ŝtofon. Por paro de L3VPN-enkursigiloj, tiaj teknologioj ne estas uzataj, ĉar ne necesas L2-redundo; sufiĉas, ke ili havas L2-konektecon unu al la alia per agregaciaj ŝaltiloj.

Opcioj de efektivigo

Analizante eblojn por pliaj eventoj, ni rimarkis, ke ekzistas pluraj manieroj plenumi ĉi tiun laboron. De tutmonda paŭzo sur la tuta loka reto, ĝis malgrandaj laŭvorte 1-2 sekundaj paŭzoj en partoj de la reto.

Reto, ĉesu! Ŝaltiloj, anstataŭigu ilin!

La plej facila maniero estas, kompreneble, deklari tutmondan komunikilon ĉe ĉiuj POD-oj kaj ĉiuj DCI-servoj kaj ŝanĝi ĉiujn ligilojn de la ŝaltiloj. А al ŝaltiloj N.

La rakonto de unu ŝaltilo
Krom la interrompo, kies tempon ni ne povas fidinde antaŭdiri (jes, ni scias la nombron da ligiloj, sed ni ne scias kiom da fojoj io misfunkcios - de rompita flikŝnureto aŭ difektita konektilo ĝis misa haveno aŭ radioricevilo). ), ni ankoraŭ ne povas antaŭvidi, ĉu la longeco de la flikŝnuroj, DAC, AOC, konektitaj al la malnovaj ŝaltiloj A, sufiĉos por atingi ilin al la novaj ŝaltiloj N, kvankam starantaj apud ili, sed ankoraŭ iom por la flanko, kaj ĉu la samaj elsendiloj funkcios /DAC/AOC de Brocade-ŝaltiloj al Arista-ŝaltiloj.

Kaj ĉio ĉi sub kondiĉoj de severa premo de klientoj kaj teknika subteno ("Nataŝa, leviĝu! Nataŝa, ĉio ne funkcias tie! Nataŝa, ni jam skribis al teknika subteno, sincere! Nataŝa, ili jam faligis ĉion. ! Natasha, kiom pli ni havas, ĉu ĝi funkcios? Nataŝa, kiam ĝi funkcios?!"). Eĉ malgraŭ la antaŭanoncita paŭzo kaj sciigo al klientoj, enfluo de petoj en tia tempo estas garantiita.

Ĉesu, 1-2-3-4!

Kio se ni ne anoncas tutmondan paŭzon, sed prefere serion de malgrandaj komunikadinterrompoj por POD kaj DCI-servoj. Dum la unua paŭzo, ŝanĝu al ŝaltiloj N nur PODO 1, en la dua - post kelkaj tagoj - PODO 2, poste kelkajn pliajn tagojn PODO 3, tiam POD 4...[N], tiam VXLAN-ŝaltiloj kaj tiam L3VPN-enkursigiloj.

La rakonto de unu ŝaltilo
Kun ĉi tiu organizo de ŝanĝa laboro, ni reduktas la kompleksecon de unufoja laboro kaj pliigas nian tempon por solvi problemojn se io subite misfunkcias. POD 1 restas ligita al aliaj PODoj kaj DCI post ŝanĝado. Sed la laboro mem daŭras dum longa tempo; dum ĉi tiu laboro en la datumcentro, inĝeniero estas postulata por fizike plenumi la ŝanĝadon, kaj dum la laboro (kaj tia laboro estas farita, kutime, nokte, de 2. al 5 a.m.), la ĉeesto de interreta ret-inĝeniero estas postulata ĉe sufiĉe altnivelaj kvalifikoj. Sed tiam ni ricevas mallongajn komunikajn interrompojn; kiel regulo, laboro povas esti farita ene de duonhoro kun paŭzo de ĝis 2 minutoj (praktike, ofte 20-30 sekundoj kun la atendata konduto de la ekipaĵo).

En la ekzemplo kliento C1 aŭ kliento C2 vi devos averti pri laboro kun komunika interrompo almenaŭ tri fojojn - la unuan fojon por fari laboron sur unu POD, en kiu troviĝas unu el ĝiaj serviloj, la duan fojon - la dua, kaj la trian fojon - kiam ŝanĝanta ekipaĵon por DCI-servoj.

Ŝanĝado de agregitaj komunikadkanaloj

Kial ni parolas pri la atendata konduto de ekipaĵo, kaj kiel aldonitaj kanaloj povas esti ŝanĝitaj dum minimumigo de komunikado-interrompo? Ni imagu la sekvan bildon:

La rakonto de unu ŝaltilo
Unuflanke de la ligo estas POD-distribuŝaltiloj - D1 и D2, ili formas MLAG-paron unu kun la alia (stako, VCS-fabriko, vPC-paro), aliflanke estas du ligiloj - Ligilo 1 и Ligilo 2 - inkluzivita en la MLAG-paro de malnovaj agregaciaj ŝaltiloj А. Sur la ŝanĝflanko D kunigita interfaco kun la nomo Haveno-kanalo A, flanke de agregaciaj ŝaltiloj А — kunigita interfaco kun la nomo Haveno-kanalo D.

Agregataj interfacoj uzas LACP en sia funkciado, tio estas, ŝaltiloj ambaŭflanke regule interŝanĝas LACPDU-pakaĵojn sur ambaŭ ligiloj por certigi, ke la ligiloj:

  • laboristoj;
  • inkluzivita en unu paro da aparatoj sur la fora flanko.

Dum interŝanĝado de pakaĵoj, la pako portas la valoron system-id, indikante la aparaton kie ĉi tiuj ligiloj estas inkluzivitaj. Por MLAG-paro (stako, fabriko, ktp.), la system-id-valoro por la aparatoj kiuj formas la agregitan interfacon estas la sama. Ŝalti D1 sendas al Ligilo 1 signifo sistemo-id D, kaj ŝaltilo D2 sendas al Ligilo 2 signifo sistemo-id D.

Ŝaltiloj А1 и А2 analizu LACPDU-pakojn ricevitajn super unu Po D-interfaco kaj kontrolu ĉu la sistema-identigilo en ili kongruas. Se la sistem-id ricevita per iu ligilo subite malsamas de la nuna operacia valoro, tiam ĉi tiu ligo estas forigita de la aldonita interfaco ĝis la situacio estas korektita. Nun ĉe nia ŝanĝflanko D nuna sistema-identigvaloro de la LACP-partnero - A, kaj sur la ŝaltilflanko А - nuna sistema-identigvaloro de la LACP-partnero - D.

Se ni bezonas ŝanĝi la kunigitan interfacon, ni povas fari ĝin en du malsamaj manieroj:

Metodo 1 - Simpla
Malebligu ambaŭ ligilojn de ŝaltiloj A. En ĉi tiu kazo, la aldonita kanalo ne funkcias.

La rakonto de unu ŝaltilo
Konektu ambaŭ ligilojn unu post alia al la ŝaltiloj N, tiam la operaciaj parametroj de LACP estos denove intertraktataj kaj la interfaco estos formita PoD sur ŝaltiloj N kaj transdono de valoroj sur ligiloj system-id N.

La rakonto de unu ŝaltilo

Metodo 2 - Minimumu interrompon
Malkonektu Ligon 2 de ŝaltilo A2. Samtempe, trafiko inter А и D daŭre estos elsendita simple per unu el la ligiloj, kiu restos parto de la kunigita interfaco.

La rakonto de unu ŝaltilo
Konektu Ligon 2 por ŝanĝi N2. Sur la ŝaltilo N la kunigita interfaco jam estas agordita Po DN, kaj ŝaltilo N2 komencos elsendi al LACPDU system-id N. En ĉi tiu etapo ni jam povas kontroli, ke la ŝaltilo N2 funkcias ĝuste kun la ricevilo uzata por Ligilo 2, ke la koneksa haveno eniris la staton Up, kaj ke neniuj eraroj okazas sur la koneksa haveno dum elsendado de LACPDU-oj.

La rakonto de unu ŝaltilo
Sed la fakto ke la ŝaltilo D2 por aldonita interfaco Po A de la flanko Ligo 2 ricevas system-id N valoron malsaman de la nuna operaciumo-id A valoro, ne permesas ŝaltilojn D prezenti Ligilo 2 parto de la kunigita interfaco Po A. Ŝalti N ne povas eniri Ligilo 2 en operacion, ĉar ĝi ne ricevas konfirmon de operableco de la LACP-partnero de la ŝaltilo D2. La rezulta trafiko estas Ligilo 2 ne trapasante.

Kaj nun ni malŝaltas Ligon 1 de ŝaltilo A1, tiel senigante la ŝaltilojn А и D funkcianta entuta interfaco. Do ĉe la ŝaltilo D la nuna laborsistema-id-valoro por la interfaco malaperas Po A.

La rakonto de unu ŝaltilo
Ĉi tio permesas ŝaltilojn D и N konsentas interŝanĝi system-id AN pri interfacoj Po A и Po DN, tiel ke trafiko komencas esti elsendita laŭ la ligo Ligilo 2. La paŭzo en ĉi tiu kazo estas, praktike, ĝis 2 sekundoj.

La rakonto de unu ŝaltilo
Kaj nun ni povas facile ŝanĝi Ligon 1 por ŝanĝi N1, restarigante la kapaciton kaj nivelon de interfaco-redundo Po A и Po DN. Ĉar kiam ĉi tiu ligo estas konektita, la nuna system-id-valoro ne ŝanĝiĝas ambaŭflanke, ne estas interrompo.

La rakonto de unu ŝaltilo

Pliaj ligiloj

Sed la ŝaltilo povas esti farita sen la ĉeesto de inĝeniero dum la ŝanĝado. Por fari tion, ni devos antaŭmeti pliajn ligilojn inter distribuaj ŝaltiloj D kaj novaj agregaj ŝaltiloj N.

La rakonto de unu ŝaltilo
Ni metas novajn ligojn inter agregaciaj ŝaltiloj N kaj distribuŝaltiloj por ĉiuj PODoj. Ĉi tio postulas ordigi kaj meti kromajn flikŝnurojn, kaj instali kromajn elsendilojn kiel en N, kaj en D. Ni povas fari ĉi tion ĉar en niaj ŝaltiloj D Ĉiu POD havas liberajn havenojn (aŭ ni antaŭ-liberigas ilin). Kiel rezulto, ĉiu POD estas fizike ligita per du ligiloj al la malnovaj ŝaltiloj A kaj al la novaj ŝaltiloj N.

La rakonto de unu ŝaltilo
Sur la ŝaltilo D du kunigitaj interfacoj formiĝis - Po A kun ligiloj Ligilo 1 и Ligilo 2kaj Po N - kun ligiloj Ligo N1 и Ligo N2. En ĉi tiu etapo, ni kontrolas la ĝustan konekton de interfacoj kaj ligiloj, la nivelojn de optikaj signaloj ĉe ambaŭ finoj de la ligiloj (per DDM-informoj de la ŝaltiloj), ni eĉ povas kontroli la agadon de la ligo sub ŝarĝo aŭ monitori la statojn de optikaj signaloj kaj transceptortemperaturoj dum kelkaj tagoj.

Trafiko daŭre estas sendita tra la interfaco Po A, kaj la interfaco Po N kostas neniun trafikon. La agordoj sur la interfacoj estas io kiel ĉi tio:

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

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

D-ŝaltiloj, kiel regulo, subtenas sesi-bazitajn agordajn ŝanĝojn; ŝaltilmodeloj kiuj havas ĉi tiun funkciecon estas uzitaj. Do ni povas ŝanĝi la agordojn de la interfacoj Po A kaj Po N en unu paŝo:

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

Tiam la agorda ŝanĝo okazos sufiĉe rapide, kaj la paŭzo praktike estos ne pli ol 5 sekundoj.

Ĉi tiu metodo ebligas al ni plenumi ĉiujn preparlaborojn anticipe, efektivigi ĉiujn necesajn kontrolojn, kunordigi la laboron kun la partoprenantoj en la procezo, antaŭdiri detale la agojn por la produktado de laboro, sen kreemaj flugoj kiam "ĉio fuŝiĝis. ,” kaj havi planon por reveni al la antaŭa agordo. Laboro laŭ ĉi tiu plano estas farata de ret-inĝeniero sen ĉeesto de datuma centro-inĝeniero surloke, kiu fizike faras la ŝanĝadon.

Kio ankaŭ gravas kun ĉi tiu metodo de ŝanĝado estas, ke ĉiuj novaj ligiloj jam estas kontrolataj anticipe. Eraroj, inkludo de ligiloj en la unuo, ŝarĝo de ligiloj - ĉiuj necesaj informoj jam estas en la monitora sistemo, kaj ĉi tio jam estas desegnita sur la mapoj.

D-Day

POD

Ni elektis la malplej doloran ŝanĝvojon por klientoj kaj la malplej inklinaj al "io misfunkciis" scenaroj kun pliaj ligiloj. Do ni ŝanĝis ĉiujn POD-ojn al novaj agregaciaj ŝaltiloj en kelkaj noktoj.

La rakonto de unu ŝaltilo
Sed restas nur ŝanĝi la ekipaĵon, kiu provizas DCI-servojn.

L2

En la kazo de ekipaĵo provizanta L2-konektecon, ni ne povis efektivigi similan laboron kun pliaj ligiloj. Estas almenaŭ du kialoj por ĉi tio:

  • Manko de liberaj havenoj de la bezonata rapideco sur VXLAN-ŝaltiloj.
  • Manko de sesia agorda ŝanĝofunkcio sur VXLAN-ŝaltiloj.

Ni ne ŝanĝis ligilojn "pope" kun paŭzo nur dum konsento pri nova sistemo-id-paro, ĉar ni ne havis 100% fidon, ke la proceduro okazos ĝuste, kaj provo en la laboratorio montris, ke en la kazo se "io misfunkcias", ni ankoraŭ ricevas interrompon de konekto, kaj kio estas plej malbona estas ne nur por klientoj, kiuj havas L2-konektecon kun aliaj datumcentroj, sed ĝenerale por ĉiuj klientoj de ĉi tiu datumcentro.

Ni faris propagandan laboron antaŭtempe pri la transiro de L2-kanaloj, do la nombro da klientoj trafitaj de laboro sur VXLAN-ŝaltiloj jam estis plurfoje malpli ol antaŭ unu jaro. Kiel rezulto, ni decidis interrompi komunikadon per la koneksa servo L2, kondiĉe ke ni konservu la normalan funkciadon de lokaj retaj servoj en unu datumcentro. Krome, la SLA por ĉi tiu servo provizas la eblecon efektivigi planitan laboron kun interrompoj.

L3

Kial ni rekomendis, ke ĉiuj ŝanĝu al L3VPN dum organizado de DCI-servoj? Unu el la kialoj estas la kapablo fari laboron sur unu el la enkursigiloj, kiuj provizas ĉi tiun servon, simple reduktante la redundan nivelon al N+0, sen interrompi komunikadon.

Ni rigardu pli detale la skemon de livero de servo. En ĉi tiu servo, la L2-segmento iras de klientserviloj nur al L3VPN Selectel-enkursigiloj. La klientreto estas finita sur enkursigiloj.

Ĉiu klientservilo, ekz. S2 и S3 en la supra diagramo, havas siajn proprajn privatajn IP-adresojn - 10.0.0.2/24 sur servilo S2 и 10.0.0.3/24 sur servilo S3. Adresoj 10.0.0.252/24 и 10.0.0.253/24 asignita de Selectel al enkursigiloj L3VPN-1 и L3VPN-2, respektive. IP-adreso 10.0.0.254/24 estas VRRP VIP-adreso sur Selectel-enkursigiloj.

Vi povas lerni pli pri la servo L3VPN legi en nia blogo.

Antaŭ la ŝaltilo, ĉio aspektis proksimume kiel en la diagramo:

La rakonto de unu ŝaltilo
Du enkursigiloj L3VPN-1 и L3VPN-2 estis konektitaj al la malnova agregŝaltilo А. La majstro por VRRP VIP-adreso 10.0.0.254 estas la enkursigilo L3VPN-1. Ĝi havas pli altan prioritaton por ĉi tiu adreso ol la enkursigilo 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;
            }
        }
    }
}

La S2-servilo uzas enirejon 10.0.0.254 por komuniki kun serviloj en aliaj lokoj. Tiel, malkonekti la L3VPN-2-enkursigilon de la reto (kompreneble, se ĝi unue estas malkonektita de la MPLS-domajno) ne influas la konekteblecon de la serviloj de la kliento. Ĉe tiu punkto, la redundonivelo de la cirkvito estas simple reduktita.

La rakonto de unu ŝaltilo
Post ĉi tio ni povas sekure rekonekti la enkursigilon L3VPN-2 al paro da ŝaltiloj N. Metu ligilojn, ŝanĝu transricevilojn. La logikaj interfacoj de la enkursigilo, de kiuj dependas la funkciado de klientservoj, estas malŝaltitaj ĝis estas konfirmite, ke ĉio funkcias kiel ĝi devus.

Post kontrolado de la ligiloj, transceivers, signalniveloj kaj erarniveloj sur la interfacoj, la enkursigilo estas metita en funkciado, sed jam konektita al nova paro de ŝaltiloj.

La rakonto de unu ŝaltilo
Poste, ni malaltigas la VRRP-prioriton de la enkursigilo L3VPN-1, kaj la VIP-adreso 10.0.0.254 estas movita al la enkursigilo L3VPN-2. Ĉi tiuj laboroj ankaŭ estas efektivigitaj sen interrompo de komunikado.

La rakonto de unu ŝaltilo
Transdonante VIP-adreson 10.0.0.254 al la enkursigilo L3VPN-2 permesas al vi malŝalti la enkursigilon L3VPN-1 sen interrompo de komunikado por la kliento kaj ligu ĝin al nova paro de agregaciaj ŝaltiloj N.

La rakonto de unu ŝaltilo
Ĉu redoni aŭ ne VRRP VIP al la enkursigilo L3VPN-1 estas alia demando, kaj eĉ se ĝi estas resendita, ĝi estas farita sen interrompi la konekton.

Tuta

Post ĉiuj ĉi tiuj paŝoj, ni efektive anstataŭigis la agregaciajn ŝaltilojn en unu el niaj datumcentroj, dum ni minimumigis interrompon por niaj klientoj.

La rakonto de unu ŝaltilo
Restas nur malmuntado. Malmuntado de malnovaj ŝaltiloj, malmuntado de malnovaj ligiloj inter ŝaltiloj A kaj D, malmuntado de transceivers de ĉi tiuj ligoj, korekto de monitorado, korekto de retdiagramoj en dokumentado kaj monitorado.

Ni povas uzi ŝaltilojn, transceivers, flikŝnurojn, AOC, DAC lasitajn post ŝanĝado en aliaj projektoj aŭ por alia simila ŝanĝado.

"Nataŝa, ni ŝanĝis ĉion!"

fonto: www.habr.com

Aldoni komenton