Привет, Хабр! На связи Евгений Мартынов, CIO Рег.облака. Сегодня мы подключили вторую зону доступности облака в Москве на базе дата-центра «Медведково-2» . И вместе с новым запуском провели значительный апгрейд  технологический базы: пересобрали сетевую архитектуру, ушли от большого L2, навели порядок в изоляции трафика и перевели API на BGP-анонсы. В статье расскажу про конкретные решения — как и что мы пробовали, какие процессы отложили и к каким выводам пришли.

Навигация по тексту:

Интро: зачем облаку понадобилась вторая зона доступности в Москве

Сегодня в Рег.облаке подключена сеть из 10 дата-центров уровня Tier III в разных регионах России. Мы строим ее как геораспределенный контур: площадки соединены между собой резервированными каналами, что снижает риски и позволяет разворачивать отказоустойчивые сервисы.

В Москве до недавнего времени у нас была одна крупная площадка публичного облака — KIAEHOUSE. Этот ЦОД стал ядром столичного контура, однако,  для дальнейшего развития требовались дополнительные мощности. Параллельно мы видим спрос на дополнительные зоны доступности: компании всё чаще строят геораспределённые архитектуры и выбирают сценарии disaster recovery внутри региона.

Чтобы расширить пул мощностей и повысить отказоустойчивость внутри региона, мы решили запустить вторую площадку — «Медведково-2».  Важный момент, что она не дублирует KIAEHOUSE, а дополняет ее: больше вычислительных ресурсов и хранилища, современная сетевая архитектура и интерконнект до 100 Гбит/с. 

Теперь в Москве у нас доступен полноценный двухзонный контур: это дает клиента предсказуемые RTO/RPO — целевое время восстановления (RTO) и целевую точку восстановления (RPO), гибкость в сценариях репликации и балансировки, надежный сценарий disaster recovery. 

Технические ресурсы новой облачной площадки

В московском регионе дата-центр KIAEHOUSE и новая площадка работают как равноправные зоны доступности. Вместе они формируют общий контур с резервом вычислительных ресурсов и обновлённой архитектурой сети.

В «Медведково-2» мы развернули дополнительные вычислительные ресурсы и хранилище, ввели новые линейки серверов (включая высокочастотные на AMD EPYC) и интерконнект до 100 Гбит/с внутри площадки и между зонами.

Ниже — ключевые характеристики.

Параметр

Значение

Виртуальные ядра (vCPU)

до 25 000

Оперативная память

30 ТБ

Доступное хранилище

более 1 ПБ

Серверные линейки

стандартные, производительные, высокочастотные (AMD EPYC)

Сетевой интерконнект

40 Гбит/с к серверам,
100 Гбит/с между стойками

Отказоустойчивость

N+1 для ключевых элементов

Благодаря этому «Медведково-2» открывает клиентам больше возможностей для масштабных проектов: от размещения ресурсоемких нагрузок до сценариев, где критична скорость сети и предсказуемость инфраструктуры.

На старте в «Медведково-2» для пользователей уже доступны виртуальные серверы разных классов ( IaaS) и сервис резервного копирования. 

Сетевая инфраструктура: leaf–spine, border-leaf, OVN/Geneve

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

L2 (канальный уровень) — это сеть, где все устройства находятся в одном большом сегменте и видят все широковещательные запросы друг друга. 

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

В других дата-центрах мы уже сталкивались с этими ограничениями, поэтому в «Медведково-2» изначально решили заложить другой подход.

Leaf–spine и border-leaf

Мы выбрали схему сети leaf–spine (структура, где есть «ствол» spine и «листья» leaf, соединенные между собой). Такая структура распределяет нагрузку равномерно и избавляет от узких мест.

Дополнительно мы используем border-leaf — это «лист», который работает как граница фабрики и внешних сетей, то есть именно через него облако общается с внешними доменами. Такой подход упрощает управление и позволяет масштабировать сеть без переделки всей фабрики.

Overlay на Geneve

Мы развернули виртуальную сеть (overlay) на базе Geneve (это современный аналог VXLAN, предназначенный для тех же задач, но с расширяемым форматом заголовка и большим функционалом). Geneve инкапсулирует L2-трафик в UDP, позволяя строить масштабируемые виртуальные сети поверх IP. За счет этого сеть остается предсказуемой и управляемой.

SDN на OVN

Для управления сетью мы используем программно-определяемую сеть OVN (Open Virtual Network). Это замена классического SDN, которая пришла на смену связке Neutron ML2/OVS в OpenStack. OVN позволяет централизованно управлять виртуальными сетями. CMS задаёт правила на логическом уровне, а система автоматически реализует их на инфраструктуре. Такой подход упрощает администрирование и делает изменения в сети быстрыми и предсказуемыми.

Что попробовали и почему отложили

Мы тестировали вариант с полноценным L3 между стойками — когда маршрутизация вынесена на уровень ToR-коммутаторов (Top of Rack). Дополнительно использовали BGP-анонсы от SDN для обмена маршрутами.

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

Отказоустойчивый доступ к API — BGP вместо keepalived

На других площадках API OpenStack мы держали на классической схеме отказоустойчивости: два сервера с keepalived (VRRP-кластер виртуального IP) — утилитой, которая отслеживает состояние узлов и при сбое переводит трафик на резервный. Один из серверов работал в активном режиме, а второй оставался в резерве. Если основной сервер выходил из строя, резервный брал нагрузку на себя, но с паузой — именно в этот момент пользователи могли заметить задержку в работе API. 

В новой зоне мы отказались от схемы с keepalived, потому что она давала паузу при переключении и ограничивала масштабирование. Вместо этого развернули несколько HAProxy и связали их через BGP с ECMP — маршрутизацией с несколькими равнозначными путями (equal-cost multi-path). Каждый сервер теперь одновременно анонсирует один и тот же адрес, и получается схема «актив–актив–актив»: все фронты API работают параллельно и делят нагрузку между собой.

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

Изоляция трафика: «матрешка» туннелей

Мы понимали, что одна из ключевых задач в новой зоне —  развести служебный и клиентский трафики так, чтобы они не пересекались. Это важно для устойчивости: любые изменения в служебном контуре (например, обновление или настройка SDN) не должны влиять на пользовательские сети.

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

  • Фабрика leaf-spine — физическая сеть.

  • Опорные туннели (VXLAN между стойками) — базовый слой сети, на котором строятся и служебные, и клиентские сегменты

  • Туннели SDN (Geneve между нодами) — слой сети, на котором строятся клиентские сегменты.

  • Клиентские логические сегменты — изолированный пользовательский трафик внутри Geneve.

Таким образом сбой на одном уровне не перекидывается на другие — поведение сети предсказуемо.

Мониторинг и метрики

Следующий важный момент — это мониторинг. Известно, что надежная инфраструктура невозможна без мониторинга. В облаке мы используем связку Prometheus и Grafana, а также стандартные сервисные статистики OpenStack.

Prometheus собирает метрики сервисов (например, нагрузку или состояние интерфейсов), а Grafana показывает их в дашбордах и графиках. Вместе они дают понятную картину работы системы.

Такой набор закрывает базовые сценарии, Это делает сеть прозрачнее для инженеров: сбои видны раньше, а инциденты разбираются быстрее. Для клиентов это означает предсказуемость и стабильность сервисов даже при высокой нагрузке.

Серверные шкафы и стойки Рег.облака в дата-центре «Медведково-2»
Серверные шкафы и стойки Рег.облака в дата-центре «Медведково-2»

Что в итоге у нас получилось

Перевод API на схему с BGP+ECMP избавил от паузы при переключении и сделал систему горизонтально масштабируемой: новые серверы можно добавлять без ручных манипуляций. Для клиентов это значит предсказуемую работу API даже при росте нагрузки или отказе отдельных узлов.

Изоляция на трех уровнях в SDN-контуре также подтвердила устойчивость. Служебный и клиентский трафик идут раздельно, поэтому внутренние изменения не отражаются на пользовательских сервисах.

Выводы запуска и что мы сделали бы иначе

Запуск новой локации расширил московский контур Рег.облака и показал, что выбранные решения оправдали себя:

  • схема BGP+ECMP для API убрала задержки при переключениях и упростила масштабирование;

  • «матрешка» туннелей в SDN-контуре дала устойчивую изоляцию клиентского и служебного трафика;

Что мы сделали бы иначе

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

Что дальше: интерконнект и новые сервисы 

Следующий шаг — связать площадки между собой. Мы планируем приватный интерконнект, чтобы клиенты могли строить свои сети сквозь разные зоны и управлять ими.

Параллельно развиваем сервисы: в ближайших планах запуск GPU-инстансов, объектного хранилища S3, управляемых баз данных и Kubernetes, а также расширение PaaS-направления.

Новая зона в «Медведково-2» стала еще одной точкой опоры в московском контуре. Для Рег.облака это упрощает масштабирование и по ресурсам, и по сетевой архитектуре. Кто знает, какую территорию мы будем осваивать и где встретимся с вами в следующий раз? Следите за обновлениями — будет интересно.

Комментарии (0)