Post on 31-Jul-2015
Hablemos de Systemdrodolfo pilas @pilasguru
http://pilas.guru
2015 06 17 - DevOps Meetup MVD
Systemdcómo funciona:
http://devopsreactions.tumblr.com/post/112502661235/watching-systemd-evolve
Systemdcómo se siente:
http://devopsreactions.tumblr.com/post/97126865868/systemd
systemdAdministra servicios y daemons de arranque
Usa Dbus y Sockets para activar servicios
Puede ejecutar daemons a demanda
Optimiza uso de recursos con cgroups
Soporta snapshots y restauración del sistema a un punto definido
Administra puntos de montaje y montaje de unidades de almacenamiento
UNIDADES * units *
en systemd
.service: Administración de servicios o aplicaciones. Start, stop, start automático y control dependencias y órden de ejecución.
.socket: Socket de red o IPC, buffer FIFO para activar procesos en base a uso del socket. Siempre tiene asociado un .service que inicia cuando detecta actividad.
.device: Describe un dispositivo que es necesario para system por dev o sysfs.
.mount: Punto de montaje que dependen de .path y manejan .device automáticamente.
.automount: Punto de montaje que es montado automáticamente. Utiliza los .mount.
.swap: Espacio de swap en el sistema.
.target: Puntos de sincronización entre unidades, cuando otras arrancan o cambian de estado. Permiten cambiar el sistema de “estado”.
.path: Activación por uso de path. Un .service con el mismo nombre será activado cuando un .path alcance un determinado estado. Utiliza inotify.
.timer: Contador de tiempo (similar a cron). Activa unidades cuando en un determinado momento.
.snapshot: Snapshots (temporales) para reconstruir el estado previo a cambios (no entre sesiones).
.slice: Linux Control Group para asignar recursos a procesos.
.scope: Conjuntos de procesos creados externamente a partir de información recibida de las interfaces de bus.
# systemctl -t help
# systemctl list-units
# systemctl list-units —type=service
# systemctl list-dependencies
ESTADOS * target * en systemd
graphical.targetMultiples usuarios y entorno gráfico
multi-user.target Multiples usuarios y login texto
rescue.target sulogin, sistema basico
emergency.target sulogin, initramfs y / ro
poweroff.target
# systemctl list-units —type=target
# systemctl list-dependences graphical-target
# systemctl isolate multi-user.target
# systemctl get-default
# systemctl set-default graphical-target
SERVICIOS * service * en systemd
# systemctl start sshd // sshd.service // PATTERN
# systemctl stop sshd.service
# systemctl is-active sshd.service
# systemctl reload sshd.service
# systemctl restart sshd.service
# systemctl reload-or-restart sshd
# systemctl try-restart sshd.service
# systemctl reload-or-try-restart sshd
# systemctl status sshd.service
# systemctl is-failed sshd.service
# systemctl disable sshd.service
# systemctl is-enabled sshd.service
# systemctrl enable sshd.service
# systemctl mask sshd.service
# systemctl umask sshd.service
# systemctl list-dependences sshd.service
LOG * journal * en systemd
# journalctl
# journalctl -n 5
# journalctl -p err
# jorunalctl -f
# jorunalctl —since today
# journalctl _SYSTEMD_UNIT=sshd.service
http://www.freedesktop.org/wiki/Software/systemd/
"El objetivo de systemd es obtener lo mejor de Linux y optimizar el uso de
sus prestaciones.
Systemd no busca ser portable.
Se abren muchas posibilidades nuevas"