Выпуск системного менеджера 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.

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


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

Комментарии

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