Skip to content

InfraMedia

Flussonic InfraMedia (далее — InfraMedia) — операционная система аппаратных медиасерверов. Это линукс с неизменяемым корнем, который поставляется одним образом вместе с прикладной программой, и демон управления, который настраивает машину по HTTP.

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

Устройство системы описано на странице техническая архитектура, установка — на странице установка, обновление и откат — на странице обновление прошивки.

Зачем неизменяемая система

Системные и исполняемые файлы InfraMedia нельзя изменить во время эксплуатации: корень собран из готовых образов squashfs и смонтирован только для чтения. Отсюда всё остальное.

  • Машина в стойке ровно такая, какой её выпустили. Изменить или подменить системный файл невозможно, поэтому невозможны и накопленные за годы правки, о которых уже никто не помнит. Две машины одной версии одинаковы.
  • Операционная система и прикладная программа едут одной поставкой. Они собраны и проверены вместе, а стык между ними держит поставщик, а не эксплуатация.
  • Версии при этом раздельные. Прикладная программа лежит в собственном слое, и обновить её, не трогая систему, — обычное дело; обратное тоже верно.
  • Обновление встаёт целиком или никак. Новая версия кладётся рядом с работающей и включается одной строкой в загрузчике. Состояния «наполовину обновились» не бывает, а откат — это та же строка, возвращённая обратно.
  • Внешние репозитории не нужны. В рабочем режиме пакеты не ставятся: всё, что есть в системе, приехало в образе.

Из чего состоит система

Часть Назначение
Базовый слой линукс с systemd, демон управления, веб-интерфейс, модули ядра
Ядро и initrd ядро собственной сборки под целевую машину и сценарий начальной загрузки
Конфигуратор демон управления: HTTP API, настройка машины через systemd
Веб-интерфейс обзор машины, интерфейсы, система, обновления, питание
Слой прикладной программы медиасервер (например, Mcaster) отдельным слоем поверх базового
Слой postgres общий компонент для продуктов, которым нужна база

Две версии

У операционной системы свой номер версии, у прошивки сервера — свой. Прошивка это InfraMedia такой-то версии плюс прикладная программа такой-то версии; обе записаны внутри загрузочного файла и видны в интерфейсе машины. Номер операционной системы не меняется от того, что обновилась прикладная программа.

Навигатор по документации

Эта документация поможет вам: