La storia di un'interruzione

La storia di un'interruzione
Nella nostra aggregazione della rete locale c'erano sei coppie di switch Arista DCS-7050CX3-32S e una coppia di switch Brocade VDX 6940-36Q. Non è che gli switch Brocade ci creassero grandi problemi in questa rete, funzionano ed eseguono le loro funzioni, ma stavamo preparando l'automazione completa di alcune azioni, e queste capacità non le avevamo su questi switch. Inoltre, volevamo passare dalle interfacce 40GE alla possibilità di utilizzare 100GE, per avere un margine per i prossimi 2-3 anni. Così abbiamo deciso di sostituire Brocade con Arista.

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

La storia di un'interruzione
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 collegamenti fisici dallo switch di accesso a diversi switch di distribuzione vengono utilizzati per la ridondanza).

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

La storia di un'interruzione
I clienti possono ordinare un server in qualsiasi fila; non è possibile prevedere in anticipo se il server sarà assegnato o installato in una fila specifica in un rack specifico, quindi sugli switch di aggregazione ci sono circa 2500 VLAN in ogni data center.

L'attrezzatura per il DCI (Data-Center Interconnect) si collega agli switch di aggregazione. Essa può essere destinata alla connettività L2 (una coppia di switch che forma un tunnel VXLAN verso un altro data center) così come alla connettività L3 (due router MPLS).

La storia di un'interruzione
Come ho già scritto, per unificare i processi di automazione della configurazione dei servizi su hardware in un unico data center, è stato necessario sostituire i switch di aggregazione centrali. Abbiamo installato nuovi switch accanto a quelli esistenti, li abbiamo uniti in una coppia MLAG e ci siamo preparati ai lavori. Sono stati immediatamente collegati agli switch di aggregazione esistenti, creando così un dominio L2 comune su tutte le VLAN dei clienti.

Dettagli dello schema

Per essere più specifici, chiamiamo gli switch di aggregazione vecchi A1 e A2, i nuovi — N1 e N2. Immaginiamo che in POD 1 e POD 4 siano collocati server di un unico cliente C1, la VLAN del cliente è indicata con il colore 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 colloca server in POD 2 e POD 3, la VLAN del cliente è indicata con il colore verde scuro. Anche questo cliente utilizza un 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'interruzione
Le VLAN dei clienti ci servono per capire in quali fasi dei lavori di sostituzione cosa sta accadendo, dove si verifica un'interruzione della connessione e quale potrebbe essere la sua durata. Il protocollo STP non è utilizzato in questo schema, poiché la larghezza dell'albero per lui risulta essere grande in questo caso, e la convergenza del protocollo cresce esponenzialmente in base al numero di dispositivi e collegamenti tra di essi.

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

Opzioni di implementazione

Analizzando le opzioni per i prossimi eventi, abbiamo capito che ci sono diversi modi per eseguire questi lavori. Da un'interruzione globale su tutta la rete locale, fino a piccole interruzioni di 1-2 secondi in parti della rete.

Rete, fermati! Switch, sostituiti!

Il modo più semplice è, ovviamente, dichiarare un'interruzione globale della connessione su tutti i POD e su tutti i servizi DCI e switchare tutti i collegamenti dagli switch A ai switch N.

La storia di un'interruzione
Oltre alla pausa, il cui tempo non possiamo prevedere con certezza (sì, sappiamo quanti collegamenti ci sono, ma non sappiamo quante volte qualcosa andrà storto - da un cavo patch rotto o un connettore danneggiato a un guasto della porta o del trasmettitore), non possiamo ancora prevedere se la lunghezza dei cavi patch, DAC, AOC, collegati ai vecchi switch A, sarà sufficiente per portarli agli switch N, che sebbene siano vicini, sono comunque un po' distanti, e se gli stessi trasmettitori/DAC/AOC degli switch Brocade funzioneranno negli switch Arista.

E tutto questo sotto la pressione costante dei clienti e del supporto tecnico ("Natasha, alzati! Natasha, non funziona niente! Natasha, abbiamo già contattato il supporto tecnico, davvero! Natasha, hanno già fatto cadere tutto! Natasha, quanto tempo ci vorrà ancora? Natasha, quando funzionerà?!"). Anche se è stata annunciata una pausa e notificato ai clienti, il numero di richieste in quel momento è garantito.

Fermati, 1-2-3-4!

E se non annunciassimo una pausa globale, ma una serie di piccole pause di collegamento per POD e servizi DCI. Durante la prima pausa si cambiano gli switch N solo POD 1, nella seconda - dopo un paio di giorni - POD 2, poi dopo un altro paio di giorni POD 3, successivamente POD 4…[N], poi switch VXLAN e poi router L3VPN.

La storia di un'interruzione
Con questo approccio alla organizzazione dei lavori di commutazione, riduciamo la complessità dei lavori simultanei e aumentiamo il tempo a disposizione per risolvere i problemi se qualcosa dovesse andare storto. La connettività del POD 1 dopo il cambio con gli altri POD e DCI non viene persa. Tuttavia, i lavori si allungano nel tempo, e durante tali operazioni nel data center è necessaria la presenza di un ingegnere per l'esecuzione fisica delle commutazioni. Durante i lavori (che solitamente avvengono di notte, dalle 2 alle 5 del mattino) è necessaria la presenza di un ingegnere di rete online di alta qualificazione. D'altra parte, otteniamo brevi interruzioni di connessione, e in generale, i lavori possono essere eseguiti in un intervallo di mezz'ora con un'interruzione fino a 2 minuti (nella pratica, spesso 20-30 secondi in caso di comportamento prevedibile dell'attrezzatura).

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

Commutazione dei canali di comunicazione aggregati

Perché parliamo del comportamento atteso delle attrezzature e di come possano commutare i canali aggregati minimizzando l'interruzione della connessione. Immaginiamo il seguente scenario:

La storia di un'interruzione
Da un lato della connessione ci sono gli switch di distribuzione POD - D1 e D2, essi formano tra di loro una coppia MLAG (stack, VCS-factory, coppia vPC), dall'altro lato due collegamenti - Collegamento 1 e Collegamento 2 sono inclusi nella coppia MLAG dei vecchi switch di aggregazione A. Dalla parte degli switch D è stato formato un'interfaccia aggregata con il nome Port-channel A, dalla parte degli switch di aggregazione A c'è un'interfaccia aggregata con il nome Port-channel D.

Le interfacce aggregate utilizzano LACP nel loro funzionamento, cioè gli switch su entrambi i lati scambiano regolarmente pacchetti LACPDU su entrambi i collegamenti per accertarsi che i collegamenti:

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

Durante lo scambio dei pacchetti, viene trasmesso il valore system-id, che indica il dispositivo a cui questi collegamenti sono connessi. Per una coppia MLAG (stack, factory, ecc.), il valore dello system-id per i dispositivi che formano l'interfaccia aggregata è lo stesso. Lo switch D1 invia a Collegamento 1 valore system-id D, e lo switch D2 invia a Collegamento 2 valore system-id D.

Switch A1 e A2 analizzano i pacchetti LACPDU ricevuti su un'interfaccia Po D e controllano la corrispondenza dello system-id in essi. Se lo system-id ricevuto su uno dei collegamenti dovesse differire dal valore operativo attuale, quel collegamento viene escluso dall'interfaccia aggregata fino a quando la situazione non viene corretta. Attualmente, dalla parte degli switch D il valore attuale dello system-id dal partner LACP è - A, mentre dalla parte degli switch A il valore attuale dello system-id dal partner LACP è - D.

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

Metodo 1 - Semplice
Disconnettere entrambi i collegamenti dagli switch A.In questo caso, il canale aggregato non funziona.

La storia di un'interruzione
Collegare entrambi i collegamenti uno alla volta agli switch N, quindi si verificherà nuovamente l'accordo sui parametri di funzionamento di LACP, formando l'interfaccia Po D sugli switch N e trasmettendo sui collegamenti il valore system-id N.

La storia di un'interruzione

Metodo 2 — Minimizzazione dell'interruzione
Disconnetti dal commutatore A2 il link Link 2. In questo modo, il traffico tra A e D continuerà a essere trasmesso tramite uno dei link che rimarrà parte dell'interfaccia aggregata.

La storia di un'interruzione
Collega Link 2 al commutatore N2. Sul commutatore 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 il commutatore N2 funziona correttamente con il trasmettitore utilizzato per Collegamento 2, che la porta di connessione è passata allo stato Attivo, e che durante il trasferimento di LACPDU non si verificano errori sulla porta di connessione.

La storia di un'interruzione
Ma il fatto che il commutatore D2 per l'interfaccia aggregata Po A dalla parte di Link 2 riceve un valore system-id N, diverso dall'attuale valore di lavoro system-id A, non consente ai commutatori D di inserire Collegamento 2 nell'interfaccia aggregata. Po AIl commutatore N non può essere attivato Collegamento 2 in quanto non riceve conferma di operatività dal partner LACP del commutatore D2. Alla fine, il traffico non viene Collegamento 2 trasmesso.

Ora disattiviamo Link 1 dal commutatore A1, privando in questo modo i commutatori A e D di un'interfaccia aggregata funzionante. Così, dal lato del commutatore D scompare il valore corrente system-id per l'interfaccia Po A.

La storia di un'interruzione
Questo consente ai commutatori D e N di accordarsi per lo scambio di system-id A-N sulle interfacce Po A e Po DN, in modo che il traffico inizi a essere trasmesso tramite il link Collegamento 2. L'interruzione in questo caso è, nella pratica, di circa 2 secondi.

La storia di un'interruzione
Ora possiamo semplicemente riconnettere Link 1 al commutatore N1, ripristinando la capacità e il livello di ridondanza delle interfacce Po A e Po DN. Poiché collegando questo link non cambia il valore attuale del system-id da nessuna parte, non si verifica interruzione.

La storia di un'interruzione

Link aggiuntivi

Ma è possibile effettuare il passaggio senza la presenza di un ingegnere al momento dello switch. A tal fine, è necessario posare preliminarmente link aggiuntivi tra i commutatori di distribuzione D e i nuovi commutatori di aggregazione N.

La storia di un'interruzione
Colleghiamo nuovi link tra i commutatori di aggregazione N e i commutatori di distribuzione di tutti i POD. Questo richiede di ordinare e posare cavi patch aggiuntivi, e installare trasmettitori addizionali sia in N, sia in D. Possiamo farlo, poiché nei nostri commutatori D di ogni POD ci sono porte disponibili (o le liberiamo in anticipo). Alla fine, ogni POD è fisicamente connesso a due collegamenti ai vecchi switch A e ai nuovi switch N.

La storia di un'interruzione
Sullo switch D sono stati formati due interfacce aggregate — Po A con collegamenti Collegamento 1 e Collegamento 2, e Po N — con collegamenti Link N1 e Link N2. In questa fase verifichiamo la correttezza del collegamento delle interfacce e dei collegamenti, i livelli dei segnali ottici su entrambe le estremità dei collegamenti (attraverso le informazioni DDM dagli switch), possiamo persino controllare il funzionamento del collegamento sotto carico o monitorare lo stato dei segnali ottici e la temperatura dei trasmettitori per un paio di giorni.

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

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

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

Gli switch D, in genere, supportano la modifica della configurazione della sessione, vengono utilizzati modelli di switch che hanno questa funzionalità. Quindi possiamo effettuare la modifica delle impostazioni delle interfacce Po A e Po N in un'unica operazione:

Configura sessione
Interfaccia Port-channel A
Switchport allowed vlan none
Interfaccia Port-channel N
Switchport allowed vlan C1, C2
Commit

Allora la modifica della configurazione avverrà abbastanza velocemente e l'interruzione sarà, in pratica, non più di 5 secondi.

Questo approccio ci consente di eseguire tutti i lavori preparatori in anticipo, di effettuare tutti i controlli necessari, di coordinare i lavori con i partecipanti al processo, di prevedere dettagliatamente le azioni per l'esecuzione dei lavori, senza colpi di genio, quando «tutto è andato storto», e di avere a disposizione un piano di ripristino alla configurazione precedente. I lavori secondo questo piano vengono effettuati dall'ingegnere di rete senza la presenza sul posto dell'ingegnere del data center, che effettua fisicamente le commutazioni.

Cosa c'è di importante in questo tipo di commutazioni — tutti i nuovi collegamenti sono già stati messi in monitoraggio in anticipo. Errori, attivazione dei collegamenti nell'aggregato, utilizzo dei collegamenti — tutte le informazioni necessarie sono già nel sistema di monitoraggio e sono già visualizzate nelle mappe.

D-Day

POD

Abbiamo scelto il percorso meno problematico per i clienti e meno soggetto a varianti di «qualcosa è andato storto» per le commutazioni con collegamenti aggiuntivi. Così, in un paio di notti abbiamo trasferito tutti i POD ai nuovi switch di aggregazione.

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

L2

Nel caso di attrezzature che assicurano la connessione L2, non siamo riusciti a eseguire lavori simili con i link aggiuntivi. Le ragioni sono almeno due:

  • Mancanza di porte libere con la velocità richiesta sugli switch VXLAN.
  • Assenza della funzionalità di modifica della configurazione della sessione sugli switch VXLAN.

Non abbiamo effettuato il passaggio dei link «uno per uno» con una pausa solo nel tempo necessario per l'allineamento di una nuova coppia di system-id, perché non avevamo la certezza al 100% che la procedura sarebbe andata a buon fine, e il test in laboratorio ha dimostrato che nel caso in cui «qualcosa va storto», otteniamo comunque un'interruzione della connessione, e cosa più grave — non solo per i clienti che hanno una connessione L2 con altri data center, ma in generale per tutti i clienti di questo data center.

A suo tempo, abbiamo svolto un lavoro di sensibilizzazione per passare dai canali L2, quindi il numero di clienti coinvolti nei lavori sugli switch VXLAN era già di gran lunga inferiore rispetto a un anno fa. Alla fine, abbiamo deciso di interrompere la connessione per il servizio di connettività L2 a condizione che mantenessimo il normale funzionamento dei servizi di rete locale in un data center. Inoltre, la SLA per questo servizio prevede la possibilità di effettuare lavori programmati con interruzione.

L3

Perché abbiamo raccomandato a tutti di passare all'uso di L3VPN nella gestione dei servizi DCI? Una delle ragioni è la possibilità di eseguire i lavori su uno dei router che offrono questo servizio, semplicemente riducendo il livello di ridondanza a N+0, senza interruzione della connessione.

Esaminiamo la scheda di fornitura del servizio più attentamente. 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 nella scheda fornita, ha i suoi indirizzi privati Indirizzi IP10.0.0.2/24 sul server S2 e 10.0.0.3/24 sul server S3. Gli indirizzi 10.0.0.252/24 e 10.0.0.253/24 sono stati 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.

Maggiore dettaglio sul servizio L3VPN può essere lettura nel nostro blog.

Fino al momento del passaggio, tutto appariva circa come nello schema:

La storia di un'interruzione
Due router L3VPN-1 e L3VPN-2 erano collegati allo switch di aggregazione esistente A. Il master per l'indirizzo VIP VRRP 10.0.0.254 è il router L3VPN-1. Ha un livello di priorità per questo indirizzo superiore a quello 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 utilizza il gateway 10.0.0.254 per comunicare con i server in altre sedi. Pertanto, la disconnessione dal router L3VPN-2 (naturalmente, dopo averlo scollegato dal dominio MPLS) non influisce sulla connettività dei server del cliente. In quel momento, si riduce semplicemente il livello di ridondanza dello schema.

La storia di un'interruzione
Dopo questo, possiamo tranquillamente ricollegare il router L3VPN-2 a un paio di switch N. Tracciare i link, cambiare i trasmettitori. Le interfacce logiche del router, da cui dipendono i servizi clienti, rimangono spente fino a quando non viene confermato che tutto funziona come dovrebbe.

Dopo aver controllato i link, i trasmettitori, i livelli dei segnali e i livelli di errore sulle interfacce, il router viene messo in funzione, ma già collegato al nuovo paio di switch.

La storia di un'interruzione
Successivamente, abbassiamo la priorità VRRP del router L3VPN-1, e l'indirizzo VIP 10.0.0.254 viene trasferito al router L3VPN-2. Questi lavori vengono eseguiti anch'essi senza interruzioni nella connessione.

La storia di un'interruzione
Il trasferimento dell'indirizzo VIP 10.0.0.254 al router L3VPN-2 permette di scollegare il router L3VPN-1 senza interruzione della connessione per il cliente e di collegarlo già al nuovo paio di switch di aggregazione N.

La storia di un'interruzione
Se ripristinare il VIP VRRP sul router L3VPN-1 sia o meno una questione diversa, e anche se si decide di ripristinarlo, ciò avviene senza interruzioni nella connessione.

Totale

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

La storia di un'interruzione
Restano solo le operazioni di smontaggio. Smontaggio dei vecchi switch, smontaggio dei vecchi link tra gli switch A e D, smontaggio dei trasmettitori da questi link, correzione del monitoraggio, correzione dello schema di rete nella documentazione e nel monitoraggio.

Gli switch, i trasmettitori, i patch cord, AOC, DAC rimasti dopo i cambiamenti, possiamo utilizzarli in altri progetti o in altre simili riconnessioni.

«Natasha, abbiamo completato il cambiamento!»

Fonte: habr.com

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