Чем сетевой рынок отличается от серверного? На серверном рынке есть выбор. Сервер от глобального бренда, сервер от локального бренда, сервер от производителя платформ, самосборный сервер — на любой вкус и цвет найдется вариант.
Сетевой рынок (мы говорим про enterprise) гораздо более консервативен. Есть пара доминирующих компаний, есть все остальные. У каждого вендора своя ОС, свой набор нежно любимых и лелеемых багов, привычные методы их обхода, своя командная строка (хотя некоторые объединились с единой CLI). Всё свое.
Некоторое время назад появилось мнение, что для ускорения развития рынку не хватает Linux.
Сервер можно приобрести с ОС и без, можно подобрать конфигурацию под требования приложений, можно выбрать любой дистрибутив ОС или собрать собственный. Выбор богат, и именно это позволило развиться новой бизнес-модели, которая легла в основу успеха многих интернет-компаний. Появилось множество разработок в программной сфере, был запущен проект Open Compute для оптимизации серверного оборудования
А что же происходило в сетевом оборудовании? Как коммутаторы управлялись почти 20 лет назад и как сейчас?
Годы идут, а изменений не происходило. Да, сейчас началось движение в сторону OpenFlow и SDN, но сетевые вендоры так и продолжают предлагать закрытые варианты под именем открытых. Многие вендоры разрабатывают свои ОС на основе Linux, но никто не использует просто Linux.
В 2010 году была образована пара стартапов, BigSwitch Networks и Cumulus Networks, которые занялись разработкой такого решения. В 2012 году к ним присоединилась Pica8.
Очевидные трудности на этом пути — необходимость создавать образ под конкретный коммутатор и сложные способы установки, ведь у каждого коммутатора может быть свой загрузчик.
Сложные способы установки
Чтобы обойти это ограничение, была разработана среда Open Network Installation Environment (ONIE). По сути, это предустановленный микролинукс, который при первой загрузке ищет источник для установки полноценной сетевой ОС (NOS).
Преимущества такого подхода:
- Среда для установки любой сетевой ОС.
- Автоматизация управления коммутаторами.
- Управление коммутаторами как Linux серверами.
Совместимость с коммутаторами
Вторая важная современная тенденция — публикация SDK для работы с матрицами, которые были раньше отмечены как 3rd party closed. Mellanox Open Ethernet, Broadcom OF-DPA SDK, Intel грозится опубликовать свой ONS и инструментарий в исходниках.
Распространение в массы
Не обошлось и без вездесущего Facebook, ONIE отдали в проект Open Compute для развития действительно открытой сетевой инфраструктуры. Принципы не позволяют Facebook платить традиционным вендорам. :)
Несколько компаний уже сделали коммутаторы и опубликовали спецификации на сайте www.opencompute.org/wiki/Networking/SpecsAndDesigns
Не забыта и программная часть:
В рамках OCP запущен проект Open Network Linux, на основе которого предлагается строить готовые дистрибутивы для различных коммутаторов. Забавно, что ONL не поддерживает непосредственно обработку пакетов, так как не инициализирует матрицу. Только управляющую часть:
Однако, публикация SDK позволяет самому собрать дистрибутив. Просто добавь нужные пакеты.
В итоге, из коммутатора хотят сделать сервер с драйверами матрицы:
Выбор Control Plane
Немалая часть современных коммутаторов работает на процессорах PowerPC, некоторые работают на x86, кто-то любит MIPS или ARM. В некоторых разработках уже предлагается размещать процессор на отдельной карте, так что можно будет выбирать между процессорами, дистрибутивами NOS и доступными приложениями.
Будущее
Facebook не сидит на месте и уже предложил концепт модульного коммутатора, обозвав это OCP Stage II.
Control Plane сделан на основе микросервера семейства Group Hug (Intel, AMD, ARM на выбор), что позволило интегрировать управление коммутатором в единую систему FB. Кроме управления непосредственно ОС, стало возможным мониторить аппаратное состояние коммутатора точно также, как и сервера. Температура, напряжения, состояние вентиляторов — все видно привычным образом. В общем, пока одни (не будем показывать пальцем) изобретают сложные системы управления коммутаторами и серверами одновременно, другие упрощают коммутаторы до уровня серверов.
Программная часть, названная FBOSS, унифицирована с серверами. Управление матрицей идет через уровень абстракции, сетью можно управлять как еще одним сервисом. Все админы внезапно стали сетевыми админами :)
Этот пример, скорее всего, будет подхвачен производителями и мы увидим больше модульных дизайнов в будущем.
Наше участие
Мы решили не оставаться в стороне и ряд моделей сделали доступными в виде Bare Metal Switch с предустановленной средой ONIE.
В список вошли:
Eos 220 — 48x 1G Base-T, 4x 10G SFP+, двойной блок питания. Поддерживаются Cumulus Linux, Open Network Linux, BigSwitch Switch Light, Pica8
Eos 400 — 48x 10G SFP+, 4x 40G QSFP+, двойной блок питания. Поддерживаются Cumulus Linux, Open Network Linux, BigSwitch Switch Light, Pica8.
Eos 420 — 48x 10G SFP+, 6x 40G QSFP+, двойной блок питания. Поддерживаются Cumulus Linux, Open Network Linux, BigSwitch Switch Light.