Desde Linux Darkcrizt  

S6-rc, un administrador de servicios analogo a sysv-rc y OpenRC

Hace pocos dias se dio a conocer la noticia de que se ha elaborado un release significativo del administrador de servicios s6-rc 0.5.3.0, el cual está diseñado para gestionar el lanzamiento de scripts y servicios de inicialización teniendo en cuenta las dependencias.

S6-rc se caracteriza porque se puede utilizar tanto en sistemas de inicialización como para organizar el lanzamiento de servicios arbitrarios junto con eventos que reflejan un cambio en el estado del sistema, ademas de que proporciona un seguimiento completo del árbol de dependencias e inicia o finaliza automáticamente los servicios para lograr el estado especificado.

El administrador de servicios s6-rc, que puede considerarse análogo a sysv-rc u OpenRC, incluye un conjunto de utilidades para iniciar y detener procesos de larga ejecución (demonios) o scripts de inicio inmediatamente terminados. En el curso del trabajo, se tienen en cuenta las dependencias entre componentes, se asegura el lanzamiento paralelo de scripts y servicios que no se superponen entre sí, y se garantiza que una secuencia de ejecución de script se repetirá en diferentes lanzamientos.

Todos los cambios de estado se procesan teniendo en cuenta las dependencias, asegurándose de que no se violen las dependencias (por ejemplo, cuando se inicia un servicio, se lanzarán automáticamente las dependencias necesarias para su funcionamiento, y cuando se detenga, también se ejecutarán los servicios dependientes. detenido).

Las suites de supervisión como s6 , runit , perp o daemontools definen un servicio como un proceso de larga duración, también conocido como daemon. Proporcionan herramientas para ejecutar el demonio de forma reproducible en un entorno controlado y mantenerlo vivo si muere; también proporcionan herramientas de gestión de demonios para, entre otras, enviar señales al demonio sin conocer su PID. Pueden controlar perfectamente los procesos individuales de larga duración, y s6 también proporciona herramientas para gestionar un árbol de supervisión completo. Para cualquier administrador de sistemas preocupado por la confiabilidad, las suites de supervisión son algo bueno.

En lugar de niveles de ejecución, s6-rc ofrece un concepto más universal de paquetes, que permite agrupar servicios según características arbitrarias y tareas a resolver. Para mejorar la eficiencia, se utiliza una base de dependencias compilada, creada por la utilidad s6-rc-compile basada en el contenido de directorios con archivos para iniciar/detener servicios.

Para analizar y manipular la base de datos, se ofrecen las utilidades s6-rc-db y s6-rc-update. El sistema admite scripts de inicio compatibles con sysv-init y puede importar información de dependencia desde sysv-rc u OpenRC.

Una de las ventajas de s6-rc es una implementación compacta que no contiene nada superfluo, salvo los componentes necesarios para la resolución de problemas directos, de los cuales este consume un mínimo de recursos del sistema.

A diferencia de otros administradores de servicios, s6-rc admite la construcción proactiva (fuera de línea) de un gráfico de dependencia para un conjunto de servicios existente, lo que le permite poder realizar un análisis de dependencia de uso intensivo de recursos por separado, y no durante la carga o el cambio de estado.

Al mismo tiempo, el sistema no es monolítico y está dividido en una serie de módulos separados y reemplazables, cada uno de los cuales, de acuerdo con la filosofía Unix, resuelve solo un problema específico.

Ademas, se menciona que en combinación con las utilidades s6 que monitorean el trabajo de los procesos (análogo a daemontools y runit), el kit de herramientas le permite al usuario poder monitorear simultáneamente el funcionamiento de los servicios de larga ejecución que estén en el sistema, por ejemplo, reiniciarlos en caso de terminaciones anormales y que ademas da la seguridad de que un la secuencia de comandos se lanza en una forma reproducible, repetida en diferentes lanzamientos.

Tambien se menciona que admite, entre otras cosas, características tales como activar un servicio al acceder a un socket (iniciar un controlador al acceder a un puerto de red), registrar eventos de proceso (reemplazando syslogd) y concesión controlada de privilegios adicionales (análogo a sudo).

Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles de este administrador de procesos en el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.