Петровский Александр Сергеевич, системный инженер Mellanox Technologies.
Окончил МТУСИ в 2011 году по специальности «Вычислительные машины, комплексы, системы и сети». Имеет большой опыт работы в качестве инженера и архитектора в области сетевых
решений в компаниях INLINE Technologies и Hewlett-Packard Enterprise. В настоящий момент работает в российском представительстве компании Mellanox Technologies, специализируясь на открытых Ethernet решениях для ЦОД, а также технологиях программно-конфигурируемых
сетей.
Одним из ключевых инновационных трендов в современных сетях является дезагрегация, при которой аппаратная платформа сетевого устройства отделяется от операционной системы и приложений, что позволяет использовать различные ОС на различных устройствах, а также запускать различные сетевые приложения на этих ОС. Для этого необходима открытая сетевая ОС, в качестве которой Linux оказался идеальной основой, и используется в качестве базовой системы в составе множества сетевых ОС для управления bare-metal коммутаторами. В докладе будет приведен обзор основных примеров использования Linux в качестве сетевой ОС коммутатора, а также открытых интерфейсов, с помощью которых осуществляется взаимодействие ОС с аппаратной составляющей коммутатора, таких как Switch Abstraction Interface (SAI) и подсистемы Switchdev в самом ядре Linux. Кроме того, будет представлен анализ ключевых требований к ОС коммутатора на базе Linux, в основе которого лежит уникальный опыт использования открытых дистрибутивов Linux на коммутаторах ЦОД.
Дезагрегация, как ключ к переходу к эволюции сети
Дезагрегация, или разделение платформы сетевого устройства на независимые унифицированные компоненты - аппаратное «железо», операционную систему и приложения, это идея, пришедшая к нам от крупнейших web-компаний с первоочередной целью снижении затрат на содержание сети (OPEX). Начало этому положил Facebook со своим проектом Open Compute Project (OCP).
Суть этой идеи заключается использовании гибкого модульного подхода, при котором любой компонент как одного устройства (железо, ОС, ПО), так и всей сети в целом, может быть, при необходимости, заменен на более подходящий.
Открытая аппаратная платформа – как основа дезагрегации
Если в мире серверов дезагрегация и создание унифицированной открытой аппаратной платформы на базе архитектуры x86 и IBM PC, произошло десятки лет назад, то в
мире сетей этот феномен только начинает набирать обороты.
С момента появления самой концепции дезагрегации, появилось множество в различной степени открытых механизмов и интерфейсов, с помощью которых любой разработчик ПО мог программировать
работу сетевых устройств и управлять их специализированными функциями.
Ключевую роль в этом сыграли ключевые производители чипов (ASIC) для коммутаторов – Mellanox, Broadcom, Cavium и др., открыв интерфейсы программирования своих чипов
(API) и библиотеки разработки под них (SDK).
Коммутаторы с открытой платформой также называют Bare-metal (поставляемые без ОС с возможностью установки произвольной ОС потом) или White-box (поставляемые уже с проинсталлированной ОС из нескольких
доступных).
Linux как основа программного управления для сетевых устройств
Несмотря на то, что идея использовать Linux в качестве базовой ОС в сетевом оборудовании появилась задолго до становления концепции дезагрегации, и многие вендоры успешно применяли его в своих проприетарных коммутаторах и маршрутизаторах, в контексте
дезагрегации Linux получает гораздо большую роль в жизни сетевого устройства.
В проприетарных устройствах Linux используется как скрытый загрузчик некоторого закрытого ПО от вендора, которое и выполняло все необходимые функции по управлению
устройством.
В bare-metal или white-box коммутаторах Linux осуществляет непосредственное управление устройством и его функционалом (так же, как и обычным сервером).
Почему именно Linux в качестве ОС
Основная причина – это унификация. В большинстве компаний, которые смотрят в сторону дезагрегации, Linux – стандарт де-факто на серверах в ЦОД. Поэтому, логично и оправдано использовать одну и ту же ОС и одно и то же программное окружение во всей инфраструктуре, включая сеть, и использовать единые принципы и инструменты управления и мониторинга как для серверов, так и для сетевых устройств.
Linux в качестве ОС для коммутаторов ЦОД уже более 5 лет используется большинством крупнейших Web компаний, и сегодня этот подход перенимают предприятия и оператора связи.
Также есть и другие причины:
Примеры ОС коммутаторов на базе Linux
Можно разделить на 2 основные категории:
Также существует еще одна категория систем на базе Linux, которые разрабатываются некоторыми крупными компаниями для себя и используются только внутри них (Google, Facebook, Microsoft).
Как Linux управляет коммутатором?
Установка Linux осуществляется с помощью открытого загрузчика ONIE или же, на некоторые коммутаторы можно установить его с помощью PXE boot. Большинство коммерческих сетевых ОС используют проприетарные SDK от производителей чипов (Cumulus, Pica8, BigSwitch).
Открытые же сетевые ОС используют два основных интерфейса программирования коммутатора:
Опыт использования открытых Linux на коммутаторах Mellanox и требования к сетевой ОС на базе Linux
Совместно с компанией BaseALT мы собрали и протестировали рабочий прототип коммутатора Mellanox Spectrum под управлением отечественной ОС ALT (с драйвером Switchdev), который наглядно демонстрирует возможность использования Linux в качестве ОС высокопроизводительных 100GbE коммутаторов для ЦОД. Также был получен уникальный опыт демонстрации такого решения различным заказчикам и
проведения функционального и нагрузочного тестирования в составе сетевой фабрики из нескольких коммутаторов.
Также, по возможности, будет проведена небольшая демонстрация этого прототипа на реальном коммутаторе Mellanox под управлением ОС ALT.
Уважаемые коллеги! Для прохода в здание РАН просим принести документ, удостоверяющий личность.