Facebook открыл программные стеки для BMC-контроллеров и сетевых коммутаторов

13 марта 2015 года

На саммите Open Compute Summit представлено несколько новых инициатив, развиваемых участниками проекта Open Compute, нацеленного на создание открытых спецификаций и доступных для безвозмездного использования технологий, позволяющих добиться максимальной масштабируемости, гибкости и эффективности работы инфраструктуры датацентров при минимальных затратах. Свои новые открытые аппаратные сетевые устройства, коммутаторы и платформы для создания серверов представили компании Facebook, Intel, HP, Mellanox, Broadcom, Cumulus, Accton, Hyve и NetBRIC. Отдельного внимания заслуживают новые открытые проекты Facebook и Broadcom.

Facebook объявил об открытии кода проекта OpenBMC, в рамках которого подготовлен программный фреймворк для создания Linux-прошивок для контроллеров BMC (Board Management Controller), предоставляющих низкоуровневый интерфейс для мониторинга и управления серверным оборудованием. BMC представляет собой поставляемый в сервере специализированный контроллер, имеющий свой CPU, память, хранилище и интерфейсы опроса датчиков. При помощи BMC независимо от работающей на сервере операционной системы можно отслеживать состояние датчиков, управлять питанием, прошивками и дисками, организовать удалённую загрузку по сети, обеспечить работу консоли удалённого доступа и т.п.

До сих пор все прошивки для BMC-контроллеров были проприетарными и разрабатывались производителями оборудования. OpenBMC позволяет полностью контролировать программную начинку BMC и самостоятельно формировать прошивки и обновления к ним. Для организации сборки Linux-образа для плат BMC используются наработки проекта Yocto, предоставляющего готовые компоненты для создания собственных дистрибутивов для встраиваемых продуктов на базе различных аппаратных архитектур.

OpenBMC состоит из трёх базовых слоёв:

  • Типовой набор пакетов и сценариев, которые можно использовать в различных типах BMC и на разных SoC. Например, в состав входят BusyBox, i2c-tools, lm-sensors, OpenSSH и Python;
  • Набор драйверов и инструментов, специфичных для определённых SoC. Слой включает в себя загрузчик (u-boot) и ядро Linux, а также драйверы для интерфейсов i2c, USB, PWM и SPI. Из BMC SoC поддерживаются чипы Aspeed AST2300/AST2400.
  • Компоненты, определяющие логику работы и конфигурацию образа прошивки для заданного типа BMC-контроллера. В том числе определяет какие пакеты должны быть включены в образ и включает инструменты для инициализации платы.

Вторым важным событием стало открытие программного стека FBOSS (Facebook Open Switching System), предназначенного для контроля и управления сетевыми коммутаторами. FBOSS разработан в рамках проекта по созданию открытого коммутатора Wedge и нацелен на применение в коммутаторах библиотек и подсистем, уже используемых для управления серверами, в том числе средств начального развёртывания, вывода из эксплуатации, применения обновлений, приостановки работы на время обслуживания без потери клиентских соединений. FBOSS нацелен на использование с системами на ядре Linux и предоставляет единый уровень абстракции на базе Apache Thrift, скрывающий особенности API, специфичные для применяемых в коммутаторах специализированных интегральных схем ASIC.

Из числа входящих в состав FBOSS приложений можно отметить Agent Daemon, который запускается на каждом коммутаторе, управляет таблицами аппаратного перенаправления пакетов, обрабатываемые силами ASIC, и обеспечивает поддержку некоторых управляющих протоколов, таких как ARP, NDP, DHCP и LLDP. Имеются средства для разбора и формирования пакетов ICMP и UDP. Для управления маршрутами используется API Thrift, что позволяет сторонним процессам управления маршрутизацией доставлять свою информацию до аппаратных таблиц перенаправления пакетов (L2, L3, VLAN). Конфигурация Agent Daemon определяется в формате JSON.

Передачей информации о маршрутизации через API Thrift будет заниматься Routing Daemon, который не вошёл в состав первого выпуска FBOSS. В первом выпуске для добавления и удаления маршрутов пока используется простой скрипт на языке Python. В будущем ожидается появление вариантов Routing Daemon с поддержкой тех или иных протоколов маршрутизации, в том числе BGP. В состав также входит набор утилит для обращения к Agent Daemon и вывода статистики, генерации конфигурации и отладки. Стоит отметить, что FBOSS не является дистрибутивом Linux, а лишь набором компонентов, предназначенных для использования в различных системах на базе Linux и создания производных решений.

Из специализированных ASIC, предоставляющих аппаратные механизмы маршрутизации и перенаправления пакетов, в FBOSS поддерживаются чипы Broadcom. В качестве своего вклада в общее дело компания Broadcom открыла код библиотеки OpenNSL (Open Network Switch Library), предоставляющей API для программирования своих коммутационных Ethernet ASIC. При помощи данной библиотеки можно создавать приложения, работающие поверх коммутаторов Broadcom StrataXGS, построенных на чипах Trident и Trident II. Примечательно, что Broadcom является первой компанией открывшей интерфейс для программирования ASIC, обычно подобная информация держится в тайне и сообщается только по подписке о неразглашении.

Третьим анонсом Facebook является проект Yosemite, в рамках которого разработано открытое модульное шасси для построения мощных микросерверов. Yosemite объединяет в единое целое четыре SoC-платы, потребляющих до 90 ватт каждая, а также включает блок питания, слоты для памяти, как минимум один интерфейс для SSD, сетевой интерфейс и локальный управляющий контроллер. В свою очередь Yosemite также выступает в роли модуля для компоновки более крупных серверных систем на базе стоек Open Rack (в одну стойку помещается 192 серверных карты). Интерфейс подключения SoC-плат унифицирован, что позволяет использовать платы от разных производителей

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Facebook открыл программные стеки для BMC-контроллеров и сетевых коммутаторов», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.