LSR / Outage .mcs zone / 18.04.21
Описание
Это будет не обычный LSR, который мы пишем по шаблону. В нём не будет таймлайна, анализа действий, диагностики и описания. В этом посте-разборе мы опишем все подробности случившейся ситуации на хостинге superhub.host, что и когда было, почему и из-за чего. И самое главное: что будет дальше.
Миграции за прокси
На текущей неделе 12.04-18.04 на несколько нод нашего хостинга в зоне .mcs
было осуществлено много ddos-атак, максимальная из них в пике достигала 3Gbps и увеличивала таблицу соединений до предельного значения. В этот момент мы приняли решение о переезде за прокси-схему (наше решение "на коленке" от ddos-атак) и начали готовиться к переезду в кратчайшие сроки. Переезд был запланирован на следующую неделю. За это время мы подготовили anti-ddos ноду, поставили "буфер" ноду neon.mcs
, которую, увы, вы никогда не увидите, написали много кода, придумали план действий и даже написали пост в группе. К сожалению, это всё было напрасно.
Развитие событий
В пятницу 16.04 ориентировочно в 15:00 на ноду meta.mcs
была осуществлена очень мощная ddos-атака. Ни для кого не секрет, что часть серверов мы арендовали в облаке mcs.mail.ru. Это openstack, на котором всё и держалось. Полагаю, что атака в том числе повлияла на доступность гипервизора на стороне Mail.ru, потому что после этого со мной связались сотрудники облака MCS и сообщили, что они приняли решения об отключении нашего хостинга с их платформы. И сделать они должны были к вечеру пятницы.
Ж... Переезд
Менее чем за 12 часов мы должны были перенести все ноды в зоне .mcs
на другие площадки, а также наши инфраструктурные сервера. Коллеги из .mcs
посоветовали использовать опцию создания "образа дисков", чтобы затем скачать его и быстро поднять виртуалку в другом облаке openstack. В это время я писал Вадиму, техническому директору Selectel, с просьбой предоставить квоту для "буфера" - переезда части серверов на их площадку, чтобы мы смогли уложиться в максимально быстрые сроки.
По иронии судьбы именно в этот день именно у меня было важное мероприятие, которое я не мог пропустить. И именно в этот день механизм создания образов в MCS не работал. Это была подстава подстав, поэтому мы начали переносить все пользовательские сервера не в статусе "заблокирован" на другие ноды хостинга руками. Первыми нодами для расселения стали devoid
, aqua
. Ноду meta
мы не могли включать, поэтому была создана виртуалка MIGRATOR
, к которой мы примонтировали диск meta.mcs
, и из которой мы начали перенос данных на виртуалку в selectel
- как раз на наш буфер.
Время шло, мы нервничали и не отвечали пользователям. Нам важна была каждая минута, поэтому личка группы каждую минуту засыпалась новыми сообщениями, а мы отвечали всем стандартной фразой "ноду meta ддосят". В целом, так и было
Время
Так как коллеги из MCS не предоставили механизма переноса серверов, то я смог выбить время на выходные для миграции - это произошло только часов в 9 вечера по Москве. Я уже ушел на мероприятие, перенос серверов затормозился.
С утра в субботу у нас появился новый сервер beta.fsn
на локации в Германии, куда мы также начали расселять часть пользовательских серверов. Также из-за выключенной ноды мы стали думать о покупке сервера для тестовых серверов. Им стал pythagoras.sel
. Параллельно с этим я переносил инфраструктурные сервисы, мониторинги, микросервисы по списанию денег и т.п. Всё занимало много времени.
Заключение
В воскресенье мы окончательно завершили пернос всех серверов с зоны .mcs
в зону .selectel
, .fsn
и .hel
. Соответственно, ваши сервера находятся на одной из этих нод. Что дальше? Пытаться разгрести итог всех событий, обработать все входящие заявки на хостинге и жить дальше. Уже без .mcs
. Навсегда. Ниже я опишу процесс восстановления серверов, компенсацию по ним и ответы на другие волнующие вопросы.
Пострадавшим
Для начала мы, superhub.host, хотим попросить прощение у всех пострадавших клиентов за такой простой. Это выходит за рамки SLA, установленного в оферте, поэтому, конечно же, мы компенсируем все средства за простой. Как это сделать - читайте ниже.
Meta
Так как после ddos-атаки мы были вынуждены выключить ноду meta, то перенос серверов с ней не автоматизирован. Для переноса вам необходимо оставить заявку в форме, а также лучше написать в лс группы, чтобы мы прислали вам ссылку на архив.
При переносе мы будем создавать архив вашего сервера, присылать его вам в лс и возвращать стоимость сервера, какой она была ранее
Beam
Тут всё плохо. Мы не смогли восстановить данные с этой ноды. Все сервера на ней, к сожалению, безвозвратно удалены. В данном случае это зависело не от нас, а от .mcs
, однако я лично чувствую свою ответственность и вину за всё. Пострадавшим на этой ноде мы выдадим максимальную компенсацию.
Aqua, Devoid
Эти сервера мы переносили в автоматизированном режиме, в данном случае прозошел простой пользовательских серверов и смена ip-адресов с портами.
Lover
Мы не предоставляли никаких SLA и гарантий на тестовые сервера пользователей, поэтому эти данные удалены заведомо. Однако если у вас был хотя бы один платный сервер, то вы можете сейчас заново оформить тестовый на странице https://superhub.host/testserver
Компенсация
Всем пострадавшим пользователям мы вернем деньги за простой и за потерю серверов. Ниже мы предоставим информацию о том, на какой ноде какая компенсация полагается:
Beam
-
- восстановление стоимости сервера, какой она была раннее
-
- дополнительная скидка 10% навсегда к вашему новому серверу
-
- компенсация 10 дней работы сервера в рамках SLA
Meta
-
- восстановление стоимости сервера, какой она была раннее
-
- дополнительная скидка 5% навсегда к вашему новому серверу
-
- компенсация 5 дней работы сервера в рамках SLA
Aqua
,Devoid
-
- компенсация 3 дней работы сервера в рамках SLA
Как получить компенсации и как перенести файлы с meta.mcs
на новую ноду? Всё просто. Необходимо заполнить форму и все поля в ней, а также написать в группу в вконтакте, но только после заполнения формы. Пожалуйста, нам это нужно для удобства и быстрого переноса.
Мы еще раз просим извинения за всё, что произошло на этих выходных. Надеюсь, с текущими провайдерами такого больше никогда не случится.