Montajes automáticos comodín con systemd

Montajes automáticos comodín con systemd

Estoy ejecutando jessie/sid con systemd 208 e intento convertir la siguiente configuración de comodines automáticos a una definición /etc/fstabo .mount/ ..automount

$ cat /etc/auto.master
/home/* -fstype=nfs homeserver:/exp/home/&

(El servidor doméstico ejecuta un Solaris y cada subdirectorio /exp/home/es un recurso compartido independiente).

¿Existe alguna forma de emular mapas comodín con systemd?

Respuesta1

Supongo que no. El nombre de la unidad .mount/.automount debe ser igual a la ruta de montaje, con el carácter de escape systemd-escape --path. Y la única forma en systemd de crear instancias de unidades es la "sintaxis de plantilla" de un formulario [email protected]. Por lo tanto, al menos no es posible tener una unidad de montaje instanciada dinámicamente.

Solo usa autofs. systemd no reemplaza todo.

Respuesta2

Podrías usar systemdinterfaz del generador. Básicamente, crea archivos de servicio sobre la marcha al iniciar o recargar.

Tenemos una variedad de máquinas (llamadas "dema" más algún número) en nuestro clúster, todas las cuales exportan el mismo directorio (su disco físico). Utilicé la interfaz del generador para crear uno..montary uno.montaje automáticoarchivo para cada máquina:

#!/bin/sh

svc_dir=/run/systemd/generator

for i in $(seq 1 99); do
    # this must match the mount path, / is converted to -
    unit_bn=cluster-dema$i
    cat << EOF > "${svc_dir}/${unit_bn}.automount"
[Unit]
Description=dema${i}s localdisks automount point
Documentation=file:///usr/lib/systemd/system-generators/dema-automount-generator
Before=remote-fs.target

[Automount]
Where=/cluster/dema$i
EOF

    cat << EOF > "${svc_dir}/${unit_bn}.mount"
[Unit]
Description=dema${i}s localdisks
Documentation=file:///usr/lib/systemd/system-generators/dema-automount-generator

[Mount]
What=dema$i:/localdisks
Where=/cluster/dema$i
Type=nfs
Options=rw,nosuid,nodev,hard,intr,rsize=8192,wsize=8192,noauto,x-systemd.automount
EOF
    ln -s "../${unit_bn}.automount" "${svc_dir}/remote-fs.target.requires"
done

El guión debe colocarse en/usr/lib/systemd/generadores-de-sistemasy ejecutable. Después de ponerlo allí, llamerecarga del demonio systemdy deberías encontrar las unidades en/ejecutar/systemd/generador. Se activan en el próximo reinicio y se pueden iniciar manualmente, por supuesto, llamandosystemd inicia uno de los nombres.automount.

información relacionada