1 сентября техник пришёл менять оптические трансиверы на маршрутизаторах Google Cloud в
us-central1Маршрутизаторы стояли в разных помещениях, питались отдельно и использовали независимые оптические пути. Всё как положено: отключаешь один, обслуживаешь, возвращаешь в строй, переходишь ко второму.
В рабочем задании был полный список трансиверов для замены. Не было только указания менять их по одному маршрутизатору за раз.
Техник пошёл по списку. Через 13 минут все оптические пути на затронутом оборудовании были отключены.
В части
us-central1-b и us-central1-f трафик местами исчез полностью. Виртуальные машины отвалились от сети, GKE control plane начал сыпать ошибками. Восстановление заняло 4 часа 11 минут.Самое интересное начинается в разделе про защитные механизмы.
Программные проверки опасную последовательность не остановили. Обязательной человеческой проверки перед отключением не оказалось. Процедура требовала прекратить работу, если в волокне обнаружен активный сигнал, но работа продолжилась.
Мониторинг всё заметил. Уже после того, как смотреть стало практически не на что.
Multi-zone-развёртывания через другие зоны региона в основном пережили инцидент нормально, поэтому мораль не в том, что резервирование бесполезно.
Просто две коробки в разных комнатах — ещё не два независимых контура, если один чек-лист позволяет выключить обе.
Теперь Google добавляет автоматическую последовательность обслуживания, принудительную остановку опасных операций и ускоряет отвод регионального трафика с 19 до 5 минут.
То есть чинит не маршрутизаторы. Чинит возможность обслуживать их одновременно.
Постмортем Google Cloud:
https://status.cloud.google.com/incidents/J5ia5t9p3g9Q5Wi7r8Ev
#sre
