Среди клиентов Selectel — социальные сети, интернет-издания, системы электронных платежей и другие компании. Их сервисы нуждаются в бесперебойной работе, которая достигается резервированием всех систем дата-центра. За время существования компании мы накопили опыт резервирования, который позволяет давать гарантии клиентам, и сейчас хотим им поделиться.
На вебинаре Selectel Network Academy эксперты компании рассказали о практиках L2- и L3-резервирования в дата-центрах Selectel. Подробнее о них — под катом.
Горячее, холодное и «тепленькое» резервирование
Причины простоев и сбоев в дата-центрах разнообразны — от неисправности оборудования до сетевых атак. А их последствия обходятся недешево: выплаты по SLA и потеря лояльности клиентов.
Подходов для оценки финансовых потерь много. Но все они определяются через время простоя: чем дольше сеть лежит, тем больший ущерб ждет провайдера.
Например, американская телекоммуникационная Lumen Technologies (CenturyLink) за инцидент в 2018 получили штраф в $11 млрд. Тогда сбой в их дата-центре (причина не уточняется) вызвал перебои в работе службы 911, на устранение которых понадобилось более суток.
Так вот, время простоя, в свою очередь, зависит от скорости восстановления систем. По этому показателю выделяют два типа резервирования:
Горячее резервирование — это метод, при котором резервные элементы находятся во включенном состоянии, активно работают и разделяют нагрузку между собой.
При холодном резервировании резервные узлы выключены и могут находиться на складе, в ЗИПе.
Если случится сбой, время на его устранение и, как следствие, стоимость простоя при холодном резервировании будет выше, чем при горячем. Но пользоваться только горячими методами в резервировании оборудования невыгодно: такое резервирование требует больше ресурсов — электроэнергии или топлива.
Компромисс — «тепленькое» резервирование
На заре Selectel не было возможности резервировать маршрутизаторы. Клиентам выдавались публичные сети, в каждой из которых им было доступно пять IP-адресов. Чтобы сделать горячее резервирование, нужно было забрать два из них. Для клиентов это больно. Как правило, все их адреса были заняты — процесс резервирования затягивался.
Компромиссом стало «тепленькое» резервирование, для которого не нужно забирать IP-адреса из сети клиента. Как в случае с горячим резервированием, запасной включенный маршрутизатор уже стоит в стойке с подключенными к нему линками. Для переключения достаточно ввести пару команд в терминал.
Далее расскажем о решениях по резервированию, которые применяются в дата-центрах Selectel на уровнях L1, L2 и L3.
Физическое резервирование
Горячее резервирование во многом напоминает школьную задачку по математике с таким зачином: «Из пункта А в пункт Б выехали два велосипедиста».
«На практике два велосипедиста не устраивают гонку. Они отправляются на велодорожку с надеждой, что хотя бы один из них доедет до пункта Б», – Кирилл Малеванов, технический директор Selectel
Фрагмент из доклада технического директора Кирилла Малеванова
Примерно по такому же принципу строятся коммуникации:
Проложили два кабеля по разным физическим маршрутам. Один находился рядом с вулканом, второй — проложен на дне океана. Если первый сгорит, допустим, из-за извержения, второй доставит пользовательский трафик.
Это пример типичного физического резервирования.
Если случай с извержением вулкана кажется чем-то из ряда фантастики, вот другой пример — исторический. Десять лет назад один из оптических кабелей Selectel был обстрелян хулиганами из пневматической винтовки.
Поэтому, если нужно протянуть кроссировку между первой и второй серверными или между серверными шкафами, расположенными в разных концах помещения, то ее необходимо прокладывать двумя разными физическими маршрутами.
Но, если мы получаем два кабеля, следующий логический шаг — поставить два коммутатора. Чтобы объединить эти коммутаторы в один логический, потребуются дополнительные связи — MLAG (иногда называется MC-LAG) и Stack. Для «внешнего мира» они представляют два физически разных коммутатора как один.
Так мы повышаем вероятность того, что пользовательский трафик пройдет по топологии сети до пункта назначения. При этом, если второй путь находится в резерве и работает в режиме ожидания, его нужно периодически проверять.
L2-резервирование
В Selectel много различных сетевых фабрик — масштабируемых и управляемых архитектур. Они охватывают множество машинных залов в дата-центрах.
Одна из таких архитектур — Ethernet-фабрика, которую мы используем, например, для размещения серверов клиентов в дата-центрах Selectel (colocation).
Если клиент запрашивает резервированное соединение (резервирование канала), то подключение происходит с помощью двух разных физических линков, двух коммутаторов и агрегированного интерфейса из сетевых адаптеров сервера. Здесь для резервирования мы используем все те же Stack и MLAG-пары.
Фрагмент из доклада ведущего архитектора сетевых решений Кирилла Сизова
В результате в дата-центрах разрастаются подобные «кампусные» сети (Ethernet-фабрики), построенные по принципу агрегированных каналов — технологии объединения параллельных каналов связи в один логический:
L2-фабрики (Ethernet-фабрики) — это деревья, спроектированные таким образом, что пакеты от сервера A могут добраться до сервера D только через уровень агрегации — своеобразное основание дерева.
«В дата-центрах Selectel размещено так много серверов, что мы дополнительно выделяем уровень суперагрегации. Он служит для объединения коммутаторов уровня агрегации. Принимаем ваши предложения, как назвать следующий уровень», — Кирилл Сизов, ведущий архитектор сетевых решений Selectel.
В дата-центрах Selectel размещено так много серверов, что мы дополнительно выделяем уровень суперагрегации. Он служит для объединения коммутаторов уровня агрегации. Принимаем ваши предложения, как назвать следующий уровень.
Подключений в такой структуре немало. Поэтому везде, где это возможно, мы стараемся дублировать (резервировать) «линки».
Работа вполсилы
Внутри Selectel есть стандарт: каждый линк нагружен не более чем на 50%. Так, они выдержат непредвиденный рост нагрузки.
На графиках это выглядит примерно так:
Здесь два 40-гигабитных линка от коммутатора доступа до агрегации. Соответственно, на каждом линке должно быть не более 20 Гбит/с. Такие конфигурации резервирования позволяют спокойно выводить поврежденные линки из работы.
«Композиция» из фабрик
Как говорилось ранее, у Selectel несколько дата-центров, и в каждом из них может быть минимум одна фабрика. А то и две-три различных L2- и L3-фабрик.
Бывают ситуации, когда нужно распространить один и тот же L2-домен между несколькими фабриками в разных дата-центрах.
Например, у нас есть облако на базе VMWare, а для работы его Disaster Recovery-кластера миграционные «сущности» требуют наличия прямого L2-соединения между собой. Но они находятся в разных дата-центрах.
Чтобы обеспечить удаленные друг от друга хосты / виртуальные машины (фабрики) L2-соединением, мы используем VxLAN VTEP-коммутаторы, которые позволяют на уровне L3 обмениваться L2-трафиком (кадрами).
Как видно на схеме выше, каждый такой коммутатор также резервируется путем дублирования. Со стороны L2 с помощью специальных протоколов они представляются одним устройством.
Со стороны магистральной сети третьего уровня (других у Selectel не бывает) VTEP-коммутаторы представлены независимыми L3-маршрутизаторами, которые анонсируют в L3-сеть один и тот же IP-адрес — VTEP.
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 — маршрутизируемые линки.
Если вам интересна тема сетевого резервирования, читайте другие наши тексты:
→ Open source, собственные серверы и экспертиза: доступный межсетевой экран для инфраструктуры в Selectel
→ Зачем мы установили беспроводные датчики мониторинга напряжения стоек и в чем профит для клиентов дата-центра
→ Кабели разные нужны, кабели разные важны: по дну морей, рек и океанов прокладывают новые магистрали
Больше роутеров — больше надежность
В Selectel практикуются схемы резервирования роутеров через MPLS — технологию коммутации по меткам.
Фрагмент из доклада ведущего сетевого инженера-эксперта Татьяны Литвиновой
Каждому пакету, проходящему через уровни сети, присваивается некая метка. Благодаря этому в последующих сегментах сети не нужно заглядывать «внутрь» пакета и сверять 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 покажется вам полезным.
Комментарии (9)
Chupaka
06.07.2022 14:43А резервирование вида "ставим в пару оборудование разных вендоров" используется? Чтобы в случае глюков в прошивке сразу оба девайса не ушли в небытие (как когда плохо настроенный роутер MikroTik убивал по всему миру Cisco своими BGP-анонсами).
Doctor_IT Автор
07.07.2022 15:03Здравствуйте! На данный момент не используем. В паре роутеров один вендор и одна модель. Хотя между парами роутеров вендоры и модели могут различаться.
lehha
07.07.2022 15:07А вы точно делаете резервирование как написано в статье? А то часто запланированные работы на вашей сети в духе "ожидаем даунтайм до 15 минут в связи с обновлением маршрутизаторов". Или эта опция за отдельные деньги?
Doctor_IT Автор
07.07.2022 17:31Здравствуйте! В случае с маршрутизаторами такого быть не может. Вы, вероятно, говорите про коммутаторы доступа. Тогда такой сценарий возможен, если у сервера не подключен MC-LAG (MLAG). Коммутаторы обновляются примерно по 15 минут.
lehha
07.07.2022 22:33Ну вот так и получается - резервирование это за отдельные деньги как отдельная услуга, причем даже не во все серверы можно поставить. То есть этого нет при обычной аренде серверов.
homeles
Насколько понял - "тёпленькое резервирование" - это маршрутизатор "в боевой конфигурации", но с отключенными административно портами на коммутаторах-линках ?
Doctor_IT Автор
Здравствуйте! Маршрутизаторы да, находятся в боевой конфигурации. Они уже подключены и установлены. В случае каких-то сбоев не нужно в панике бежать на склад за запасным маршрутизатором. Достаточно ввести пару команд в терминале для "активации" резервного маршрутизатора.
homeles
ну я и уточнял - насколько помню-знаю - у маршрутизаторов нет команд "стань из тёпленького горячим", а вот про команды поднятия линков на портах коммутаторов - знаю. Была бы необходимость (и деньги клиентов) - сам бы так и сделал. Особенно, если все каналы (внешние, внутренние, менеджмент) можно пораскидать по коммутационной фабрике VLAN-ами и подавать по необходимости в нужные порты.