Config service — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Общая информация)
(Общая информация)
Строка 48: Строка 48:
 
| device || Используется для описания устройства, которое было обозначено как нуждающиеся в управлении <code>systemd</code> сервисом <code>udev</code> или файловой системой <code>sysfs</code>. Не все устройства имеют файлы <code>.device</code>. Такие файлы могут потребоваться для определения порядка следования устройств, их монтирования и доступа к ним.
 
| device || Используется для описания устройства, которое было обозначено как нуждающиеся в управлении <code>systemd</code> сервисом <code>udev</code> или файловой системой <code>sysfs</code>. Не все устройства имеют файлы <code>.device</code>. Такие файлы могут потребоваться для определения порядка следования устройств, их монтирования и доступа к ним.
 
|-
 
|-
| mount ||  
+
| mount || Определяет точку монтирования на файловой системе под управлением <code>systemd</code>. <code>.mount</code> файлы именуются по имени точки монтирования, где слеши <code>/</code>, заменяются на тире <code>-</code>
 
|-
 
|-
| automount ||  
+
| automount || Определяет точку монтирования которая будет смонтирована автоматически. Данный файл должен именоваться так же, как и точка монтирования на которую он ссылается и иметь соответствующий файл <code>.mount</code> в котором указаны опции монтирования
 
|-
 
|-
| snapshot ||  
+
| snapshot || Создается автоматически командой <code>systemd snapshot</code>. Данная команда позволяет восстановить текущее состояние системы инициализации, после внесения в не еизменений
 
|-
 
|-
| timer ||  
+
| timer || Определяет таймер, который будет находится под управлением <code>systemd</code>. Аналогичен заданию для демона <code>cron</code>.
 
|-
 
|-
| swap ||  
+
| swap || Определяет пространство подкачки в системе. Имя юнита должно отражать устройство или имя файла, который будет использоваться в качестве свопа
 
|-
 
|-
| path ||  
+
| path || Определяет путь, который будет использован для активации на основе пути. По-умолчанию, будет запущен юнит <code>.service</code> c аналогичным именем, в момент изменения состояния пути. Данная возможность использует <code>inotify</code> для отслеживания изменений пути.
 
|-
 
|-
| slice ||  
+
| slice || Юнит связан с нодами <code>cgroups</code> позволяя ограничивать ресурсы процессам упомянутым в <code>.slice</code> файле. Имя юнита отражает позицию в иерархии внутри дерева <code>cgroups</code>
 
|-
 
|-
| scope ||  
+
| scope || Создаются автоматически <code>systemd</code> исходя из информации полученной через шину интерфейсов. Используются для управления набором внешних системных процессов.
 
|}
 
|}

Версия 12:46, 2 марта 2018

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

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

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