Config service
Материал из pNp Wiki
Управление сервисами
Предварительные требования
- Виртуальная машина с двумя сетевыми интерфейсами
- Установленные пакеты:
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 исходя из информации полученной через шину интерфейсов. Используются для управления набором внешних системных процессов.
|