akirich_pcroom

Categories:

Телекомы. Почему Интернету плохо. Как падал Фейсбук

Вчера было про сертификаты, сегодня про падение фейсбука.

"— Скажите, почему, когда что-нибудь происходит, вы трое всегда оказываетесь рядом?" Гарри Поттер и Принц-Полукровка (© WB Pictures, 2009). Внизу название сервисов и протоколов, которые довольно часто падают при крупных авариях. Расшифровка в посте.
"— Скажите, почему, когда что-нибудь происходит, вы трое всегда оказываетесь рядом?" Гарри Поттер и Принц-Полукровка (© WB Pictures, 2009). Внизу название сервисов и протоколов, которые довольно часто падают при крупных авариях. Расшифровка в посте.

4 октября 7:15 MST (GMT-8, 18:15 по Киеву) друг за другом отключились крупнейшие социальные сети Facebook, Instagram и мессенджер WhatsApp. Коллапс продлился целых 8 часов (некоторые сервисы запустились лишь в 2:30 ночи по Киеву), и сразу появились вопросы к инженерам. 

Первопричина

Как и в случае блэкаутов у электриков, каскадное отключение сети было спровоцировано работами по модернизации одного из узлов. 

Настройка маршрутизатора Cisco серии 7600 (https://habr.com/ru/news/t/581506/)
Настройка маршрутизатора Cisco серии 7600 (https://habr.com/ru/news/t/581506/)

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

Как только корневому маршрутизатору становится плохо — отваливается вся сеть, причем без резервирования. Некоторое время, если проблему не локализовать своевременно — маршруты разнесутся по всей внутренней сети и на их восстановление уйдут часы.

Это собственно и произошло. В 7:15 утра, когда в США еще не такой пик бизнесовой активности начали накатывать обновление программного обеспечения под протокол BGP. В 8:40 утра — сеть полностью отказала. 

Протокол пограничного шлюза (он же BGP) предназначен для обмена информацией о достижимости подсетей между автономными системами. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети. И именно эти правила и обновлялись.

Несмотря на то, что в паре BGP и IP главный все же последний — засбоили сразу два типа серверов — NS и DHCP. Последний был важен потому, что есть плановые перезагрузки, и удаленные сервера просто не получили адреса. 

Как только сбой BGP отрезал внутреннюю сеть Facebook от внешней, то есть «фейсбук пропал из интернета». Через два с половиной часа после аварии официально пришло сообщение от Cloudflare, мол 1.1.1.1 уже не считает домен facebook.com (и другие на том же сервере имен) действующим.

Локализовать аварию быстро инженеры не могли. Вместе с BGP отвалилась и удаленка. Время в Калифорнии в момент аварии пол-девятого утра, и многие не то что не были на рабочем месте — они спали. В 9 часов под офисом уже собралась очередь. Т.к. рухнула сеть, вместе с ней и рухнула система контроля доступа. Электронные пропуски просто не работали.

Следом за падением Facebook, WA и Instagram — трудно стало ДНС-серверам. Сети просто не расчитаны на то, что 1,5 млрд пользователей останутся без регулярно используемого сервиса. В этот момент стало плохо Google DNS (8.8.8.8), Cloudflare (1.1.1.1), OpenDNS. По сути из-за отсутствия трех доменов в кеше — ресолверы искали доступ, но не находили. Дырку в Cloudflare закрыли в 9:57 (19:57 по Киеву). И бонусом пошли запросы на другие сервисы — туго стало  Твиттеру, Телеграму и популярному в США Signal. На этом фоне поплохело Амазону, но эту ситуацию разрулили быстро.

Отчасти плохо стало всем сайтам, на которых был логин через ФБ или встроенные виджеты. Социальные кнопки, если они были созданы нештатными средствами — не влияли. Например, на ЖЖ было все ок, если на странице не было встроенного окна с ФБ.

В 0:27 по Киеву собрались таблицы маршрутизации BGP и доступ начал восстанавливаться, но еще два часа понадобилось внутренним DHCP-, и NS-серверам на раздачу правильных адресов. В дальнейшем были незначительные сбои, а к написанию поста 08.10 — ситуация устаканилась окончательно.

Предвещая вопрос про хакеров, которые вынесли за время аварии 1,5 млрд учеток. Как вы думаете, можно ли что-то угнать, если управление серверами перешло только в физический режим? То есть что-то сделать с сервером можно было только в том случае, если ты стоишь в машзале датацентра перед сервером. Эти данные могли угнать, когда система работала штатно. Но и не факт что хак имел место быть — после аварий как обычно среди хакеров проявляются мошенники.

ФБ потерял колоссальные деньги, но это реально не все. Помимо денег они еще и потеряли сотрудников. С 5 числа на сайте вакансий компании появилось слишком много предложений на работу сетевыми инженерами. Увольнять в самую жару, и не исключив повторения ситуации в будущем — это заведомая ошибка менеджмента.

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

promo akirich_pcroom сентябрь 1, 2013 01:18
Buy for 10 tokens
Размещайте рекламу в промо по уникально низким ставкам! Правила размещения промо в моем ЖЖ. Даже несмотря на непостоянство показов в данном журнале действуют ограничения по тематике промоутируемых материалов. Рекламируемый материал должен содержать материалы подходящие для группы 12+.…

Error

Anonymous comments are disabled in this journal

default userpic

Your reply will be screened

Your IP address will be recorded