Зачем нужны учения в дата-центрах

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

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


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

23 комментария
Искусственно устраивать аварийные ситуации? Да кто вообще до этого додумался? Я много лет работаю в Ростелекоме и у нас не практикуются подобные опасные эксперименты. Это же не выгодно, устраивать самим себе аварийные ситуации и самим же потом из них выкарабкиваться. Зачем столько сложностей? Неужели без этого нельзя просчитать что может произойти, если случится настоящая авария?
Не, ну это даже не серьезно, типа - а давайте сейчас устроим аварийную ситуацию и будем смотреть, что произойдет, а потом сами же будем всё это устранять. Это по детски как-то.
Наверное, если всё работает, то и пусть работает.
(Почему-то вспомнилась авария после экспериментов на Чернобыльской АЭС).
galka-galkina1,
на моём предприятии проводятся регулярные учения с привлечением пожарных и полиции. Нужно для того, чтобы в реальной ситуации люди могли действовали сложенно и не паниковали и этого можно достигнуть только регулярными "тренировками".
galka-galkina1,
тяжело в учениях, легко в авариях. А если учения еще и внезапные да и с неизвестным сценарием для обучаемых (см. борьба за живучесть судна), то от них окромя пользы никакого вреда нет.
torwald,
там (по ссылке, где продолжение) написано, что после этих учений не все диски запускаются, то есть после учений возникают реальные аварии, на устранение которых приходится раскошеливаться, то есть платить денюшку.
И не надо сравнивать пожарных, полицию, военных с компьютерной техникой Там люди тренируют свои навыки, а здесь получается тренируют компьютеры, а это абсолютно бесполезно.
И так понятно, что при возникновении аварии надо будет действовать. Можно репетировать свои действия без реального отключения аппаратуры.

Военные же репетируют без убивания людей или без сбрасывания на город атомной бомбы. То же самое пожарные, они репетируют на ненастоящих пожарах, а не поджигают чьи-то квартиры. Надо различать что можно, а что нельзя.
galka-galkina1,
можно и боксу по книжкам учиться, а на улице потом вспоминать - правой надо сначала бить или левой.
Здесь так же тренируются навыки. Пожарные тренируются на вполне настоящих контролируемых пожарах. Военные так же тренируются в условиях максимально приближенным к боевым (я говорю про нормальных военных).
Лично я бы предпочел, чтобы в моей организации такие тренировки проводились. Пусть на тестовом полигоне, пусть не так жестко, как у них. В случае Яндекса, они видимо, могут себе позволить на время превратить боевой дата-центр в тестовый и откатить назад.
torwald,
не обязательно поджигать судно, чтобы убедиться, что команда умеет обеспечивать живучесть судна. Тренироваться надо обязательно, но при этом не надо путать тренировочный процесс с аварийным.
У Яндекса видимо редко бывают настоящие аварийные ситуации, так они взялись создавать их искусственно. То есть - АХ, у нас нет возможности тренироваться, так как аварий нет, ну тогда давайте сами себе сделаем настоящую аварию и будем при этом тренироваться. Маразм какой-то.
Боксеру совсем не обязательно мутузить людей, чтобы тренироваться. Он в основном тренируется на грушах.
Я пытаюсь объяснить, что надо различать НАСТОЯЩУЮ аварию от тренировочной. Пожалуйста, тренируйся сколько хочешь, но не создавай настоящую аварию. Я об этом, а не о том, что не  надо тренироваться.
galka-galkina1,
чтобы узнать, может ли команда обеспечить живучесть судна ее загоняют внутрь практически цистерны, после чего врубают течь. Боксеру ОБЯЗАТЕЛЬНО мутузить других людей на тренировке. Это я как человек занимавшийся рукопашкой разной в течение нескольких лет. Здесь создается именно тренировочная контролируемая авария, максимально приближенная к настоящей. Яндекс, видимо, может позволить себе потерять часть оборудования для того чтобы подготовить спецов к реальной аварии. Лучше контролируемо узнать, что у тебя в случае выхода из строя этого маршрутизатора рассыпется хранилище на дисковой стойке и подумать, как в будущем этого избежать, чем думать, что ко всему готов, и получить неожиданный ворох проблем.
torwald,
надеюсь они разрабатывают подробные инструкции на будущее, чтобы не делать одни и те же аварии. Чтобы в последующем новички могли по ним учиться. А то так на всех не напасешься создавать аварии и по ним учиться.
Не знаю как в Яндексе, у нас часто приходят новые люди и их надо учить.
На примере правил по технике безопасности могу сказать, что лучше выучить их заранее и потом неукоснительно соблюдать, чем повторять то, на основании чего эти правила были созданы. Говорят эти правила написаны кровью тех, кто погиб при авариях, когда ещё не было никаких правил.
galka-galkina1,
про инструкции их надо спросить. Но думаю, пишут. Мы по каждой аварии себе инструкции пишем. Но просто выучить правила техники безопасности - это мало. Желательно знать и понимать почему все именно так. По себе могу сказать, что всегда знал, т.к. читал, как нужно делать искусственное дыхание и непрямой массаж сердца. Но когда на курсах по первой помощи попробовал оживить тренажер - получилось только с третьего раза. А ведь на месте тренажера мог быть человек. И двух бы я как минимум не спас бы. Практику и понимание никакими инструкциями не заменишь. Я не говорю, что они не нужны. Но сами себе инструкции, даже выученные наизусть не дают никаких гарантий того, что в случае экстренной ситуации человек сможет их повторить. Только отработка, желательно в условиях, приближенных к боевым.
Не все могут позволить себе проводить еженедельные тренировки на целом дата-центре. Яндексы этим и похвастались. Нам остается завидовать админам и сочувствовать финансистам, закупающим оборудование для этих экспериментов.
torwald,
я им не завидую.
Евгений Шевцов
26 ноября 2015, 14:51
galka-galkina1,
конечно  простите, но у вас в Ростелекоме каждый день как на учениях. Пользовался одно время вашими услугами и остался крайне недоволен - делаю вывод, что учения у вас были 24/7. Пусть лучше так, чем иначе
galka-galkina1,
отключение дата-центров не должно повлиять на работу системы, ни один компонент не должен прекратить работу. Это очень полезно, и никто даже не подумает заливать нестабильную версию кода в релиз.
Ростелеком очень показателен в том плане, что есть постоянные косяки - в ЛК отображается неверный баланс, оператор называет другую сумму, а по факту - третья. Услуги как-то самопроизвольно включаются и списываются деньги. За год 600 рублей списалось.
Интересная статья.
Было бы очень интересно почитать, какие инструменты типа  Service Manager для управления IT-инфраструктурой используются в Яндексе.
О да Ростелеком это показатель отказоустойчивости и стабильности  :)
kibertronix,
вообще-то да. )
galka-galkina1,
вы это мне расскажите про отказоустойчивость Ростелекома.
А на какой вы должности в Ростелеком?
zurapa,

1) аварии в Ростелекоме бывают, от них никто не застрахован, но это не специально. Бывает злоумышленники режут кабель, бульдозер ответственно поработает на месте прокладки кабеля, столб после ливня упадет, антенну сильным ветром развернет, коммутатор после отключения электроэнергии на эл.сетях сам не запустится, надо кому-то ехать перезапускать, это же техника, всякое бывает. Ничего идеального в этом мире нет.
2) Я не в должности :) Я всё делаю для себя.
galka-galkina1,
вот потому то Яндекс - это Яндекс, в РТ - контора для тех, кому податься больше не к кому. "Сам не запустится, надо кому-то ехать" - а клиенты покурят пока, никто же не умер, да? Это совковое мышление, пора бы уже от него избавляться.
   Давно уже выяснили спецы, что по статистике каждый третий сделанный бэкап невозможно восстановить, и это - сделанный. А сколько народу как вы "оценивает", "просчитывает" последствия - но реально не готово к ним, в случае чего, если не помог типовой сценарий? А в таких сложных структурах, как Яндекс, имхо, типовых точек отказа очень много, и важно не "верить", а точно знать, что то что должно включиться - включится, то что месяц назад переключалось - переключится и сегодня.
    И не надо кивать на экскаваторщиков, если это вы поленились продублировать линию!
Павел С.,
если месяц назад этот поток был прописан также, как и сейчас, то он по тому же пути пойдет, это же не человек с логическим мышлением, который каждый раз может выбирать разные пути обхода. Как пропишете, так комп и будет работать, что толку его тестировать, он ничего сам не придумает. Про "сам запустится" я даже не собираюсь ничего доказывать. У нас естественно техника не на высшем уровне, иногда приходится ездить и перезапускать.
Эх, Мария. Такие учения обязательно нужны - ведь навыки быстрого запуска генераторов (до и кстати - чтобы горючее было в порядке там где нужно) надо тренировать. Все помнят отключение полМосквы - уж как тогда дата-центры пострадали лучше не вспоминать. Очень правильно делают, молодцы.
Полина Григорьева
26 ноября 2015, 14:51
Фотография серверной впечатляет)) А ещё интересно, почему Мария говорит, что такие учения проводить глупо. Разве? В российском флоте такого рода учения "на всякий пожарный" уже давно существуют, а ведь там явно не глупые люди.
Владимир Трофимов
26 ноября 2015, 14:51
В ростелекоме нет плана аварийного восстановления работоспособности сети?
Нет резервирования каналов?
Нет резервированногопитания?
Даже в нашей захудалой конторе с парком из 300 машин и 20 серверов есть такой план. Написаны инстркуции в каритинках. и регулярно мы проводим тренинги с коллегами по траблшутингу.
Зато когда, что то падает как легко!!!
Афигеть, красиво то как!