InfraMedia¶
Flussonic InfraMedia (далее — InfraMedia) — операционная система аппаратных медиасерверов. Это линукс с неизменяемым корнем, который поставляется одним образом вместе с прикладной программой, и демон управления, который настраивает машину по HTTP.
Назначение: превратить сервер в законченный прибор, который работает без администрирования. Машину настраивает не человек в консоли, а программа, ради которой прибор и поставлен, — через программный интерфейс конфигуратора.
Устройство системы описано на странице техническая архитектура, установка — на странице установка, обновление и откат — на странице обновление прошивки.
Зачем неизменяемая система¶
Системные и исполняемые файлы InfraMedia нельзя изменить во время эксплуатации: корень собран из готовых образов squashfs и смонтирован только для чтения. Отсюда всё остальное.
- Машина в стойке ровно такая, какой её выпустили. Изменить или подменить системный файл невозможно, поэтому невозможны и накопленные за годы правки, о которых уже никто не помнит. Две машины одной версии одинаковы.
- Операционная система и прикладная программа едут одной поставкой. Они собраны и проверены вместе, а стык между ними держит поставщик, а не эксплуатация.
- Версии при этом раздельные. Прикладная программа лежит в собственном слое, и обновить её, не трогая систему, — обычное дело; обратное тоже верно.
- Обновление встаёт целиком или никак. Новая версия кладётся рядом с работающей и включается одной строкой в загрузчике. Состояния «наполовину обновились» не бывает, а откат — это та же строка, возвращённая обратно.
- Внешние репозитории не нужны. В рабочем режиме пакеты не ставятся: всё, что есть в системе, приехало в образе.
Из чего состоит система¶
| Часть | Назначение |
|---|---|
| Базовый слой | линукс с systemd, демон управления, веб-интерфейс, модули ядра |
| Ядро и initrd | ядро собственной сборки под целевую машину и сценарий начальной загрузки |
| Конфигуратор | демон управления: HTTP API, настройка машины через systemd |
| Веб-интерфейс | обзор машины, интерфейсы, система, обновления, питание |
| Слой прикладной программы | медиасервер (например, Mcaster) отдельным слоем поверх базового |
Слой postgres |
общий компонент для продуктов, которым нужна база |
Две версии¶
У операционной системы свой номер версии, у прошивки сервера — свой. Прошивка это InfraMedia такой-то версии плюс прикладная программа такой-то версии; обе записаны внутри загрузочного файла и видны в интерфейсе машины. Номер операционной системы не меняется от того, что обновилась прикладная программа.
Навигатор по документации¶
Эта документация поможет вам: