LSR / Деградация сервисов хостинга / 08.02.24
Описание
// вкратце что произошло//
В связи с урезанием максимальной скорости канала до 15Mbit/sec провайдером мы начали получать большое количество packet loss. В связи с этим наблюдались перебои в доступности сайтов и нод, находящихся в кластере суперхаба. При этом внутренняя связность нарушена не была.
Предпринятые действия
// таймлайн с описанием //
- 08.02.24 14:30 регистрируем первые потери пакетов от мониторинга
- 08.02.24 14:45 предполагаем возможный DDoS на инфраструктуру
- 08.02.24 15:00 начинаем изучать графики flow и различные возможные метрики, это все меньше начинает походить на DDoS
- 08.02.24 16:00 связываемся с провайдером и начинаем процесс перезагрузки сетевого оборудования
- 08.02.24 16:20 получаем ответ от провайдера: "фиксируем нагрузку на сеть. как только нагрузка будет снята, всё восстановится"
- 08.02.24 16:30 и до самого позднего вечера мы начинаем различные тесты по нагрузке сети. далее смотрите анализ и разбор
- 09.02.24 01:30 митигируем проблему путем переключения на резервного провайдера вспомогательными системами
- 09.02.24 12:00 ситуация не разрешилась даже при минимальной нагрузке, принято решение о полноценном переключении на резерв
- 09.02.24 12:30 полностью переключаемся на резервного провайдера и делаем его основным, сайты хостинга полностью доступны и мы начинаем восстановительные работы на нодах
- 09.02.24 14:00 завершаем работы на нодах и на инфраструктурных сервисах
Анализ
// анализ описания //
В связи с тем, что нам не сообщалась никакая дополнительная информация о том, с какой стороны была "повышенная нагрузка", мы не могли понять ни ее причины, ни следствие и не могли разобраться, что нам делать. Фактически мы искали иголку в стоге сена с таким количеством возникающих проблем. Несмотря на ситуацию мы смогли обеспечить работу сайтов хостинга для всех клиентов, чьи сервера находились не на локациях в кластере суперхаба. У нас работали как прием платежей, так и основной сайт с панелью. В этом случае мы переключились на двух резервных провайдеров, которые обрабатывали http-трафик, а сами начали полноценное расследование ситуации.
Вечером стало понятно, что наша ситуация не решится сама собой, и мы решили постепенно отключать все не критичные системы: ноды кластера, k8s-dev, а также оставшиеся сервисы, которые не влияли на работоспособность наших сайтов. В какой-то момент ситуация улучшилась: мы постоянно проверяли ping с внешней площадки до суперхаба, и при практически полном выключении заметили 0 packet loss. Это и оказалось на следующий день ответом на вопрос, что случилось.
Не понимая всей картины и почему происходит это поведение сетевого оборудования, ночью мы переключили часть трафика на резервный канал для восстановления работоспособности вспомогательных систем: мониторинга, бота поддержки для ВК, трекера и так далее. С утра мы продолжили расследование и пришли к следующим выводам: при полноценном выключении всех серверов мы попытались скачать любой файл из интернета и при легитимной скорости нашего канала в гигабит получили скорость в 15(!!!!) мегабит в секунду. И эта скорость не возрастала со временем. Более того, при повторном включении линков всех наших гипервизоров, они начали генерировать нагрузку на сеть, и с внешней площадки мы начали получать очередные packet loss. Они достигали примерно 60% от общего числа отправленных пакетов.
Днем мы переключились на резервного провайдера, который, оказалось, стал стабильнее прежнего. Мы до сих пор расследуем причину, но так и не смогли до конца ее понять. Составили претензию провайдеру и ждем информации о ее решении. Сейчас все системы суперхаба работают в штатном режиме, мы сменили основной IP для пользовательских нод - и это единственная потеря и изменение, которое произошло за прошедшие сутки.
Диагностика
// графики //
график падения сетевого трафика в два раза в момент, когда нам начали его шейпить
Меры предотвращения
// что сделать, чтобы не повторилось//
Мы слаженно отреагировали и до последнего оттягивали момент смены IP-адресов, однако это стало неизбежным процессом. В данном случае мы не видим каких-либо новых мер предотвращения кроме как смену одного из провайдеров, который запросто может отключить или порезать нам трафик. Мы также рассматриваем необходимость более быстрого оповещения наших клиентов о любых глобальных проблемах на кластере через нашу поддержку, оповещения во все основные соц.сети (телеграм, вк и дискорд) и плашку на нашем статусе https://status.superhub.host
Какие сервисы затронуты
// список сервисов //
Работа с перебоями и очень плохой связью:
- пользовательские сервера на ноде west
- пользовательские сервера на ноде horizon
- пользовательские сервера на ноде generation
- пользовательские сервера на ноде zero
- пользовательские сервера на ноде rain
- пользовательские сервера на ноде dawn
Бесперебойная работа сайтов, выключения в моменты тестирования нагрузки на сеть:
- superhub.host
- panel.superhub.host
- pay.superhub.host
При подсчете SLA мы сообщаем следующие показатели: наши сайты в течение последних суток имели SLA 96%, что соответствует максимальному простою в течение часа (суммарно). Конечно, этот показатель также недопустим для нас, однако мы сделали всё возможное, чтобы его не опустить еще ниже.
Мы по-прежнему решаем проблемы, связанные с текущим переключением провайдеров, и восстанавливаем доступ к ряду инфраструктурных сервисов, находящихся на других площадках. Эти работы не затрагивают продакшн и не влияют на сайты или производительность нод.
Приносим свои извинения из-за недоступности сервисов. Согласно нашей оферте, мы начислим компенсацию в размере стоимость работы сервера в день, умноженную на два