Montaje en boot time de unidades NFS/CIFS con systemd

  Tech / SysAdmin

Buenas,

N-ésima entrada dedicada a systemd.

Como está tan bien pensado, systemd tiende a montar los dispositivos contenidos en /etc/fstab ANTES de levantar la red. Esto nos lleva a un bonito escenario en el que cualquier host que tenga un share CIFS/NFS para montar en arranque falle al hacerlo. Y cuando digo «falle», me refiero a que falla el arranque del maldito host, no a que falle el montaje.

Pero tranquilos, que Lennart & Kay piensan en nosotros, pobres sysadmins sin visión de conjunto, y nos han proporcionado un método propio y nativo para llevar a cabo la tarea: Archivos unit definiendo los montajes.

Esto es una plantilla de un archivo unit válido:

[Unit]
Description=script de montaje NFS
Requires=networking.service
After=networking.service
#Before= Por si hay algún servicio que dependa del punto de montaje
[Mount]
What=ip.del.host.NFS:/ruta/al/share
Where=/punto/de/montaje
Options= #opciones de montaje (rw, rsize, wsize, etc)
Type=nfs
[Install]
WantedBy=multi-user.target

 

Esta plantilla, debidamente personalizada con rutas e ip’s, debe guardarse en el directorio /etc/systemd/system con el nombre de la ruta del punto de montaje. Esto es, si el punto de montaje donde va el share NFS es /mnt/backup/nfs, el nombre del archivo deberá ser mnt-backup-nfs.mount. Con un par.

Una vez creado el archivo, recargamos el subsistema de systemd con systemctl daemon-reload, y lo podremos probar con systemctl start nombre-del-unit.mount

Y si queremos que se monten durante el arranque, hay que habilitarlo con systemctl enable nombre-del-unit.mount

Ya veis, mucho más simple, elegante y eficiente que poner una simple línea en el /etc/fstab.

Eso sí, los flipaos de la vida seguirán pudiendo fardar de lo rápido que arranca el sistema con systemd… hasta que alguna chorrada surreal del propio systemd haga que no arranque.

<ESC>:wq!

Deja un comentario

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