Отчет о развитии systemd

Вторник, 24 августа 2010 г.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e

Леннарт Поттеринг, ведущий разработчик перспективной системы инициализации systemd, рассказал о ключевых достижениях в разработке данного программного продукта:

В настоящее время systemd уже принят в состав выпуска Fedora 14 и отлично зарекомендовал себя в предварительном тестировании, поэтому скорее всего именно он будет использоваться в  Fedora 14 в качестве системы инициализации по умолчанию. Добавлены новые конфигурационные единицы (юниты): timer-юниты для активации событий по таймеру (в стиле cron), swap-юниты, позволяющие централизованно управлять swap-разделами и swap-файлами, и path-юниты, обеспечивающие реагирование на события inotify (например, изменение заданного файла или появление файлов в определенном каталоге). Реализована поддержка SELinux: создаваемым объектам (каталогам, сокетам, FIFO) автоматически присваиваются корректные метки безопасности. Выполнена интеграция со стандартной аудит-подсистемой ядра Linux: systemd отчитывается обо всех операциях запуска/остановки служб. Добавлена поддержка TCP-оберток (wrappers) для обслуживаемых сокетов. Обеспечена поддержка PAM при запуске служб под отдельными пользователями (при открытии и завершении сеанса выполняются соответствующие хуки PAM). Реализована поддержка D-Bus: все D-Bus службы могут контролироваться systemd точно так же, как и обычные SysV-службы. За счет использования буферизующих возможностей шины и сокетов, обеспечивается эффективное распараллеливание запуска серверов и клиентов (перед запуском клиента уже необязательно дожидаться окончания запуска сервера - их можно запустить одновременно, и если запрос клиента придет раньше, чем сервер сможет его обработать, то этот запрос просто задержится в буфере до нужного момента). Обеспечен парсинг специфичных для Debian и openSUSE расширений формата SysV-скриптов (для Fedora такая поддержка была изначально). Завершена доработка управляющего D-Bus-интерфейса к systemd, обеспечивающего полный доступ к текущей конфигурации. Используя такие утилиты, как gdbus или d-feet, администратор может просматривать всю необходимую информацию и при необходимости отдавать команды. Добавлен PAM-модуль, который обеспечивает полный контроль над завершением всех пользовательских процессов по окончании сеанса (для отслеживания процессов используется механизм cgroups). Добавлена утилита systemd-cgls, выполняющая рекурсивный вывод иерархии контрольных групп (cgroups). Реализована сама иерархия контрольных групп (в настоящий момент управляющая псевдо-ФС, отражающая эту иерархию, монтируется в /cgroup/systemd, однако перед выпуском Fedora 14 ее планируется перенести в недра /sys/fs/). Поддерживается запуск getty для serial-консолей. Значительно улучшена основная управляющая утилита systemctl (например, поддерживается вывод графа зависимостей в формате Graphviz). Также улучшены средства, эмулирующие работу классических утилит SysV (halt, shutdown, runlevel, telinit) - теперь соответствующие программы из комплекта systemd могут работать не только под systemd, но также под Upstart и SysV, что должно упростить процесс миграции. Кроме того, обеспечена отправка уведомлений в том случае, если файлы конфигурации systemd были изменены, а команды перечитать их не поступало. Подготовлен пример реализации демона, эффективно использующего возможности, предоставляемые systemd. Также подготовлен комплект документации по основным компонентам systemd, включая рекомендации по разработке демонов с учетом специфики systemd. Некоторые программные продукты уже включает в комплект поставки конфигурационные файлы для systemd, что обеспечивает корректную работу таких программ в любом дистрибутиве, поддерживающем systemd. В планы Леннарта и его коллег входит унификация процесса загрузки и управления службами во всех этих дистрибутивах, и определенные результаты уже достигнуты. Кроме того, в ряд проектов уже приняты присланные разработчиками systemd патчи, обеспечивающие эффективное использование возможностей socket-based активации (в стиле inetd). Добавлено множество опций, определяющих среду исполнения процессов и сокетов (лимиты на системные ресурсы, ограничения безопасности и т.п.). Леннарт Поттеринг приступил к публикации цикла статей «systemd for Administrators». Функциональность практически всех скриптов, обеспечивающих запуск и остановку Fedora, реализована «с нуля» в отдельных быстрых, простых и компактных C-программах, и частично в самом systemd. И хотя многие из этих наработок, к сожалению, не будут задействованы в выпуске Fedora 14, все они включены в состав systemd, и их полная активация обеспечивает быструю, эффективно распараллеленную загрузку, прочем PID первого пользовательского терминала уже меньше пятисот. К выпуску Fedora 15 Леннарт и коллеги планируют подготовить полностью бескостыльный (shell-less) процесс загрузки. В systemd реализован уникальный механизм обеспечения работы регистратора /dev/log, в перспективе позволяющий сохранить все лог-записи, начиная от первого запуска systemd на раннем этапе загрузки и заканчивая моментом halt"а системы. Вкратце, идея состоит в следующем: в те периоды времени, когда syslog-демон недоступен (до его запуска в начале загрузки, после его остановки при завершении работы, во время его перезапуска и т.п.) регистрация событий производится средствами ядерного лог-буфера (kmsg). Если syslog-демон по какой-то причине становится неработоспособен, все системные события можно узнать из вывода dmesg. В дальнейшем, если syslog-демон все-таки поднимется, эта информация будет распределена по заданным в его конфигурации приемникам (лог-файлам, удаленным серверам логгирования и т.п.). В том случае, если подъем syslog-демона больше не ожидается (например, при остановке системы), содержимое ядерного лог-буфера может быть выведено на терминал (или serial console, или netconsole, и т.п.). Особый интерес эта возможность представляет для встраиваемых систем, в которых теперь можно обходиться вообще без демона системного лога (преимущества: меньше нагрузка на процессор, отсутствие дискового ввода-вывода, возможность доступа к логу через последовательную или сетевую консоль). Огромное множество мелких исправлений и улучшений.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e


Просмотров: 526
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003

Октябрь 2015: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31