lunes, 14 de octubre de 2013

Bienvenido systemd

Hola,

 estás semanas he estado repasando videos del pasado Red Hat Summit, mirando a ver que novedades tendría Red Hat 7 Enterprise Server. Los cambios serán notables y realmente necesarios. Hoy vamos a ver como funciona systemd. ¿Que es systemd? Es un sustituto del demonio init, demonio clásico donde los alla que ejecuta todos los scripts de inicio del sistema según el runlevel, etc, etc. Systemd es definido con un completo manager del sistema.

Systemd ha sido desarrollado por Lennart Poettering, desarrollador open source y actualmente desarrollador Senior en RedHat. En su web hay un gran repositorio de documentación sobre systemd.

Este nuevo demonio se ejecutará al inicio y llevará el control del proceso de arranque del sistema. Aquí podéis ver la diferencia en un pstree de los procesos del sistema, entre systemd a la izquierda y init clásico a la derecha:
 
Sus principales ventajas las podéis ver en esta tabla comparativa. Ira más allá que controlar el proceso de arranque, pudiendo llevar el control de los demonios arrancados, grupos de recursos, puntos de montaje, runlevel por defecto, cron, syslog, etc.

Sus elementos básicos son:
  • Servicios.
  • Socket.
  • Dispositivos.
  • Puntos de montaje.
  • Puntos de montaje automaticos.
  • Targets, conjunto de grupos de los anteriores recursos.
  • Snapshots, trata la configuración de sistema como un todo pudiendo establecer puntos parciales o totales de recuperación.
Un ejemplo:

Los runlevels se sustituyen por los target. Por ejemplo hasta ahora si queríamos arrancar en el runlevel 3 en vez de 5, lo modificavamos /etc/inittab. Ahora con systemd todos los ficheros de configuración están en /etc/systemd/system  y el runlevel por defecto es default.target que estará linkado al fichero de configuración del runlevel deseado:

[root@localhost system]# ls -ltrha
total 52K
lrwxrwxrwx.  1 root root   39 Jun 27 19:12 syslog.service -> /usr/lib/systemd/system/rsyslog.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:12 getty.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:12 default.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:12 graphical.target.wants
lrwxrwxrwx.  1 root root   41 Jun 27 19:12 dbus-org.fedoraproject.FirewallD1.service -> /usr/lib/systemd/system/firewalld.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:12 basic.target.wants
lrwxrwxrwx.  1 root root   44 Jun 27 19:12 dbus-org.freedesktop.Avahi.service -> /usr/lib/systemd/system/avahi-daemon.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 sysinit.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 sockets.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 printer.target.wants
lrwxrwxrwx.  1 root root   46 Jun 27 19:13 dbus-org.freedesktop.NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 system-update.target.wants
drwxr-xr-x.  2 root root 4.0K Jun 27 19:13 spice-vdagentd.target.wants
lrwxrwxrwx.  1 root root   41 Jun 27 19:14 dbus-org.bluez.service -> /usr/lib/systemd/system/bluetooth.service
drwxr-xr-x.  2 root root 4.0K Jun 27 19:14 bluetooth.target.wants
lrwxrwxrwx.  1 root root   35 Jun 27 19:14 display-manager.service -> /usr/lib/systemd/system/gdm.service
lrwxrwxrwx.  1 root root   37 Oct 10 11:00 default.target -> /lib/systemd/system/multi-user.target
drwxr-xr-x.  4 root root 4.0K Oct 11 14:37 ..
lrwxrwxrwx.  1 root root   57 Oct 11 14:47 dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service
drwxr-xr-x. 13 root root 4.0K Oct 11 14:47 .
drwxr-xr-x.  2 root root 4.0K Oct 11 14:48 multi-user.target.wants
Aun siendo una nueva forma de configuración y control, se mantendrá la compatibilidad con las anteriores formas de gestión.

Sus comandos principales son:
  • systemctl, ver y controlar el estado de systemd.
  • systemd-cgls, muestra de forma jerárquica los grupos de de control.
También incluye una utilidad gráfica para su configuración systemadm.



Ya que la versión de Red Hat 7 EL la beta no está disponible (esta a punto de caer). Se puede realizar la pruebas con Fedora 19 que ya lo tiene implementado y 100% funcional. Ya sabéis que Fedora es un proyecto OpenSource donde participa Red Hat y los avances significativos en Fedora son finalmente implementados en Red Hat. 

Prácticamente todas las distribuciones han dado su aprobación a incluir systemd como su demonio de inicio por defecto, excepto Ubuntu que sigue apostando por su Upstart. Viendo la amplia aceptación de systemd, parece que se convertirá en el estándar de facto.


Os dejo la presentación se hizo en la ultima Summit de Red Hat:
Video de RedHat.

Presentación de Redhat.


Otro video:


Saludos, 


viernes, 11 de octubre de 2013

Configuración de Proxy en Red Hat

Hola,

 una rápida, como configurar el proxy de nuestro servidor y poder salir a internet para actualizar paquetes:

  1. Habilitando las siguiente variables en el shell del sistema.
    #proxy.sh
    export http_proxy=http://host.com:port/
    export ftp_proxy=http://host.com:port/
    export no_proxy=.domain.com
  2. Configurarlo en /etc/yum.conf.

    proxy
    URL of a proxy server including the port number.

    proxy_password
    Password for authentication with a proxy server.
    proxy_username
    User name for authentication with a proxy server.