The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

GitHub опубликовал отчёт с анализом аварии, приведшей к недоступности сервиса

04.02.2016 13:25

GitHub раскрыл подробности об инциденте, из-за которого 28 января сервис оказался выведен из строя более чем на два часа. Имел место достаточно сложный каскадный сбой, в котором проявились как недоработки в программном обеспечении GitHub, так и ошибки в прошивках серверов, что потребовало значительного времени на выяснение причин и возвращение сайта к жизни.

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

В том числе перезагрузка затронула серверы ChatOps, обеспечивающие механизмы взаимодействия разработчиков на GitHub. После завершения перезагрузки и восстановления работы кластера серверов ChatOps, работа сайта не восстановилась. Ситуацию усугубила неразбериха, вызванная тем, что первые 8 минут после сбоя на странице status.github.com отображался нормальный статус функционирования сервиса, хотя фактически запросы приводили к ошибке.

Первичный разбор причин неработоспособности серверов ChatOps показал, что проблема заключалась в невозможности установить сетевое соединение с кластером СУБД Redis. Первые предположения были связаны с возможным влиянием DDoS-атаки, но через какое-то время, которое было потрачено на диагностику работы сети и организацию защиты от DDoS, стало ясно, что причина не в атаке. Дальнейшее пошаговое инспектирование инфраструктуры показало, что имеет место перезагрузка некоторых бэкенд-серверов для которых в централизованной системе мониторинга данные перезагрузки не были отражены.

Далее выяснилось, что почти все недоступные серверы построены на базе оборудования одного класса и разнесены по разным стойкам и кластерам в центре обработки данных. Также стало ясно, что обеспечивающие работу сервиса приложения после перезагрузки не запустились, из-за невозможности подключиться к кластеру СУБД Redis попытка запуска процессов привела к преждевременному завершению их работы. Разработчики изменили скрипты запуска, добавив обязательную проверку работы Redis и ожидание его доступности перед запуском приложений.

Проблемы с Redis были вызваны аппаратным сбоем серверов - прошивка не смогла распознать имеющиеся диски после кратковременного прекращения питания. Диски удалось подключить после дополнительной холодной перезагрузки, после чего потребовался достаточно длительный перенос данных проблемных узлов на запасные серверы. В итоге, кластер Redis был восстановлен и, шаг за шагом, все некорректно перезагруженные серверы с приложениями были возвращены к работе.

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

  1. Главная ссылка к новости (https://github.com/blog/2106-j...)
Лицензия: CC-BY
Тип: Обобщение
Короткая ссылка: https://opennet.ru/43817-github
Ключевые слова: github, crash
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 13:49, 04/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +17 +/
    Жизнь мою сгубили зря
    Электрики и слесаря.
     
     
  • 2.5, pkdr (ok), 14:35, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Страшные люди, если с ними приходилось сталкиваться.
    Есть ещё более жуткие монстры - экскаваторщики.
     
     
  • 3.10, Дегенератор (?), 15:09, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Страшнее уборщицы, которая спешит, не найти.
     
  • 3.12, IZh. (?), 15:15, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, страшнеее fiber-seeking backhoe зверя нет.
     
  • 3.46, Аноним (-), 03:03, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Страшные люди это те кто проектирует цод по третьей категории надёжности электроснабжения и не ставит бесперебойники
     
     
  • 4.54, Sabakwaka (ok), 15:04, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Тот, кто не проводит учений.
    Учения выглядят так — топором перерубается силовой кабель,
    а затем проверяется подъем кластера после починки.
     
     
  • 5.55, Andrey Mitrofanov (?), 15:10, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Тот, кто не проводит учений.
    > Учения выглядят так — топором

    Амазон что ли хвастал, что у них спец.зондкер команда (отдельная от админов/девелов) занимается тем, что ломает инфраструктурные сервисы для проверки и улуч-чения устойчивости к отказам.

     
  • 5.59, SnoWLight (?), 20:03, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Тот, кто не проводит учений.
    > Учения выглядят так — топором перерубается силовой кабель,
    > а затем проверяется подъем кластера после починки.

    Ну допустим не топором.
    По крайней мере я бы дал тебе топор и заснял бы видео....


     
  • 5.69, Аноним (-), 15:56, 09/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Учения выглядят так — топором перерубается силовой кабель,
    > а затем проверяется подъем кластера после починки.

    Переруби силовой кабель к гуглу? Это пример правильной инфраструктуры.

     
  • 2.6, Аноним (-), 14:35, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Незваный электрик хуже татарина.
     
  • 2.71, Аноним (-), 16:32, 09/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Жизнь мою сгубили зря
    > Электрики и слесаря.

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

     

  • 1.2, MPEG LA (ok), 13:49, 04/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +16 +/
    два часа - хорошее время реакции, и не просто так, а с полезными выводами. молодцы.
     
  • 1.3, IMHO (?), 14:00, 04/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Наш админ возомнил себя богом сети, но электрик развеял этот миф
    (с) ибаш
     
  • 1.13, manster (ok), 15:17, 04/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > прошивка не смогла подключить имеющиеся диски

    оказывается прошивки умеют включают диски! - это несомненно прорыв ...

     
     
     
    Часть нити удалена модератором

  • 3.57, Аноним (-), 15:39, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Изящный способ сказать: "линь гумно".

    Я на такое на виндовом сервере нарывался. Знаешь как весело, когда BIOS не может загрузочный диск найти, потому что при провале питания контроллер одурел? При этом не важно какая была ОС - до нее дело может не дойти вообще.

     
  • 2.39, Andrey Mitrofanov (?), 19:37, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> прошивка не смогла подключить имеющиеся диски
    > оказывается прошивки умеют включают диски! - это несомненно прорыв ...

    Не _в_ключать, читалка притупилась? Перезатачивай.

    Сторадж, фибер-чэнел, FC-контролёр... В "полках" и контролёрах м.б. свои прошивки. Эти "сурьёзные люди" и диски в полках перепрошивают.  Любая из обновлённых прошивок может сожержать баги или изменения поведения, в т.ч. и перестать дружиться с соседними ещё недообновлёнными прошивками, например.

    ///Да, заголовку не хватает "Обновление прошивок ■й■иэ■ положило ■it■ub" желтизны

     

  • 1.16, Кляйнер (?), 15:34, 04/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У них там прямо каскадный резонанс случился :)
     
  • 1.18, Аноним (-), 15:56, 04/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    эх, не умеют редакторы опеннета заголовки делать... надо было "Гитхаб упал на джва часа из-за Редиса!"
     
     
  • 2.20, myhand (ok), 16:02, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    s/../из-за какой-то редиски/
     
     
  • 3.30, . (?), 17:53, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какие то редиски завалили гитхаб! :)
     
  • 3.34, Адекват (ok), 19:20, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > s/../из-за какой-то редиски/

    Дениски.

    Админ Дениска угандошил гитхуб своим невежеством.

     
  • 2.49, КО (?), 11:59, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ГитХаб джва часа ждал Редис!
     

  • 1.35, Адекват (ok), 19:22, 04/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/

    > Из-за сбоя в системе электропитания около 25% серверов GitHub были перезагружены.

    Я дико извиняюсь, а что - УПСов у них нет ?
    Что-то мне подсказывает, что это был не сбой электропитания, и что это не последний выход из строя гитхуба, следющий будет на несколько суток, с полной потерей всех данных.

     
     
  • 2.42, редис (?), 21:40, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вот упсы-то и сбойнули. Точнее на сами упсы, система управления питанием.
     
  • 2.50, КО (?), 12:02, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Сбой в системе электропитания вполне может быть вызван очень умными Упсами. Им легко отправить по сети сигнал - ну-ка все быстро выключаемся.
     

  • 1.38, абвгдейка (ok), 19:35, 04/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    я понял - виноват редис :)
     
  • 1.41, Аноним (-), 20:25, 04/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Решительно детектирую пролианты под редисом. только эта фекаль способна терять диски до сброса питания
     
     
  • 2.44, Led (ok), 22:47, 04/02/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Решительно детектирую пролианты под редисом. только эта фекаль способна терять диски до
    > сброса питания

    Обижаешь! Она не только это умеет, а ещё много чего!

     
     
  • 3.47, stalker37 (ok), 10:57, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не всё. работать без сбоев оно не умеет! И не  тормозить местами
     
  • 2.56, Аноним (-), 15:35, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Довольно распостраненный баг. Им страдали серверные мамки интела, встречающиеся в разных серверах. Тоже сбой контроллера дисков при проскоке питания. Даже апдейты прошивок контроллера были с исправлениями.
     
     
  • 3.58, anoo (ok), 18:07, 05/02/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У HP тоже самое - меняли память контроллера, контроллер, мамку и так неск. раз, на разных машинах, все по совету техподдержки, новое курьером, за сутки.
    Но сутки сервака нет.
    Хорошо что не один был.
    И точно так же какс гитхабом - неск. месяцев аптайма, сбой питания и пи*дец.
    Ось, кстати - windoze, крутилась "галактика" erp
     
     
  • 4.70, Аноним (-), 16:01, 09/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    От ОС вообще не зависит - виснет проц контроллера, системный reset на него видимо не действует, а вот проскок питания его клинит. Дальше только выключение питания помогает.
     

  • 1.64, nich (ok), 07:38, 08/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Github катится в унылое говно.  Начилась делёжка денег, адекватные люди начинают валить, на их место приходят эффективные менеджеры.  Со временем проблем ожидается всё больше и больше.
     
     
  • 2.72, Dmitry (??), 14:38, 10/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Наконец-то! Такой шанс для open source индустрии перейти на mercurial сервис (для совместной работы людей самой разной квалификации и под разными ОС он подходит лучше гита, от которого сквозит гиковостью и никсовостью).
     
     
  • 3.73, Andrey Mitrofanov (?), 14:45, 10/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Наконец-то! Такой шанс для open source индустрии перейти на mercurial
    >людей самой разной квалификации и под разными ОС

    Польские вендузятнеге в поисках крестьянина-проводника? В добрый путь.

    > подходит лучше гита, от которого сквозит гиковостью и никсовостью).

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру