Выпуск системного менеджера Systemd 205
5 июля 2013 года
Леннарт Поттеринг (Lennart Poettering) представил релиз системного менеджера systemd 205, примечательный пересмотром методов работы с cgroups для управления системными ресурсами. Изменения отражают планы по переработке концепции использования cgroups, предпринятой с целью устранения недостатков в дизайне данной подсистемы.
Новая схема использования cgroups предусматривает наличие центрального арбитра для распределения ресурсов, который будет выступать промежуточным звеном между конфигурацией cgroups на уровне ядра и кодом, выполняемым на уровне пользователя. Таким образом, приложения не смогут напрямую изменять конфигурацию cgroups, а должны обращаться для выполнения данных операций к арбитру через специальный высокоуровневый API. Функции подобного арбитра возьмёт на себя systemd. В самом systemd функции прямого обращения к конфигурации cgroups также будут заменены на возможности, учитывающие новую схему взаимодействия и более плотно использующие иерархические принципы работы с cgroups.
Первые изменения в рамках реализации нового плана использования cgroups представлены в Systemd 205. В частности, прекращена поддержка низкоуровневых опций ControlGroup, ControlGroupModify, ControlGroupPersistent и ControlGroupAttribute, и представлены новые типы юнитов scope и slice, а также концепция временных юнитов. Юниты scope напоминают юниты для запуска сервисов и отличаются от них тем, что порождаются не главным процессом инициализации (init), а уже работающими обычными процессами, что позволяет приложениям и демонам группировать запущенные ими дочерние процессы. Юниты slice используются для разбиения системы на части, вводя в обиход раздельные области для системных процессов, пользовательских сеансов и изолированных контенеров или виртуальных машин, и предоставляя возможность использовать разные юниты в зависимости от текущего слайса.
Временные юниты ("transient") отличаются от обычных тем, что создаются на лету через обращение к API, а не сохраняются на диск в виде файлов конфигурации. При помощи подобных юнитов появляется возможность запуска произвольных программ в роли независимых сервисов, все параметры запуска которых передаются через API без заведения файлов на диске, что делает Systemd более динамической системой и позволяет применять в роли менеджера пакетных заданий. Для запуска программ в виде временных сервисов или scope-групп в состав включена утилита "systemd-run", которая позволяет передать параметры выполнения в виде опций командной строки. В настоящее время возможности "systemd-run" ограничены, но в будущем планируется расширить функциональность утилиты средствами создания очередей для выполнения работ в заданное время, с определением заданий в стиле утилиты "at".
Другим новшеством Systemd 205 является демон systemd-machined, предназначенный для управления виртуальными машинами и контейнерами, а также для накопления метаданных об их работе. Systemd-machined может быть использован менеджерами виртуализации для регистрации виртуальных машин и контейнеров. Для доступа к накопленным метаданным подготовлена специальная утилита "machinectl".
Systemd сочетает в себе функции системы инициализации, механизм для контроля за выполнением фоновых процессов, службу для журналирования событий и средства для управления сервисами, сеансами пользователей и подключаемыми устройствами. Для определения параметров сервисов в Systemd используется набор конфигурационных unit-файлов, вместо оформления сценариев запуска в виде shell-скриптов. Система нацелена на интенсивную параллелизацию выполнения сервисов на этапе загрузки системы, вобрав в себя лучшие черты таких систем, как launchd (Mac OS X), SMF (Solaris) и Upstart (Ubuntu, старые версии Fedora). В настоящее время на использование systemd уже перешли такие дистрибутивы, как Fedora, openSUSE, Mandriva и Arch Linux.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.