Systemd: различия между версиями

Материал из ALT Linux Wiki
(Q:Зачем переходить на systemd? A:...)
(Зачем? +Ещё)
Строка 61: Строка 61:
#более надежная система порядка запуска. Циферки, как известно, иногда приводят к тому что мантейнеры ошибаются. К счастью за годы мы многие такие баги вытоптали, но, увы, иногда появляются новые сервисы :) Указать зависимость между сервисами надежнее и предсказуемее нежели циферки.<br>
#более надежная система порядка запуска. Циферки, как известно, иногда приводят к тому что мантейнеры ошибаются. К счастью за годы мы многие такие баги вытоптали, но, увы, иногда появляются новые сервисы :) Указать зависимость между сервисами надежнее и предсказуемее нежели циферки.<br>
Денис Смирнов http://lists.altlinux.org/pipermail/sisyphus/2011-March/353142.html
Денис Смирнов http://lists.altlinux.org/pipermail/sisyphus/2011-March/353142.html
<br>Ещё:
Q: И вот скажите мне, стоит ли бороться за то, что мой ноут загрузится на одну минуту быстрее раз в два месяца ?
A: Стоит бороться за то, что как только ты нажмешь hardware key для включения/выключения WiFi, соответственно <br>запустится/остановится нужный сервис, к примеру.
А также что при втыкании bluetooth dongle -- поднимется bluetooth стек.
А также что перед suspend часть сервисов таки остановится, а после suspend запустится заново.
Q: Или сервер, который перезагружается раз в год, сможет это сделать примерно на 8 секунд быстрее ?
A: Или что когда на этом сервере упадет сервис, его автоматом перезапустят. Из коробки. Без необходимости <br>настраивать monit (который в отличии от systemd неспособен отличить заглушили мы сервис сами -- или он упал).
Q: Я не спорю - где-то безусловно есть необходимость в systemd, но на мой взгляд лично для меня его польза сильно<br> преувеличена.
A:Скорость загрузки это полезный побочный эффект. К счастью, не единственный.
Можно спорить о качестве реализации, но сам подход -- очень хороший. И существенно лучше sysvinit.
http://lists.altlinux.org/pipermail/sisyphus/2011-March/353143.html


=== Отладка systemd ===
=== Отладка systemd ===

Версия от 00:29, 1 апреля 2011


Для ALT Linux собран systemd. Решение, пока, сырое, поэтому в Сизиф он не попал, но пакеты уже доступны на ftp.altlinux.org.

Установка systemd

Для установки systemd надо проделать следующее:

  • Добавить в /etc/apt/sources.list такую запись
rpm ftp://ftp.altlinux.org/pub/people/shaba/systemd/ i586 hasher
  • Обновить систему
apt-get update && apt-get dist-upgrade

После выполнения обновления, в системе должны быть установленные новые udev, ConsoleKit, dbus.

  • Теперь можно установить непосредственно systemd:
apt-get install systemd systemd-units

Что бы использовать systemd при загрузке, надо отредактировать /etc/sysconfig/grub2 и привести строку GRUB_CMDLINE_LINUX_DEFAULT к такому виду:

GRUB_CMDLINE_LINUX_DEFAULT='panic=30 init=/bin/systemd'

После редактирования этого файла нужно вызвать:

grub-mkconfig -o /boot/grub/grub.cfg

Или просто установить systemd-sysvinit

apt-get install systemd-sysvinit SysVinit-

и ничего прописывть ядру не надо (в том числе и в lilo).

Можно перезагружаться и пробовать.

Дополнительные рекомендации

  • чтобы загружать модуль autofs4 как можно раньше добавьте:
MODULES_PRELOAD += autofs4

в /etc/initrd.mk (и перегенерите имидж, запустив make-initrd)

  • systemd поддерживает загрузку модулей из /etc/modules-load.d/*.conf

Особенности

Неполное описание преимуществ в сравнении с upstart и SysV-init
(цитата отсюда - http://www.opennet.ru/opennews/art.shtml?num=27218)

"systemd (system daemon) реализует принципиально новый подход к инициализации и контролю работы системы. Одним из ключевых новшеств этого подхода является высокая степень параллелизации запуска служб при инициализации системы, за счет активного использования возможностей сокетов, что в перспективе позволяет добиться гораздо более высокой скорости, чем традиционный подход с последовательным запуском взаимозависимых служб, используемый, например, в upstart. Другим важным моментом является контроль над точками монтирования (не-жизненно-важные файловые системы можно монтировать только при первом обращении к ним, не тратя на это время при инициализации системы) и устройствами (можно запускать и останавливать определенные службы и при появлении или удалении заданных устройств)."

Зачем переходить на systemd?

  1. быстрая загрузка -- важно для десктопов, иногда и для серверов тоже;
  2. более надежная загрузка, за счет параллельности. В отличии от sysvinit - подвисание при запуске одного сервиса не приведет к остановке всего процесса загрузки (тормоза с ntpd если приходится загружаться отключившись от сети, как пример);
  3. systemd это не просто запускалка сервисов. Оно еще и умеет их поддерживать запущеными (то, для чего я использую сейчас daemontools, а многие другие используют monit);
  4. более надежная система порядка запуска. Циферки, как известно, иногда приводят к тому что мантейнеры ошибаются. К счастью за годы мы многие такие баги вытоптали, но, увы, иногда появляются новые сервисы :) Указать зависимость между сервисами надежнее и предсказуемее нежели циферки.

Денис Смирнов http://lists.altlinux.org/pipermail/sisyphus/2011-March/353142.html
Ещё:

Q: И вот скажите мне, стоит ли бороться за то, что мой ноут загрузится на одну минуту быстрее раз в два месяца ?
A: Стоит бороться за то, что как только ты нажмешь hardware key для включения/выключения WiFi, соответственно 
запустится/остановится нужный сервис, к примеру. А также что при втыкании bluetooth dongle -- поднимется bluetooth стек. А также что перед suspend часть сервисов таки остановится, а после suspend запустится заново.
Q: Или сервер, который перезагружается раз в год, сможет это сделать примерно на 8 секунд быстрее ?
A: Или что когда на этом сервере упадет сервис, его автоматом перезапустят. Из коробки. Без необходимости 
настраивать monit (который в отличии от systemd неспособен отличить заглушили мы сервис сами -- или он упал).
Q: Я не спорю - где-то безусловно есть необходимость в systemd, но на мой взгляд лично для меня его польза сильно
преувеличена.
A:Скорость загрузки это полезный побочный эффект. К счастью, не единственный.
Можно спорить о качестве реализации, но сам подход -- очень хороший. И существенно лучше sysvinit. 

http://lists.altlinux.org/pipermail/sisyphus/2011-March/353143.html


Отладка systemd

О systemd на русском языке