Seleccionar página

Montas tu unidad EFS en tu servidor Ubuntu 16.04 y todo aparentemente va bien, reinicias el servidor y te das cuenta que la unidad EFS ha desaparecido en el arranque. Qué extraño! vuelves a montarla “mount -a”,  porque la tienes definida para su automontaje en /etc/fstab según indica AWS en:

http://docs.aws.amazon.com/efs/latest/ug/mount-fs-auto-mount-onreboot.html

Sin embargo al tiempo te percatas que la unidad ha desaparecido de nuevo, y esto si resulta extraño. Revisando logs aprecias un error muy claro sobre el cliente nfs con la siguiente línea:

NFS: nfs4_discover_server_trunking unhandled error -512. Exiting with error EIO

Al parecer el problema es en el montaje del NFS, si buscas un poco este error te darás cuenta que es muy genérico y que no concreta exactamente el origen del problema. Así que pensaba que el problema estaba en el propio servicio EFS así que me puse en contacto con soporte de AWS. Nada más explicar el problema de indicaron que estaba originado por un bug del propio cliente NFS de Linux y que no hay parche de momento.

https://bugzilla.redhat.com/show_bug.cgi?id=1428939

Para dar solución al problema se plantean dos opciones.

  1. Crear un servicio que mantenga el montaje de las unidades NFS.
  2. Configurar en fstab que la conexión se restablezca bajo demanda.

Debido a que mis necesidades de uso eran intensas opté por la primera opción, pero si tu caso no requiere el acceso continuado a esta unidad la segunda opción es la tuya.

Implementación de la primera opción

1) Crear un nuevo fichero systemd tal como se indica “/etc/systemd/system/mountnfs4.service” con el siguiente contenido:

[Unit]

Description=Workaround for mounting NFS v4.x files systems sequentially at boot time

After=multi-user.target

[Service]

Type=oneshot ExecStart=/bin/mount -avt nfs4 RemainAfterExit=yes

[Install]

WantedBy=multi-user.target

2) Reinicia la configuración systemd ejecutando “sudo systemctl daemon-reload”

3) Habilita el nuevo servicio para que se ejecute en el inicio del sistema con el comando: “sudo systemctl enable mountnfs4.service”

Implementación de la 2ª opción

Configurar los puntos de montaje EFS automount con las siguientes opciones en /etc/fstab

Configure all EFS mount points for automount by appending the following mount options to /etc/fstab:

noauto,x-systemd.automount

El montaje bajo demanda debe de realizarse en menos de 1 segundo.