La storia di un commutatore

La storia di un commutatore
Nella nostra aggregazione di rete locale avevamo sei coppie di switch Arista DCS-7050CX3-32S e una coppia di switch Brocade VDX 6940-36Q. Non che gli switch Brocade ci dessero particolari problemi in questa rete, funzionano e svolgono le loro funzioni, ma stavamo preparando una completa automazione di alcune operazioni, e non avevamo queste possibilità su quegli switch. Inoltre, volevamo passare dalle interfacce 40GE alla possibilità di utilizzare 100GE, per avere una riserva per i prossimi 2-3 anni. Così abbiamo deciso di sostituire i Brocade con Arista.

Questi switch sono switch di aggregazione della rete locale per ogni data center. A essi si collegano direttamente gli switch di distribuzione (secondo livello di aggregazione), che già raccolgono gli switch Top-of-Rack della rete locale nei rack con i server.

La storia di un commutatore
Ogni server è collegato a uno o due switch di accesso. Gli switch di accesso sono collegati a una coppia di switch di distribuzione (due switch di distribuzione e due link fisici dallo switch di accesso a diversi switch di distribuzione sono utilizzati per la ridondanza).

Ogni server può essere utilizzato dal proprio cliente, quindi a ciascun cliente viene assegnato un VLAN separato. Questo VLAN viene poi registrato su un altro server di quel cliente in qualsiasi rack. Il data center è composto da diverse righe (POD), e per ogni fila di rack ci sono i propri switch di distribuzione. Questi switch di distribuzione sono poi collegati agli switch di aggregazione.

La storia di un commutatore
I clienti possono richiedere server in qualsiasi fila; non è possibile prevedere in anticipo che un server verrà assegnato o installato in una specifica fila o rack, quindi sugli switch di aggregazione ci sono circa 2500 VLAN in ogni data center.

Le attrezzature per DCI (Data-Center Interconnect) si collegano agli switch di aggregazione. Esse possono essere destinate alla connettività L2 (una coppia di switch che crea un tunnel VXLAN in un altro data center), così come alla connettività L3 (due router MPLS).

La storia di un commutatore
Come ho già menzionato, per unificare i processi di automazione della configurazione dei servizi su apparecchiature in un unico data center, è stato necessario sostituire gli switch centrali di aggregazione. Abbiamo installato nuovi switch accanto a quelli esistenti, li abbiamo uniti in una coppia MLAG e ci siamo preparati per il lavoro. Sono stati immediatamente collegati con gli switch di aggregazione esistenti, così hanno condiviso un dominio L2 attraverso tutte le VLAN dei clienti.

Dettagli dello schema

Per specificare, chiamiamo gli switch di aggregazione vecchi A1 e A2, i nuovi — N1 e N2. Supponiamo che in POD 1 e POD 4 siano collocati i server di un unico cliente C1, la VLAN del cliente è contrassegnata in blu. Questo cliente utilizza il servizio di connettività L2 con un altro data center, quindi la sua VLAN è fornita a una coppia di switch VXLAN.

Cliente C2 ospita server in POD 2 e POD 3, la VLAN del cliente è contrassegnata in verde scuro. Anche questo cliente utilizza il servizio di connettività con un altro data center, ma L3, quindi la sua VLAN è fornita a una coppia di router L3VPN.

La storia di un commutatore
Le VLAN client sono necessari per comprendere le fasi del lavoro di sostituzione, dove si verifica la perdita di connessione e quanto possa durare. In questo schema non viene utilizzato il protocollo STP, poiché la larghezza dell'albero risulterebbe eccessiva, e la convergenza del protocollo cresce esponenzialmente in base al numero di dispositivi e collegamenti tra di essi.

Tutti i dispositivi connessi tramite collegamenti doppi formano uno stack, una coppia MLAG o una fabbrica Ethernet VCS. Per una coppia di router L3VPN, tali tecnologie non vengono utilizzate, poiché non c'è necessità di ridondanza L2; è sufficiente che abbiano connettività L2 tra loro tramite switch di aggregazione.

Opzioni di implementazione

Analizzando le possibili situazioni future, abbiamo compreso che ci sono diversi modi per eseguire questi lavori. Dalla sospensione globale di tutta la rete locale, a brevi interruzioni di 1-2 secondi in parti della rete.

Rete, fermati! Switch, preparatevi al cambiamento!

Il modo più semplice è, naturalmente, annunciare una sospensione globale della connessione in tutti i POD e per tutti i servizi DCI, e scollegare tutti i link dagli switch. E agli switch N.

La storia di un commutatore
Oltre a una pausa il cui tempo non possiamo garantire (sì, sappiamo quanti collegamenti ci sono, ma non possiamo prevedere quante volte qualcosa andrà storto - da un cavo patch rotto o un connettore danneggiato a un malfunzionamento della porta o del trasmettitore), non possiamo nemmeno prevedere in anticipo se la lunghezza dei cavi patch, DAC, AOC, collegati a vecchi switch A, sarà sufficiente per arrivare ai nuovi switch N, che sono vicini ma comunque un po' distanti, e se gli stessi trasmettitori/DAC/AOC provenienti dagli switch Brocade funzioneranno negli switch Arista.

E tutto ciò avviene sotto una forte pressione da parte dei clienti e del supporto tecnico ("Natasha, alzati! Natasha, tutto non funziona! Natasha, abbiamo già scritto al supporto tecnico, davvero! Natasha, hanno già fatto cadere tutto! Natasha, quanto altro non funzionerà? Natasha, quando funzionerà?!"). Anche con la pausa preannunciata e la comunicazione ai clienti, il numero di richieste in quel momento è garantito.

Fermati, 1-2-3-4!

E se non dichiarassimo una grande pausa globale, ma annunciare una serie di piccole pause di connessione per POD e servizi DCI. Nella prima pausa, passare agli switch. N solo POD 1, nel secondo — dopo un paio di giorni — POD 2, poi ancora dopo un paio di giorni POD 3, successivamente POD 4…[N], poi switch VXLAN e infine router L3VPN.

La storia di un commutatore
Con questa organizzazione delle attività di commutazione, riduciamo la complessità dei lavori simultanei e ci diamo più tempo per risolvere eventuali problemi se qualcosa non va per il verso giusto. La connettività del POD 1 dopo la commutazione con gli altri POD e DCI non viene persa. Tuttavia, le attività si allungano nel tempo, durante questi lavori il data center richiede asignazione di un ingegnere per l'esecuzione fisica delle commutazioni, e durante le attività (che solitamente si svolgono di notte, dalle 2 alle 5 del mattino) è necessaria la presenza di un ingegnere di rete online di alta qualificazione. Tuttavia, otteniamo brevi interruzioni della connessione, di solito le operazioni possono essere effettuate nel lasso di mezz'ora con pause di fino a 2 minuti (nella pratica, spesso 20-30 secondi in caso di comportamento atteso delle attrezzature).

Nell'esempio fornito del cliente C1 o del cliente C2 è necessario avvisare dei lavori con interruzione della connessione almeno tre volte: la prima volta per eseguire lavori su un POD, in cui si trova uno dei suoi server, la seconda volta per il secondo, e la terza volta durante il passaggio dell'attrezzatura per i servizi DCI.

Switching dei canali aggregati di comunicazione

Perché parliamo del comportamento previsto dell'attrezzatura e come i canali aggregati possano essere commutati minimizzando l'interruzione della connessione. Immaginiamo il seguente scenario:

La storia di un commutatore
Da un lato del link ci sono gli switch di distribuzione del POD — D1 e D2, formano tra loro una coppia MLAG (stack, VCS-factory, vPC-pair), dall'altro lato due link — Link 1 e Link 2 — sono inclusi nella coppia MLAG di vecchi switch di aggregazione E. Sugli switch D è stato creato un'interfaccia aggregata chiamata Port-channel A, sugli switch di aggregazione E — un'interfaccia aggregata chiamata Port-channel D.

Le interfacce aggregate nel loro funzionamento utilizzano LACP, ovvero gli switch da entrambi i lati scambiano regolarmente pacchetti LACPDU su entrambi i link per assicurarsi che i link:

  • siano operativi;
  • siano inclusi in una coppia di dispositivi sul lato remoto.

Durante lo scambio di pacchetti, viene trasmesso un valore system-id, che indica il dispositivo a cui sono inclusi questi collegamenti. Per una coppia MLAG (stack, fabric, ecc.) il valore di system-id per i dispositivi che costituiscono un'interfaccia aggregata è lo stesso. Lo switch D1 invia a Link 1 valore system-id D, e lo switch D2 invia a Link 2 valore system-id D.

Switch A1 e A2 analizza i pacchetti LACPDU ricevuti tramite un'interfaccia Po D e verifica la corrispondenza dello system-id in essi. Se lo system-id ricevuto da qualche collegamento dovesse differire da quello attualmente in uso, quel collegamento viene escluso dall'interfaccia aggregata fino a quando la situazione non viene risolta. Attualmente, sul lato degli switch D il valore attuale di system-id dall'LACP partner è A, mentre sul lato degli switch E il valore attuale di system-id dall'LACP partner è D.

In caso di necessità di commutazione dell'interfaccia aggregata, possiamo procedere in due modi diversi:

Metodo 1 - Semplice
Disattivare entrambi i collegamenti dagli switch A. In questo modo l'interfaccia aggregata non funziona.

La storia di un commutatore
Attivare entrambi i collegamenti a turno negli switch N, quindi ci sarà una nuova negoziazione dei parametri di funzionamento LACP, formazione dell'interfaccia Po D sugli switch N e trasmissione sui collegamenti del valore system-id N.

La storia di un commutatore

Metodo 2 - Minimizzazione dell'interruzione
Disconnettere dal switch A2 il link Link 2. In questo modo il traffico tra E e D continuerà a passare semplicemente attraverso uno dei link rimanenti nell'interfaccia aggregata.

La storia di un commutatore
Collegare il Link 2 allo switch N2. Sullo switch N è già configurata un'interfaccia aggregata Po DN, e lo switch N2 inizierà a trasmettere in LACPDU system-id N. A questo punto possiamo già verificare che lo switch N2 funziona correttamente con il trasmettitore utilizzato per Link 2, che la porta di connessione è passata allo stato Attiva, e che non si verificano errori sulla porta di connessione durante la trasmissione di LACPDU.

La storia di un commutatore
Ma il fatto che lo switch D2 per l'interfaccia aggregata Po A dalla parte Link 2 riceva un valore system-id N, diverso dal valore di system-id A attualmente operativo, non consente agli switch D di introdurre Link 2 nell'interfaccia aggregata. Po ALo switch N non può entrare Link 2 in funzione, poiché non riceve conferme di operatività dal partner LACP dello switch D2. Alla fine, il traffico su Link 2 non viene trasmesso.

E ora disconnettiamo il Link 1 dallo switch A1, privando così gli switch E e D dell'interfaccia aggregata funzionante. Pertanto, dal lato dello switch D scompare il valore di sistema attuale per l'interfaccia Po A.

La storia di un commutatore
Questo consente agli switch D e N di accordarsi per lo scambio del system-id A-N sulle interfacce Po A e Po DN, in modo che il traffico cominci a essere trasferito tramite il link Link 2. In questo caso, l'interruzione è, di fatto, fino a 2 secondi.

La storia di un commutatore
E ora possiamo tranquillamente commutare il Link 1 nello switch N1, ripristinando la capacità e il livello di ridondanza delle interfacce Po A e Po DN. Poiché collegando questo link non si modifica il valore attuale del system-id da nessuna parte, non si verifica alcuna interruzione.

La storia di un commutatore

Link aggiuntivi

Ma la commutazione può essere eseguita senza la presenza di un ingegnere al momento della commutazione. Per questo, è necessario predisporre in anticipo dei link aggiuntivi tra gli switch di distribuzione D e i nuovi switch di aggregazione N.

La storia di un commutatore
Colleghiamo nuovi link tra gli switch di aggregazione N e gli switch di distribuzione di tutti i POD. Questo richiede l'ordinazione e l'installazione di ulteriori patch cord, e l'installazione di ulteriori trasceiver sia in N, sia in D. Possiamo farlo, poiché abbiamo porte disponibili negli switch di D ogni POD (o le liberiamo in anticipo). Alla fine, ogni POD è fisicamente collegato tramite due link agli switch vecchi A e agli switch nuovi N.

La storia di un commutatore
Sullo switch D sono stati creati due interfacce aggregate — Po A con i link Link 1 e Link 2, e Po N — con i link Link N1 e Link N2. In questo momento verifichiamo la correttezza del collegamento delle interfacce e dei link, i livelli dei segnali ottici su entrambe le estremità dei link (attraverso le informazioni DDM dagli switch), possiamo anche controllare la funzionalità del link sotto carico o monitorare le condizioni dei segnali ottici e le temperature dei trasceiver per un paio di giorni.

Il traffico continua a passare attraverso l'interfaccia Po A, mentre l'interfaccia Po N è inattiva. Le impostazioni sulle interfacce sono all'incirca le seguenti:

Interfaccia Port-channel A
Modalità switchport trunk
Vlan consentiti C1, C2

Interfaccia Port-channel N
Modalità switchport trunk
Vlan consentiti nessuno

Gli switch D, in genere, supportano la modifica della configurazione in sessione, vengono utilizzati modelli di switch che hanno questa funzionalità. Pertanto, possiamo modificare le impostazioni delle interfacce Po A e Po N in un unico passaggio:

Configura sessione
Interfaccia Port-channel A
Vlan consentiti nessuno
Interfaccia Port-channel N
Vlan consentiti C1, C2
Impegnare

Quindi la modifica della configurazione avverrà abbastanza rapidamente e l'interruzione durerà, di fatto, non più di 5 secondi.

Questo approccio ci consente di svolgere tutto il lavoro preparatorio in anticipo, effettuare tutte le verifiche necessarie, coordinare le operazioni con i partecipanti al processo, prevedere dettagliatamente le azioni per la realizzazione dei lavori, senza voli di fantasia, quando "tutto è andato storto", e avere a disposizione un piano per tornare alla configurazione precedente. I lavori secondo questo piano vengono eseguiti dall'ingegnere di rete senza la presenza sul posto dell'ingegnere del data center, che esegue fisicamente le commutazioni.

Un'altra cosa importante in questo modo di commutazione è che tutti i nuovi link sono già stati messi in monitoraggio in anticipo. Errori, attivazione dei link nell'aggregato, caricamento dei link — tutte le informazioni necessarie sono già nel sistema di monitoraggio, e questo è già rappresentato sulle mappe.

D-Day

PODS

Abbiamo scelto il percorso meno doloroso per i clienti e meno soggetto a varianti di "qualcosa è andato storto" per le commutazioni con link aggiuntivi. Così, in poche notti, abbiamo commutato tutti i POD sui nuovi switch di aggregazione.

La storia di un commutatore
Ma resta da switchare l'attrezzatura che fornisce i servizi DCI.

L2

Nel caso dell'attrezzatura che fornisce la connettività L2, non abbiamo potuto effettuare operazioni analoghe con i link aggiuntivi. Ci sono almeno due motivi per questo:

  • Mancanza di porte libere della velocità necessaria sugli switch VXLAN.
  • Mancanza della funzionalità di modifica della configurazione della sessione sugli switch VXLAN.

Non abbiamo eseguito il passaggio dei link "uno alla volta" con una pausa solo per l'accordo della nuova coppia system-id, poiché non avevamo la certezza al 100% che la procedura sarebbe andata a buon fine, e il test in laboratorio ha mostrato che, nel caso in cui "qualcosa vada storto", otteniamo comunque un'interruzione della connessione, e cosa più grave, non solo per i clienti che hanno la connettività L2 con altri data center, ma anche per tutti i clienti di questo data center.

Abbiamo effettuato in anticipo un lavoro di sensibilizzazione per il passaggio dai canali L2, quindi il numero di clienti coinvolti nelle operazioni sui commutatori VXLAN era già significativamente ridotto rispetto a un anno fa. Di conseguenza, abbiamo deciso di interrompere il servizio di connettività L2 a condizione di mantenere il corretto funzionamento dei servizi di rete locale in un datacenter. Inoltre, SLA per questo servizio prevede la possibilità di effettuare lavori pianificati con interruzione.

L3

Perché abbiamo raccomandato a tutti di passare all'utilizzo di L3VPN per l'organizzazione dei servizi DCI? Una delle ragioni è la possibilità di effettuare lavori su uno dei router che forniscono questo servizio, semplicemente riducendo il livello di ridondanza a N+0, senza interruzione della connettività.

Esaminiamo più da vicino lo schema di fornitura del servizio. In questo servizio, il segmento L2 va dai server dei clienti solo ai router L3VPN di Selectel. La rete del cliente viene terminata sui router.

Ogni server del cliente, ad esempio, S2 e S3 nello schema fornito, ha le sue private Indirizzi IP10.0.0.2/24 per il server S2 e 10.0.0.3/24 per il server S3. Gli indirizzi 10.0.0.252/24 e 10.0.0.253/24 sono assegnati da Selectel ai router L3VPN-1 e L3VPN-2, rispettivamente. L'indirizzo IP 10.0.0.254/24 è l'indirizzo VIP VRRP sui router Selectel.

Per maggiori dettagli sul servizio L3VPN, puoi leggere trovarli nel nostro blog.

Fino al momento del failover, tutto era simile allo schema:

La storia di un commutatore
Due router L3VPN-1 e L3VPN-2 erano collegati a un vecchio switch di aggregazione E. Il master per l'indirizzo VIP VRRP 10.0.0.254 è il router L3VPN-1. Ha una priorità per questo indirizzo superiore a quella del router 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;
            }
        }
    }
}

Il server S2 per comunicare con i server in altre località utilizza il gateway 10.0.0.254. Pertanto, la disconnessione del router L3VPN-2 (naturalmente, dopo averlo scollegato dal dominio MPLS) non influisce sulla connettività dei server del cliente. In questo momento, si riduce semplicemente il livello di ridondanza dello schema.

La storia di un commutatore
Dopo di ciò, possiamo tranquillamente riconnettere il router L3VPN-2 a un paio di switch N. Creare collegamenti, sostituire i transceiver. Le interfacce logiche del router, da cui dipendono i servizi per i clienti, rimangono disattivate fino a conferma che tutto funzioni correttamente.

Dopo il controllo dei collegamenti, dei transceiver, dei livelli di segnale e dei livelli di errori sulle interfacce, il router viene attivato, ma già collegato a una nuova coppia di switch.

La storia di un commutatore
Successivamente abbassiamo la priorità VRRP del router L3VPN-1, e l'indirizzo VIP 10.0.0.254 si sposta sul router L3VPN-2. Queste operazioni avvengono senza interruzione del servizio.

La storia di un commutatore
Trasferimento dell'indirizzo VIP 10.0.0.254 al router L3VPN-2 permette di disattivare il router L3VPN-1 senza interruzione della connessione per il cliente e di collegarlo già a una nuova coppia di switch di aggregazione. N.

La storia di un commutatore
Se riportare il VIP VRRP sul router L3VPN-1 o meno è un'altra questione, e se si decide di farlo, avviene senza interruzione della connessione.

Totale

Dopo tutte queste operazioni, abbiamo davvero sostituito gli switch di aggregazione in uno dei nostri data center, minimizzando al contempo le interruzioni per i nostri clienti.

La storia di un commutatore
Resta solo da eseguire il smontaggio. Smontaggio degli switch obsoleti, smontaggio dei link obsoleti tra gli switch A e D, smontaggio dei transceiver di questi link, correzione del monitoraggio, correzione degli schemi di rete nella documentazione e nel monitoraggio.

Gli switch, i transceiver, i cavi patch, AOC e DAC rimanenti dopo le switch, possiamo utilizzarli in altri progetti o per altri switch simili.

«Natasha, abbiamo completato il switch!»

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster