UNDERSTANDING SYSTEMD THE MODERN LINUX SERVICE MANAGER GARRET - - PowerPoint PPT Presentation

understanding systemd
SMART_READER_LITE
LIVE PREVIEW

UNDERSTANDING SYSTEMD THE MODERN LINUX SERVICE MANAGER GARRET - - PowerPoint PPT Presentation

UNDERSTANDING SYSTEMD THE MODERN LINUX SERVICE MANAGER GARRET ARCORACI, ROCHESTER INST . OF TECHNOLOGY INTRODUCTION ME AND SYSTEMD WHERE DOES SYSTEMD FIT http://www.uefj.org/ IN THE BEGINNING TRADITIONAL BIOS UEFI WHERE IS THE


slide-1
SLIDE 1

UNDERSTANDING SYSTEMD

THE MODERN LINUX SERVICE MANAGER GARRET ARCORACI, ROCHESTER INST . OF TECHNOLOGY

slide-2
SLIDE 2

INTRODUCTION

  • ME AND SYSTEMD
  • WHERE DOES SYSTEMD FIT
slide-3
SLIDE 3

IN THE BEGINNING…

TRADITIONAL BIOS UEFI

http://www.uefj.org/

slide-4
SLIDE 4

WHERE IS THE OS?

slide-5
SLIDE 5

BOOT LOADER

slide-6
SLIDE 6

STARTS THE KERNEL

Initialize the File System in RAM initramfs

slide-7
SLIDE 7

UEFI/ BIOS

  • Firmware Interface
  • Find bootable Disk

Boot Loader

  • GRUB 2

Kernel

  • Initramfs
  • Loads drivers

init

  • Systemd

Everyth ing

  • System

Prerequisites

  • Services
  • Shell

LET’S REVIEW

slide-8
SLIDE 8

THE USER SPACE

  • What gets loaded…
  • Low-level services that must always be running, such as udevd, syslog, fjle

system mounts (fstab)

  • Network confjgurations are loaded
  • High-Level services, such as cron, sssd, cups, or a web service
  • Presented with the login prompt
  • The order is important because sometimes serial loading is required for

dependencies

  • Parallel loading can be used to speed up certain services
slide-9
SLIDE 9

INIT, UPSTART, & SYSTEMD

  • Once the kernel has loaded, it searches the init process /sbin/init
  • The init process is responsible for starting the user space

environment

  • Traditionally, the system V init procedure was used to start

services

  • /sbin/init can be linked to Upstart or systemd
  • The intent of using upstart and systemd was to make the

loading system confjguration settings more effjcient

slide-10
SLIDE 10

SYSTEMD

slide-11
SLIDE 11

Systemd is about managing stufg!

Goals

  • Provide a unifjed OS to run
  • n top of the Linux kernel.
  • Systemd is control!
  • Improves dependency

requirements for all services.

  • Systemd is the current

standard on all major modern Linux distributions.

  • Standardize the scripts.
slide-12
SLIDE 12

UNIT FILES

  • Systemd unit fjles defjnes what needs to be started
  • Difgerent types of unit fjles exist
  • Service
  • Mount
  • Timer
  • Automount
  • T

arget

  • Path
  • Unit fjles are stored in /usr/lib/systemd/system and /etc/systemd/system
slide-13
SLIDE 13

UNIT TYPES

Unit Type Description service A system service target A group of systemd units automount A fjle system automount point device A device fjle recognized by the kernel mount A fjle system mount point path A fjle or directory in a fjle systems scope An externally created process slice A group of hierarchically organized units that manage system processes snapshot A save state of the systemd manager socket An inter-process communication socket swap A swap device of a swap fjle timer A systemd timer

slide-14
SLIDE 14

DEPENDENCIES

  • SYSTEMD CATEGORIZES DEPENDENCIES
  • REQUIRES – DEFINES UNITS THAT MUST BE LOADED TO LOAD THIS UNIT
  • WANTS – TARGETS THAT DEFINE WHICH UNITS SHOULD BE LOADED BUT IF NOT

DO NOT CAUSE THIS UNIT TO FAIL

  • REQUISITE – A DEFINED UNIT MUST BE ACTIVE OTHERWISE THIS UNIT FAILS TO

LOAD

  • CONFLICTS – A UNIT MAY NEVER BE ACTIVE WHEN THIS UNIT IS LOADED
  • BEFORE – THE CURRENT UNTIL WILL ACTIVATE BEFORE THE LISTED UNITS
  • AFTER – THE CURRENT UNTIL WILL ACTIVATE AFTER THE LISTED UNITS
slide-15
SLIDE 15

EXAMPLE UNIT FILE

slide-16
SLIDE 16

FEATURES/BENEFITS

  • Logging – all messages are stored in the new systemd journal
  • Dependencies – an explicit set of dependencies is defjned for each service
  • Cgroup – allows for every piece or part of a service to be managed
  • Services – Services can be started based on needs
  • Units – systemd can manage various units types
  • Resource Management – more control over resources used by each service
slide-17
SLIDE 17

RUN LEVELS

  • RUN LEVELS DEFINE THE STATE A SERVER SHOULD BOOT IN AND DETERMINE

WHICH SERVICES MUST BE LOADED.

slide-18
SLIDE 18

Common Commands

  • systemctl stop
  • systemctl start
  • systemctl enable
  • systemctl disable
  • systemctl list-dependencies
  • systemctl list-units --type service
  • systemctl list-unit-files