Quando la mattina del 20 ottobre è mancata l'alimentazione di rete alla zona europe-west2-b di Google a Londra, le batterie degli UPS hanno fatto il loro lavoro e hanno sostenuto il carico per circa cinque minuti. I generatori, invece, non hanno mai ricevuto il comando di avvio. Google ha pubblicato il rapporto aggiornato sull'incidente il 4 novembre e The Register ne ha scritto il giorno dopo: le sale dati sono rimaste senza corrente per ben più di un'ora, e ci sono volute poco più di sei ore perché la maggior parte dei servizi cloud di Google nella zona tornasse a funzionare regolarmente.
Un sito 2N alimentato da una sola linea
Google descrive un'alimentazione di rete 2N con due linee indipendenti, A e B, un allacciamento di riserva alla rete per trasferire manualmente l'intero campus e un banco centrale di generatori in alta tensione comandato da un PLC a doppia ridondanza. Nella pratica il sito funzionava su un solo ramo. La prova di carico trimestrale dei generatori del 14 ottobre aveva fatto emergere dei problemi, l'interruttore della linea B era stato aperto per le riparazioni e la linea A sosteneva da sola l'intero carico critico.
Alle 22:53 ora del Pacifico del 19 ottobre, le 06:53 a Londra, un cavo interrato del fornitore di energia si è guastato e ha messo fuori servizio la linea A. A quel punto sono stati i controlli a tradire il sito. Secondo Google, gli ingressi di rilevamento della minima tensione del PLC erano cablati sul lato rete degli interruttori di linea. La linea B era aperta al proprio interruttore, ma a monte era ancora in tensione: entrambi i PLC, che eseguono la stessa logica, hanno quindi letto una tensione regolare e concluso che fosse disponibile una fonte di rete valida. La logica non verificava la posizione degli interruttori insieme alla tensione, e nessun comando di avvio è partito.
Il personale in sito ha tentato un trasferimento del carico a distanza tramite il PLC, che lo ha rifiutato per la stessa lettura di tensione sulla linea B. Il carico è stato allora spostato sull'allacciamento di riserva, ma le batterie si sono esaurite durante la commutazione. L'alimentazione è tornata nelle sale dati alle 00:20 ora del Pacifico, dopo che i controllori di automazione dei generatori erano stati resettati e collaudati.
Quaranta prodotti e qualche disco lento
Le risorse zonali di europe-west2-b, dalle macchine virtuali di Compute Engine ai dischi zonali e ai database senza alta disponibilità, sono diventate irraggiungibili. Alcuni servizi regionali non sono passati correttamente sulle altre zone, e lo storage ha impiegato molto tempo a riprendersi dopo lo spegnimento non controllato; l'aggiornamento di Google elenca circa 40 prodotti della regione tra quelli coinvolti. Secondo The Register, clienti come Lloyds, HSBC, Royal Mail e Revolut hanno subito interruzioni.
Le correzioni che Google indica sul lato impianto sono precise. Il PLC è stato riconfigurato il 20 e il 26 ottobre, e negli stessi giorni sono state eseguite prove complete di trasferimento del carico con avvio automatico dei generatori. Per novembre sono in programma una revisione del codice con il fornitore del PLC, un controllo dei siti analoghi e nuove prove con entrambe le linee di nuovo in servizio. Le procedure di emergenza per la perdita della fonte di rete attiva sono state riscritte e ora vengono esercitate due volte per turno, la manutenzione programmata nei siti con la stessa topologia è sospesa, e un secondo team di Google dovrà esaminare il codice dei PLC entro un trimestre da ogni consegna di un impianto.
La prova che nessuno mette in calendario
Nulla nel rapporto chiama in causa i motori. La centrale dei generatori c'era e, una volta ricevuto l'ordine di partire, è partita. A cedere è stata la catena che le dà quell'ordine, in una configurazione in cui il sito si trovava solo per via della manutenzione. La maggior parte dei collaudi di accettazione apre l'alimentazione in ingresso con tutto il resto nella posizione normale. Meno numerosi sono quelli che ripetono la prova con una linea isolata, un interruttore estratto o uno schema di trasferimento lasciato in manuale, cioè proprio la situazione in cui molti siti trascorrono buona parte delle settimane di manutenzione. Una domanda da aggiungere a qualsiasi piano di messa in servizio: per ogni punto di misura, su quale lato di quale interruttore si trova, e che cosa conclude il controllore quando quell'interruttore è aperto?
L'altra lezione riguarda il tempo. Cinque minuti di autonomia delle batterie non lasciano spazio a una manovra manuale mai provata prima, e le due esercitazioni per turno introdotte da Google lo confermano. Il lato generatori di questi siti è trattato nella nostra pagina sui data center; un approccio molto diverso all'alimentazione di backup è emerso con il sito di Microsoft ad Atlanta senza generatori.
Fonti: The Register, Google Cloud Service Health (rapporto sull'incidente)
