Сетевое резервирование в дата-центрах: решаем задачку про двух велосипедистов

Среди клиентов Selectel — социальные сети, интернет-издания, системы электронных платежей и другие компании. Их сервисы нуждаются в бесперебойной работе, которая достигается резервированием всех систем дата-центра. За время существования компании мы успели накопить опыт резервирования, который позволяет давать гарантии своим клиентам и которым мы хотим поделиться.

Горячее, холодное и «тепленькое» резервирование

Причины простоев и сбоев в дата-центрах разнообразны — от неисправности оборудования до сетевых атак. А их последствия обходятся недешево: выплаты по SLA и потеря лояльности клиентов. 

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

Например, американская телекоммуникационная Lumen Technologies (CenturyLink) за инцидент в 2018 получили штраф в $11 млрд. Тогда сбой в их дата-центре (причина не уточняется) вызвал перебои в работе службы 911, на устранение которых понадобилось более суток.

Так вот, время простоя, в свою очередь, зависит от скорости восстановления систем. По этому показателю выделяют два типа резервирования:

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

При холодном резервировании резервные узлы выключены и могут находиться на складе, в ЗИПе. 

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

Компромисс — «тепленькое» резервирование

На заре Selectel не было возможности резервировать маршрутизаторы. Клиентам выдавались публичные сети, в каждой из которых им было доступно пять IP-адресов. Чтобы сделать горячее резервирование, нужно было забрать два из них. Для клиентов это больно. Как правило, все их адреса были заняты — процесс резервирования затягивался.

Компромиссом стало «тепленькое» резервирование, для которого не нужно забирать IP-адреса из сети клиента. Как в случае с горячим резервированием, запасной включенный маршрутизатор уже стоит в стойке с подключенными к нему линками. Для переключения достаточно ввести пару команд в терминал.

Далее расскажем о решениях по резервированию, которые применяются в дата-центрах Selectel на уровнях L1, L2 и L3. О них рассказали наши эксперты на вебинаре Selectel Network Academy

Физическое резервирование

Горячее резервирование во многом напоминает школьную задачку по математике с таким зачином: «Из пункта А в пункт Б выехали два велосипедиста».

«На практике два велосипедиста не устраивают гонку. Они отправляются на велодорожку с надеждой, что хотя бы один из них доедет до пункта Б».

Кирилл Малеванов, технический директор Selectel
Фрагмент из доклада технического директора Кирилла Малеванова

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

Это пример типичного физического резервирования.

Если случай с извержением вулкана кажется чем-то из ряда фантастики, вот другой пример — исторический. Десять лет назад один из оптических кабелей Selectel был обстрелян хулиганами из пневматической винтовки.

Поэтому, если нужно протянуть кроссировку между первой и второй серверными или между серверными шкафами, расположенными в разных концах помещения, то ее необходимо прокладывать двумя разными физическими маршрутами.

Но, если мы получаем два кабеля, следующий логический шаг — поставить два коммутатора. Чтобы объединить эти коммутаторы в один логический, потребуются дополнительные связи — MLAG (иногда называется MC-LAG) и Stack. Для «внешнего мира» они представляют два физически разных коммутатора как один.

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

L2-резервирование

В Selectel много различных сетевых фабрик — масштабируемых и управляемых архитектур. Они охватывают множество машинных залов в дата-центрах. 

Одна из таких архитектур — Ethernet-фабрика, которую мы используем, например, для размещения серверов клиентов в дата-центрах Selectel (colocation). 

Если клиент запрашивает резервированное соединение (резервирование канала), то подключение происходит с помощью двух разных физических линков, двух коммутаторов и агрегированного интерфейса из сетевых адаптеров сервера. Здесь для резервирования мы используем все те же Stack и MLAG-пары.

Фрагмент из доклада ведущего архитектора сетевых решений Кирилла Сизова

В результате в дата-центрах разрастаются подобные «кампусные» сети (Ethernet-фабрики), построенные по принципу агрегированных каналов — технологии объединения параллельных каналов связи в один логический:

L2-фабрики (Ethernet-фабрики) — это деревья, спроектированные таким образом, что пакеты от сервера A могут добраться до сервера D только через уровень агрегации — своеобразное основание дерева.

«В дата-центрах Selectel размещено так много серверов, что мы дополнительно выделяем уровень суперагрегации. Он служит для объединения коммутаторов уровня агрегации. Принимаем ваши предложения, как назвать следующий уровень».

Кирилл Сизов, ведущий архитектор сетевых решений Selectel

Подключений в такой структуре немало. Поэтому везде, где это возможно, мы стараемся дублировать (резервировать) линки.

Работа вполсилы

Внутри Selectel есть стандарт: каждый линк нагружен не более чем на 50%. Так, они выдержат непредвиденный рост нагрузки. 

На графиках это выглядит примерно так:

Здесь два 40-гигабитных линка от коммутатора доступа до агрегации. Соответственно, на каждом линке должно быть не более 20 Гбит/с. Такие конфигурации резервирования позволяют спокойно выводить поврежденные линки из работы. 

«Композиция» из фабрик

Как говорилось ранее, у Selectel несколько дата-центров, и в каждом из них может быть минимум одна фабрика. А то и две-три различных L2- и L3-фабрик.

Бывают ситуации, когда нужно распространить один и тот же L2-домен между несколькими фабриками в разных дата-центрах.

Например, у нас есть облако на базе VMWare, а для работы его Disaster Recovery-кластера миграционные «сущности» требуют наличия прямого L2-соединения между собой. Но они находятся в разных дата-центрах. 

Под сущностями мы понимаем процессы, отвечающие за миграции. Если одна аппаратная система (условная виртуальная машина) выключается, то в другом дата-центре включается аналогичная — с теми же IP-адресами, в том же L2-домене.

Чтобы обеспечить удаленные друг от друга хосты / виртуальные машины (фабрики) L2-соединением, мы используем VxLAN VTEP-коммутаторы, которые позволяют на уровне L3 обмениваться L2-трафиком (кадрами).

Как видно на схеме выше, каждый такой коммутатор также резервируется путем дублирования. Со стороны L2 с помощью специальных протоколов они представляются одним устройством.

L3-резервирование

Как говорилось ранее, в наших дата-центрах развиты не только L2-фабрики, но и L3. Структура фабрики третьего уровня очень похожа на классическую Ethernet-фабрику, которую мы рассмотрели выше.

L3-фабрика состоит из трех уровней: 

  • Leaf-уровень включает в себя коммутатор доступа, который подключается к конечным точкам. Например, к серверам.
  • Spine-уровень состоит из коммутаторов, которые выполняют маршрутизацию, работая в качестве магистрали сети.
  • Super spine, выполняющий функции spine-уровня (как и в случае L2-фабрики, образовался из-за внушительных размеров сети).

Leaf, spine, super spine и access, aggregation, super aggregation — названия одних и тех же уровней, но в разных моделях. Те же leaf-свитчи на физическом уровне не отличаются от access-свитчей. Однако в L3-фабрике Selectel от уровня leaf до уровня super spine чистый L3 — маршрутизируемые линки.

Больше роутеров — больше надежность

В Selectel практикуются схемы резервирования роутеров через MPLS — технологию коммутации по меткам.

Фрагмент из доклада ведущего сетевого инженера-эксперта Татьяны Литвиновой

Описание схемы

Есть клиентский сервер, который включается в условный коммутатор, за которым скрывается рассмотренная L3-фабрика. И от условного коммутатора есть связи в два роутера, которые резервируют друг друга через MPLS downlink и обслуживают одних и тех же клиентов.

Каждому пакету, проходящему через уровни сети, присваивается некая метка. Благодаря этому в последующих сегментах сети не нужно заглядывать «внутрь» пакета и сверять IP-адреса — маршрутизация производится по уникальной метке. Также можно передавать различные протоколы и сегментировать клиентский трафик на уровне сервиса.

Как здесь работает резервирование?

Есть два роутера, зарезервированные через downlink, к которым подключаются коммутаторы, связаны по протоколу MPLS. Если «вырубает» соединение, исходящее от роутера (uplink) — например, упал кабельный лоток — весь трафик перетекает через внутреннее MPLS-соединение (downlink) на второй роутер. 

Таким образом, каждый uplink зарезервирован через своеобразный MPLS-downlink. При этом каждый из линков должен быть загружен не более чем наполовину. Тогда со стороны клиента все будет работать без сбоев. 

Снова о клиентских включениях

Существуют разные схемы клиентского включения с горячим резервированием. 

Можно выделить две схемы для терминации клиентских IP-адресов.

В обеих схемах используется дублирование: есть основной роутер (master) и запасной (backup).

В схеме слева — VRRP — трафик от сервера будет ходить только через master. Либо переключаться на backup, если первый упал (например, master решил перезагрузиться). Минус схемы в том, что она плохо масштабируется. То есть, если в сеть включается слишком много подсетей, то CPU роутера master может сказать «пока». Из плюсов — простота реализации. 

Во второй схеме — anycast — два роутера разделяют нагрузку поровну. В случае отказа одного из них «живчик» загружается под завязку. Anycast gateway является одним из свойств технологии EVPN. На сегодняшний день мы используем только VRRP-схему. Anycast еще тестируется.

Вышиваем крестиком

Еще один пример L3-резервирования — схемы, как наши access-роутеры могут включаться в остальную сеть.

Мы практикуем два плана включения маршрутизаторов доступа в так называемые P-роутеры — транзитные роутеры MPLS-сегмента, которые маршрутизируют пакеты по меткам.

Слева у нас роутер с квартетом из физических линков (допустим, по 10G), которые соединяются по два с P-роутерами. 

В правой схеме наоборот: к каждому P-роутеру подключено по агрегированному линку из четырех кабелей. Если обрушился мощный burst-трафик (например, DDoS), проще вывести из строя агрегированный линк из двух кабелей, чем из четырех. Поэтому правая схема себя оправдывает.

«Мы используем две схемы и обращаемся к конкретной в зависимости от характера трафика».

Татьяна Литвинова, ведущий сетевой инженер-эксперт Selectel

Что нельзя зарезервировать

Горячее резервирование предпочтительней холодного, но даже оно не гарантирует полностью безотказную работу сети. Резервирование — это всегда работа с вероятностями. Кроме того, есть вещи, от которых резервирование не спасет. В первую очередь это человеческий фактор. 

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

От ошибок никто не застрахован. Но в наших силах свести их к минимуму, развивая культуру сетевого резервирования. Возможно, опыт Selectel покажется вам полезным.

Со стороны магистральной сети третьего уровня (других у Selectel не бывает) VTEP-коммутаторы представлены независимыми L3-маршрутизаторами, которые анонсируют в L3-сеть один и тот же IP-адрес — VTEP. 

Размещайте оборудование в дата-центрах Selectel

Обеспечим стабильными каналами связи, бесперебойным питанием и микроклиматом.
Ознакомиться с услугой

Что еще почитать по теме

Как переехать с Microsoft на Linux: краткий чек-лист и подводные камни

Делимся планом переезда с Microsoft на Linux и рассказываем, на что нужно обратить внимание при переносе данных и сервисов.
Владимир Туров 5 октября 2022

DBaaS: что такое облачные базы данных

Рассказываем о сервисе управляемых баз данных в облаке и объясняем, как разделяется ответственность за работу кластеров БД между провайдером и клиентом.
Владимир Туров 5 октября 2022
Кирилл Филипенко 14 сентября 2022

Увеличиваем FPS в аниме с помощью нейросети и GPU Tesla T4

Рассказываем про технологию интерполяции и ее практическое применение с помощью облачных серверов с GPU.
Кирилл Филипенко 14 сентября 2022

Новое в блоге

Михаил Фомин 24 июня 2022

Docker Swarm VS Kubernetes — как бизнес выбирает оркестраторы

Рассказываем, для каких задач бизнесу больше подойдет Docker Swarm, а когда следует выбрать Kubernetes.
Михаил Фомин 24 июня 2022
T-Rex 23 ноября 2022

Как работает СУБД Redis

Рассказываем, что такое Redis: рассматриваем его применение и преимущества, поддерживаемые типы данных.
T-Rex 23 ноября 2022

Полезные ресурсы для погружения в Go

Попросили коллег порекомендовать ресурсы для изучения Go и собрали подборку. Пригодится и начинающим, и опытным специалистам.
Дарья Маташина 22 ноября 2022

Как пережить «Черную пятницу»‎ без потерь?

Чек-лист для подготовки IT-инфраструктуры и специальные предложения от Selectel.
Дарья Маташина 22 ноября 2022