Config service

Материал из pNp Wiki
Версия от 12:46, 2 марта 2018; Andy (обсуждение | вклад) (Общая информация)

Перейти к: навигация, поиск

Управление сервисами

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: systemd, bash-completion

Общая информация

В RHEL 7 на смену классическому init'у и стартовым скриптам, а так же запуску демонов посредством xinetd, пришел systemd. Преимущества systemd в сравнении с классической системой инициализации init:

  • Возможность распараллеливания запуска демонов, что ускоряет загрузку системы
  • Запуск демонов по требованию, без необходимости использования стороннего сервиса
  • Автоматическое разрешение зависимостей сервисов, что позволяет предотвратить длительное ожидание в случае, если сервису требуется сеть, а сеть недоступна.
  • Метод слежения за родственными процессами благодаря использованию cgroups

Для управления разными типами системных объектов, называемых юнитами (units), используется утилита systemctl. Полный список системных объектов можно получить следующим образом:

[root@vm-02 ~]# systemctl -t help
Available unit types:
service
socket
target
device
mount
automount
snapshot
timer
swap
path
slice
scope
[root@vm-02 ~]#

Описание системных объектов

Тип объекта Описание
service Описывает как управлять сервисом или приложением. Управление включает в себя запуск/остановку сервиса, при каких обстоятельствах сервис должен быть автоматически запущен, а так же информацию о зависимостях и порядке запуска
socket Описывает сетевой или IPC сокет или буфер FIFO который использует systemd для сокет активации. Сокет всегда имеет .service файл, который будет запущен, когда будет обращение к сокету
target Используется для предоставления возможности синхронизации между другими юнитами в момент загрузки или изменения состояния. Объекты этого типа так же могут быть использованы, для приведения системы в новое состояние. Другие юниты определяют их отношение к target'ам , которые привязаны к действиям target'а
device Используется для описания устройства, которое было обозначено как нуждающиеся в управлении systemd сервисом udev или файловой системой sysfs. Не все устройства имеют файлы .device. Такие файлы могут потребоваться для определения порядка следования устройств, их монтирования и доступа к ним.
mount Определяет точку монтирования на файловой системе под управлением systemd. .mount файлы именуются по имени точки монтирования, где слеши /, заменяются на тире -
automount Определяет точку монтирования которая будет смонтирована автоматически. Данный файл должен именоваться так же, как и точка монтирования на которую он ссылается и иметь соответствующий файл .mount в котором указаны опции монтирования
snapshot Создается автоматически командой systemd snapshot. Данная команда позволяет восстановить текущее состояние системы инициализации, после внесения в не еизменений
timer Определяет таймер, который будет находится под управлением systemd. Аналогичен заданию для демона cron.
swap Определяет пространство подкачки в системе. Имя юнита должно отражать устройство или имя файла, который будет использоваться в качестве свопа
path Определяет путь, который будет использован для активации на основе пути. По-умолчанию, будет запущен юнит .service c аналогичным именем, в момент изменения состояния пути. Данная возможность использует inotify для отслеживания изменений пути.
slice Юнит связан с нодами cgroups позволяя ограничивать ресурсы процессам упомянутым в .slice файле. Имя юнита отражает позицию в иерархии внутри дерева cgroups
scope Создаются автоматически systemd исходя из информации полученной через шину интерфейсов. Используются для управления набором внешних системных процессов.