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

Материал из pNp Wiki
Перейти к: навигация, поиск
(Просмотр unit файлов)
Строка 103: Строка 103:
 
|}
 
|}
  
==== Просмотр unit файлов ====
+
==== Манипуляции unit файлами ====
 +
 
 +
Для просмотра загруженых юнитов, имеющих тип <code>.service</code>, вводим следующую команду:
 +
<syntaxhighlight lang="bash">
 +
[root@vm-02 ~]# systemctl --type=service
 +
UNIT                                                                                LOAD  ACTIVE SUB    DESCRIPTION
 +
auditd.service                                                                      loaded active running Security Auditing Service
 +
avahi-daemon.service                                                                loaded active running Avahi mDNS/DNS-SD Stack
 +
crond.service                                                                      loaded active running Command Scheduler
 +
dbus.service                                                                        loaded active running D-Bus System Message Bus
 +
firewalld.service                                                                  loaded active running firewalld - dynamic firewall daemon
 +
getty@tty1.service                                                                  loaded active running Getty on tty1
 +
gpm.service                                                                        loaded active running Console Mouse manager
 +
iprdump.service                                                                    loaded active running LSB: Start the ipr dump daemon
 +
iprinit.service                                                                    loaded active running LSB: Start the ipr init daemon
 +
iprupdate.service                                                                  loaded active running LSB: Start the iprupdate utility
 +
iscsi.service                                                                      loaded failed failed  Login and scanning of iSCSI devices
 +
iscsid.service                                                                      loaded active running Open-iSCSI
 +
iscsiuio.service                                                                    loaded active running iSCSI UserSpace I/O driver
 +
kdump.service                                                                      loaded failed failed  Crash recovery kernel arming
 +
kmod-static-nodes.service                                                          loaded active exited  Create list of required static device nodes for the current kernel
 +
lvm2-lvmetad.service                                                                loaded active running LVM2 metadata daemon
 +
lvm2-monitor.service                                                                loaded active exited  Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
 +
lvm2-pvscan@252:2.service                                                          loaded active exited  LVM2 PV scan on device 252:2
 +
network.service                                                                    loaded active exited  LSB: Bring up/down networking
 +
NetworkManager.service                                                              loaded active running Network Manager
 +
polkit.service                                                                      loaded active running Authorization Manager
 +
postfix.service                                                                    loaded active running Postfix Mail Transport Agent
 +
rhel-dmesg.service                                                                  loaded active exited  Dump dmesg to /var/log/dmesg
 +
rhel-import-state.service                                                          loaded active exited  Import network configuration from initramfs
 +
rhel-readonly.service                                                              loaded active exited  Configure read-only root support
 +
rhnsd.service                                                                      loaded failed failed  LSB: Starts the Spacewalk Daemon
 +
rhsmcertd.service                                                                  loaded active running Enable periodic update of entitlement certificates.
 +
rsyslog.service                                                                    loaded active running System Logging Service
 +
sshd.service                                                                        loaded active running OpenSSH server daemon
 +
sysstat.service                                                                    loaded active exited  Resets System Activity Logs
 +
systemd-fsck-root.service                                                          loaded active exited  File System Check on Root Device
 +
systemd-fsck@dev-disk-by\x2...0fe05\x2daa22\x2d42d6\x2da18e\x2d39d1eb5ad338.service loaded active exited  File System Check on /dev/disk/by-uuid/cc10fe05-aa22-42d6-a18e-39d1eb5ad338
 +
systemd-journald.service                                                            loaded active running Journal Service
 +
systemd-logind.service                                                              loaded active running Login Service
 +
systemd-random-seed.service                                                        loaded active exited  Load/Save Random Seed
 +
systemd-remount-fs.service                                                          loaded active exited  Remount Root and Kernel File Systems
 +
systemd-sysctl.service                                                              loaded active exited  Apply Kernel Variables
 +
systemd-tmpfiles-setup-dev.service                                                  loaded active exited  Create static device nodes in /dev
 +
systemd-tmpfiles-setup.service                                                      loaded active exited  Create Volatile Files and Directories
 +
systemd-udev-trigger.service                                                        loaded active exited  udev Coldplug all Devices
 +
systemd-udevd.service                                                              loaded active running udev Kernel Device Manager
 +
systemd-update-utmp.service                                                        loaded active exited  Update UTMP about System Reboot/Shutdown
 +
systemd-user-sessions.service                                                      loaded active exited  Permit User Sessions
 +
systemd-vconsole-setup.service                                                      loaded active exited  Setup Virtual Console
 +
tuned.service                                                                      loaded active running Dynamic System Tuning Daemon
 +
 
 +
LOAD  = Reflects whether the unit definition was properly loaded.
 +
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
 +
SUB    = The low-level unit activation state, values depend on unit type.
 +
 
 +
45 loaded units listed. Pass --all to see loaded but inactive units, too.
 +
To show all installed unit files use 'systemctl list-unit-files'.
 +
[root@vm-02 ~]#
 +
</syntaxhighlight>

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

Использование systemctl

Состояние сервисов

Состояние сервиса может быть определено командой systemctl status name.type. Например:

[root@vm-02 ~]# systemctl status crond.service 
crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
   Active: active (running) since Mon 2018-02-12 12:38:38 MSK; 2 days ago
 Main PID: 1320 (crond)
   CGroup: /system.slice/crond.service
           └─1320 /usr/sbin/crond -n

Feb 12 12:38:38 vm-02 systemd[1]: Started Command Scheduler.
Feb 12 12:38:38 vm-02 crond[1320]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 78% if used.)
Feb 12 12:38:39 vm-02 crond[1320]: (CRON) INFO (running with inotify support)
[root@vm-02 ~]#
Состояние юнита Описание
loaded Конфигурационный файл сервиса был обработан
active (running) Один или несколко процессов сервиса загружены и работают
active (exited) Успешно завершено некое разовое событие
active (waiting) Выполняется, но ждет события
inactive Не выполняется
enabled Будет запущен во время загрузки
disabled Не будет запущен во время загрузки
static Не может быть запущен во время загрузки, но может быть загружен юнитом автоматически

Манипуляции unit файлами

Для просмотра загруженых юнитов, имеющих тип .service, вводим следующую команду:

[root@vm-02 ~]# systemctl --type=service
UNIT                                                                                LOAD   ACTIVE SUB     DESCRIPTION
auditd.service                                                                      loaded active running Security Auditing Service
avahi-daemon.service                                                                loaded active running Avahi mDNS/DNS-SD Stack
crond.service                                                                       loaded active running Command Scheduler
dbus.service                                                                        loaded active running D-Bus System Message Bus
firewalld.service                                                                   loaded active running firewalld - dynamic firewall daemon
getty@tty1.service                                                                  loaded active running Getty on tty1
gpm.service                                                                         loaded active running Console Mouse manager
iprdump.service                                                                     loaded active running LSB: Start the ipr dump daemon
iprinit.service                                                                     loaded active running LSB: Start the ipr init daemon
iprupdate.service                                                                   loaded active running LSB: Start the iprupdate utility
iscsi.service                                                                       loaded failed failed  Login and scanning of iSCSI devices
iscsid.service                                                                      loaded active running Open-iSCSI
iscsiuio.service                                                                    loaded active running iSCSI UserSpace I/O driver
kdump.service                                                                       loaded failed failed  Crash recovery kernel arming
kmod-static-nodes.service                                                           loaded active exited  Create list of required static device nodes for the current kernel
lvm2-lvmetad.service                                                                loaded active running LVM2 metadata daemon
lvm2-monitor.service                                                                loaded active exited  Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
lvm2-pvscan@252:2.service                                                           loaded active exited  LVM2 PV scan on device 252:2
network.service                                                                     loaded active exited  LSB: Bring up/down networking
NetworkManager.service                                                              loaded active running Network Manager
polkit.service                                                                      loaded active running Authorization Manager
postfix.service                                                                     loaded active running Postfix Mail Transport Agent
rhel-dmesg.service                                                                  loaded active exited  Dump dmesg to /var/log/dmesg
rhel-import-state.service                                                           loaded active exited  Import network configuration from initramfs
rhel-readonly.service                                                               loaded active exited  Configure read-only root support
rhnsd.service                                                                       loaded failed failed  LSB: Starts the Spacewalk Daemon
rhsmcertd.service                                                                   loaded active running Enable periodic update of entitlement certificates.
rsyslog.service                                                                     loaded active running System Logging Service
sshd.service                                                                        loaded active running OpenSSH server daemon
sysstat.service                                                                     loaded active exited  Resets System Activity Logs
systemd-fsck-root.service                                                           loaded active exited  File System Check on Root Device
systemd-fsck@dev-disk-by\x2...0fe05\x2daa22\x2d42d6\x2da18e\x2d39d1eb5ad338.service loaded active exited  File System Check on /dev/disk/by-uuid/cc10fe05-aa22-42d6-a18e-39d1eb5ad338
systemd-journald.service                                                            loaded active running Journal Service
systemd-logind.service                                                              loaded active running Login Service
systemd-random-seed.service                                                         loaded active exited  Load/Save Random Seed
systemd-remount-fs.service                                                          loaded active exited  Remount Root and Kernel File Systems
systemd-sysctl.service                                                              loaded active exited  Apply Kernel Variables
systemd-tmpfiles-setup-dev.service                                                  loaded active exited  Create static device nodes in /dev
systemd-tmpfiles-setup.service                                                      loaded active exited  Create Volatile Files and Directories
systemd-udev-trigger.service                                                        loaded active exited  udev Coldplug all Devices
systemd-udevd.service                                                               loaded active running udev Kernel Device Manager
systemd-update-utmp.service                                                         loaded active exited  Update UTMP about System Reboot/Shutdown
systemd-user-sessions.service                                                       loaded active exited  Permit User Sessions
systemd-vconsole-setup.service                                                      loaded active exited  Setup Virtual Console
tuned.service                                                                       loaded active running Dynamic System Tuning Daemon

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

45 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
[root@vm-02 ~]#