GitHub раскрыл (https://github.com/blog/2106-january-28th-incident-report) подробности об инциденте, из-за которого 28 января сервис оказался выведен из строя более чем на два часа. Имел место достаточно сложный каскадный сбой, в котором проявились как недоработки в программном обеспечении GitHub, так и ошибки в прошивках серверов, что потребовало значительного времени на выяснение причин и возвращение сайта к жизни.
Из-за сбоя в системе электропитания около 25% серверов GitHub были перезагружены. Проблема не затронула балансировщики нагрузки и большинство фронтэнд-серверов, которые продолжили работу в штатном режиме, но некоторые системы, необходимые для обработки запроса, на какое-то время оказались полностью недоступны, что привело к выводу страницы с ошибкой при любом обращении к GitHub.
В том числе перезагрузка затронула серверы ChatOps, обеспечивающие механизмы взаимодействия разработчиков на GitHub. После завершения перезагрузки и восстановления работы кластера серверов ChatOps, работа сайта не восстановилась. Ситуацию усугубила неразбериха, вызванная тем, что первые 8 минут после сбоя на странице status.github.com отображался нормальный статус функционирования сервиса, хотя фактически запросы приводили к ошибке.Первичный разбор причин неработоспособности серверов ChatOps показал, что проблема заключается невозможности установить сетевое соединение с кластером СУБД Redis. Первые предположения были связаны с возможным влиянием DDoS-атаки, но через какое-то время, которое было потрачено на диагностику работы сети и организацию защиты от DDoS, стало ясно, что причина не в атаке. Дальнейшее пошаговое инспектирование инфраструктуры показало, что имеет место перезагрузка некоторых бэкенд-серверов для которых в централизованной системе мониторинга данные перезагрузки не были отражены.
Далее выяснилось, что почти все недоступные серверы построены на базе оборудования одного класса и разнесены по разным стойкам и кластерам в центре обработки данных. Также стало ясно, что обеспечивающие работу сервиса приложения после перезагрузки не запустились - из-за невозможности подключиться к кластеру СУБД Redis попытка запуска процессов привела к преждевременному завершению их работы. Разработчики изменили скрипты запуска, добавив обязательную проверку работы Redis и ожидание его доступности перед запуском приложений.Проблемы с Redis были вызваны аппаратным сбоем серверов, из-за которые прошивка не смогла подключить имеющиеся диски после кратковременного прекращения питания. Диски удалось подключить после дополнительной холодной перезагрузки, после чего потребовался достаточно длительный перенос данных проблемных узлов на запасные серверы. В итоге, кластер Redis был восстановлен и, шаг за шагом, все некорректно перезагруженные серверы с приложениями были возвращены к работе.
Для предотвращения подобных ситуаций в будущем будет пересмотрен процесс применения обновлений прошивок к серверам и анализа логов для оценки возможных аномалий. Тестовый набор будет расширен средствами для проверки влияния на функционирования приложений работоспособности внешних компонентов. Планируется реализовать возможность частичного снижения функциональности для сохранения общей работоспособности в экстренном режиме, при недоступности определённых бэкенд-серверов.URL: https://github.com/blog/2106-january-28th-incident-report
Новость: http://www.opennet.me/opennews/art.shtml?num=43817
Жизнь мою сгубили зря
Электрики и слесаря.
Страшные люди, если с ними приходилось сталкиваться.
Есть ещё более жуткие монстры - экскаваторщики.
Страшнее уборщицы, которая спешит, не найти.
Да, страшнеее fiber-seeking backhoe зверя нет.
Страшные люди это те кто проектирует цод по третьей категории надёжности электроснабжения и не ставит бесперебойники
Тот, кто не проводит учений.
Учения выглядят так — топором перерубается силовой кабель,
а затем проверяется подъем кластера после починки.
> Тот, кто не проводит учений.
> Учения выглядят так — топоромАмазон что ли хвастал, что у них спец.зондкер команда (отдельная от админов/девелов) занимается тем, что ломает инфраструктурные сервисы для проверки и улуч-чения устойчивости к отказам.
> Тот, кто не проводит учений.
> Учения выглядят так — топором перерубается силовой кабель,
> а затем проверяется подъем кластера после починки.Ну допустим не топором.
По крайней мере я бы дал тебе топор и заснял бы видео....
> Учения выглядят так — топором перерубается силовой кабель,
> а затем проверяется подъем кластера после починки.Переруби силовой кабель к гуглу? Это пример правильной инфраструктуры.
Незваный электрик хуже татарина.
> Жизнь мою сгубили зря
> Электрики и слесаря.Программисты хуже. Однажды сбой в прошивке контроллера привел к включению большого промышленного вентилятора. Рядом работал слесарь...
два часа - хорошее время реакции, и не просто так, а с полезными выводами. молодцы.
Наш админ возомнил себя богом сети, но электрик развеял этот миф
(с) ибаш
> прошивка не смогла подключить имеющиеся дискиоказывается прошивки умеют включают диски! - это несомненно прорыв ...
> Изящный способ сказать: "линь гумно".Я на такое на виндовом сервере нарывался. Знаешь как весело, когда BIOS не может загрузочный диск найти, потому что при провале питания контроллер одурел? При этом не важно какая была ОС - до нее дело может не дойти вообще.
>> прошивка не смогла подключить имеющиеся диски
> оказывается прошивки умеют включают диски! - это несомненно прорыв ...Не _в_ключать, читалка притупилась? Перезатачивай.
Сторадж, фибер-чэнел, FC-контролёр... В "полках" и контролёрах м.б. свои прошивки. Эти "сурьёзные люди" и диски в полках перепрошивают. Любая из обновлённых прошивок может сожержать баги или изменения поведения, в т.ч. и перестать дружиться с соседними ещё недообновлёнными прошивками, например.
///Да, заголовку не хватает "Обновление прошивок ■й■иэ■ положило ■it■ub" желтизны
У них там прямо каскадный резонанс случился :)
эх, не умеют редакторы опеннета заголовки делать... надо было "Гитхаб упал на джва часа из-за Редиса!"
s/../из-за какой-то редиски/
Какие то редиски завалили гитхаб! :)
> s/../из-за какой-то редиски/Дениски.
Админ Дениска угандошил гитхуб своим невежеством.
ГитХаб джва часа ждал Редис!
> Из-за сбоя в системе электропитания около 25% серверов GitHub были перезагружены.Я дико извиняюсь, а что - УПСов у них нет ?
Что-то мне подсказывает, что это был не сбой электропитания, и что это не последний выход из строя гитхуба, следющий будет на несколько суток, с полной потерей всех данных.
Вот упсы-то и сбойнули. Точнее на сами упсы, система управления питанием.
Сбой в системе электропитания вполне может быть вызван очень умными Упсами. Им легко отправить по сети сигнал - ну-ка все быстро выключаемся.
я понял - виноват редис :)
Решительно детектирую пролианты под редисом. только эта фекаль способна терять диски до сброса питания
> Решительно детектирую пролианты под редисом. только эта фекаль способна терять диски до
> сброса питанияОбижаешь! Она не только это умеет, а ещё много чего!
Не всё. работать без сбоев оно не умеет! И не тормозить местами
Довольно распостраненный баг. Им страдали серверные мамки интела, встречающиеся в разных серверах. Тоже сбой контроллера дисков при проскоке питания. Даже апдейты прошивок контроллера были с исправлениями.
У HP тоже самое - меняли память контроллера, контроллер, мамку и так неск. раз, на разных машинах, все по совету техподдержки, новое курьером, за сутки.
Но сутки сервака нет.
Хорошо что не один был.
И точно так же какс гитхабом - неск. месяцев аптайма, сбой питания и пи*дец.
Ось, кстати - windoze, крутилась "галактика" erp
От ОС вообще не зависит - виснет проц контроллера, системный reset на него видимо не действует, а вот проскок питания его клинит. Дальше только выключение питания помогает.
Github катится в унылое говно. Начилась делёжка денег, адекватные люди начинают валить, на их место приходят эффективные менеджеры. Со временем проблем ожидается всё больше и больше.
Наконец-то! Такой шанс для open source индустрии перейти на mercurial сервис (для совместной работы людей самой разной квалификации и под разными ОС он подходит лучше гита, от которого сквозит гиковостью и никсовостью).
> Наконец-то! Такой шанс для open source индустрии перейти на mercurial
>людей самой разной квалификации и под разными ОСПольские вендузятнеге в поисках крестьянина-проводника? В добрый путь.
> подходит лучше гита, от которого сквозит гиковостью и никсовостью).