Google установила причину сбоя электропитания 20 октября, который привел к отключению британских банков, судов и курьерских служб. Виновником оказался программируемый логический контроллер (ПЛК), который измерял напряжение сети не с той стороны автоматического выключателя. Эта единственная ошибка в датчике помешала запуску резервных генераторов объекта и привела к полному разряду батарей ИБП.
Сбой начался около 06:53 по британскому летнему времени, когда внешний подземный кабельный дефект вывел из строя основное питание объекта в центре обработки данных, где размещается europe-west2-b, одна из трех зон доступности в лондонском регионе. Объект должен был справиться с этим сбоем. Вместо этого дизельные генераторы не запустились, статические батареи ИБП, рассчитанные всего на пять минут работы, разрядились, и залы данных полностью обесточились.
Причина, по которой генераторы остались бездействовать, кроется в решении, принятом за неделю до этого. После ежеквартального испытания генератора под нагрузкой 14 октября Google отключила вторую линию электропитания для проведения ремонтных работ, оставив объект в «временном режиме обслуживания с одной линией (1N)» вместо обычной конструкции с двумя линиями (2N). Когда оставшаяся линия также вышла из строя, живое сетевое питание отсутствовало, а контроллер, который должен был запустить генераторы, смотрел не туда.
ПЛК — это прочный промышленный компьютер, выполняющий простую управляющую логику. При падении входного напряжения он запускает генераторы. Ошибка заключалась в том, где он производил измерения. Датчики пониженного напряжения ПЛК были подключены выше автоматического выключателя линии B. Этот выключатель был разомкнут, но кабель на стороне сети оставался под напряжением. Поэтому, когда линия A вышла из строя, контроллер увидел нормальное напряжение на все еще находящейся под напряжением линии B — кабеле, не подключенном ни к чему, что реально использовалось зданием, — и пришел к выводу, что сеть в порядке. Пониженное напряжение не было обнаружено, поэтому команда на запуск не была выдана.
В отчете Google это названо «неправильной конфигурацией логики ПЛК, которая не проверяла одновременно условие пониженного напряжения и физическое положение выключателя». Проще говоря, контроллер спрашивал, есть ли еще питание на улице, но не проверял, поступает ли это питание в здание — электрический эквивалент проверки сети за пределами дома, а не автоматического выключателя в вашем собственном распределительном щитке.
Последствием стало зональное отключение и каскадный сбой по всему региону. Google перечисляет более 35 затронутых сервисов Google Cloud в europe-west2. Среди них:
Вниз по течению сбой затронул известные компании. В сообщениях того времени среди пострадавших банков были названы Lloyds, HSBC, Halifax и Revolut, а также видеоконференции Службы судов и трибуналов Ее Величества, Royal Mail, части NHS, ряд розничных продавцов и курьерских служб. Поставщики технологий, включая Stripe, Snowflake, MongoDB и JFrog, также сообщили о сопутствующих проблемах, а сбой впоследствии побудил депутатов спросить финансовых регуляторов, как они будут справляться с будущим риском концентрации в Google Cloud.
Поскольку зона была темной, автоматическое переключение нагрузки перенесло рабочие нагрузки на две оставшиеся зоны. Внезапный приток перенаправленных вычислений, переключение баз данных и межзональный трафик насытили доступные мощности, вызвали очереди, задержки переключения и привели к периодическим ошибкам HTTP 500 и 503 в более широком лондонском регионе. Google описала это как ухудшенное состояние, а не полный сбой управляющей плоскости региона, но многозональные и региональные службы по-прежнему испытывали повышенную задержку и тайм-ауты API, в то время как некоторые клиенты в нетронутых зонах сообщили о последствиях.
Окончательный отчет Google об инциденте связывает сбой в лондонском регионе europe-west2 20 октября с программируемым логическим контроллером, который отслеживал напряжение сети не с той стороны автоматического выключателя. Поскольку он видел кабель под напряжением, он так и не запустил резервные генераторы; затем разрядились батареи ИБП, и возникший всплеск при переключении нагрузки ухудшил состояние всего региона примерно на шесть часов.
Google изложила исправления. Были переконфигурированы и протестированы код ПЛК и логика пониженного напряжения, так что теперь запуск генератора зависит от фактического обесточивания шины и положения выключателя, а не от показаний напряжения выше по линии. Проверка проводилась 20 и 26 октября. Начался аудит конфигураций ПЛК на других объектах с аналогичными топологиями, а также запланированы скоординированные ремонтные работы кабелей, испытания передачи нагрузки генераторов и полное восстановление конфигурации двойного питания в течение ноября.
Инцидент несет более широкий урок для корпоративных ИТ. Многоуровневая защита — двойное питание, батареи и генераторы — была сведена на нет одной ошибкой датчика, которая имела значение только потому, что объект уже работал в ухудшенном режиме обслуживания. Поскольку Google управляет одним облачным регионом в Великобритании, не было регионального переключения нагрузки, на которое можно было бы опереться, а оставшиеся зоны, предназначенные для поглощения трафика потерянной зоны, были перегружены, поэтому даже клиенты, использующие многозональные архитектуры, почувствовали последствия. Этот эпизод подчеркивает уроки непрерывности для ИТ-руководителей, которые следуют за любой якобы избыточной облачной конструкцией, в то время как стоимость и сложность сбоев в центрах обработки данных продолжают расти.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Antony Adshead




