Хронология Отключений Электроэнергии В Дата-Центре Google App Engine

Если у вас дома отключилось электричество, скорее всего, с вашим компьютером ничего серьезного не произойдет. Конечно, может перегореть блок питания или накрыться диск – это для вас неприятно, но не смертельно.

Но что произойдет, если в крупном дата-центре, обслуживающем сотни тысяч пользователей, отключится электричество? 24 февраля в дата-центре, где он работал Google App Engine , электричество пропало.

App Engine был недоступен более двух часов.

Полный отчет об этом происшествии можно найти читать в списке рассылки , а перевод хронологии провала и некоторых выводов читайте ниже.

Раннее утро.

7:48 .

Графики мониторинга начинают показывать, что в основном дата-центре есть некоторые проблемы и количество ошибок неуклонно растет. Примерно в то же время в списке рассылки появились сообщения от пользователей о проблемах с доступом к App Engine. 7:53 .

Инженеры по надежности объекта отправляют сообщение большому количеству дежурных инженеров о том, что в главном центре обработки данных отключено питание.

В дата-центрах на такой случай есть резервные генераторы, но в этом случае примерно 25% машин в дата-центре не получили вовремя резервное питание и вышли из строя.

В это время наш дежурный инженер получил сигнал на пейджер.

8:01 .

К этому времени дежурный инженер определил масштаб неисправности и установил, что App Engine не работает. Согласно процедуре, он предупредил менеджеров по продуктам и технических руководителей, чтобы они проинформировали пользователей о сбое.

Через несколько минут в списке рассылки появляется первое сообщение от команды App Engine («Мы изучаем эту проблему»).

8:22 .

После анализа мы устанавливаем, что хотя электроснабжение дата-центра было восстановлено, многие машины не пережили отключение и не способны обслуживать трафик.

В частности, было установлено, что кластеры GFS и Bigtable находятся в неисправном состоянии из-за потери большого количества машин и поэтому Datastore не может использоваться в основном дата-центре.

Команда дежурных инженеров обсуждает экстренный переезд в альтернативный центр обработки данных.

Принимается решение о проведении аварийных работ по порядку действий при внезапном отключении электроэнергии.

8:36 .

Команда App Engine отправляет команде дополнительные сообщения о сбоях.

appengine-downtime-уведомить и дальше Сайт статуса App Engine .

8:40 .

Главный дежурный инженер обнаруживает два противоречивых набора процедур.

Это стало результатом недавнего изменения операционных процессов в связи с переездом хранилища данных.

Обсуждение с другими дежурными инженерами не привело к единому мнению, и инженеры пытаются установить контакт с теми, кто отвечал за изменение процедур для разрешения ситуации.

8:44 .

Пока все пытаются разобраться, какой аварийный порядок действий правильный, дежурный инженер пытается перевести трафик только для чтения в альтернативный дата-центр.

Трафик был передан, но из-за непредвиденной проблемы с настройкой этой процедуры она работает неправильно.

9:08 .

Различные инженеры диагностируют проблемы с трафиком только для чтения в альтернативном дата-центре.

Однако тем временем главный дежурный инженер получает данные, которые заставляют его полагать, что главный дата-центр восстановился и может продолжать работать.

Однако у инженера не было четких инструкций по принятию этого решения, которые могли бы подсказать ему, что восстановление на данный момент маловероятно.

В попытке восстановить обслуживание трафик перенаправляется обратно в основной центр обработки данных, в то время как другие инженеры продолжают исследовать проблему трафика только для чтения в альтернативном центре обработки данных.

9:18 .

Главный дежурный инженер определяет, что основной дата-центр не восстановился и не может обслуживать трафик.

В этот момент дежурным инженерам ясно, что сигнал был ложным, основной дата-центр все еще неработоспособен и им нужно сосредоточиться на альтернативном и аварийном порядке.

9:35 .

Устанавливается контакт с инженером, знакомым с порядком действий в аварийной ситуации, и он начинает управлять процессом.

Трафик передается на альтернативный DC сначала в режиме только для чтения.

9:48 .

Обслуживание внешних пользователей с альтернативного ДЦ начинается в режиме «только чтение».

Приложения, которые корректно работают с периодами только для чтения, на этом этапе должны работать корректно, хотя и с ограниченной функциональностью.

9:53 .

После консультации, которая теперь онлайн, с соответствующим инженером, правильная документация аварийной процедуры уточняется и подтверждается и готова к использованию дежурным инженером.

Начинается фактическая процедура экстренной передачи чтения/записи.

10:09 .

Экстренная процедура завершается без каких-либо проблем.

Служба трафика восстанавливается в нормальном режиме чтения и записи.

На этом этапе App Engine считается работающим.

10:19 .

В список уведомлений appengine-downtime-notify отправляется сообщение, указывающее, что AppEngine работает в обычном режиме.

Вы можете выдохнуть.

Как завещал великий Иоиль, хватит говорить о резервных копиях , поговорим о восстановлениях.

Когда случается беда, вам нужно, чтобы множество шестерен работали вместе.

Во-первых, ваша система мониторинга (Что? Вы не знаете, что такое система мониторинга? Тогда вам, вероятно, не придется думать об остальных передачах) должна уведомить вас через несколько минут после начала неисправности, а не через две недели в виде удивленных писем пользователей.

Во-вторых, у вас должны быть свободные мощности.

В-третьих, вы должны точно знать или иметь точные инструкции, как использовать эти резервные мощности.

Если бы у команды App Engine был один (правильный) комплект документации, сбой продлился бы всего 20 минут вместо двух часов.

Однако, на мой взгляд, App Engine хорошо справился с проблемой.

Представьте себя на месте инженера, сообщение которого появляется на пейджере на рассвете.

«Доброе утро, друг! Сейчас ваша компания теряет сотни долларов в деньгах и бог знает сколько в репутации.

И знаете, это ваша проблема.

Удачи!» Теги: #Google #Google App Engine #центр обработки данных #appengine #Google App Engine

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.