Nuevo almacenamiento compartido con NFS

Mediante NFS podemos compartir un sistema de archivos con otros hosts de la misma red.

El host que comparte el almacenamiento, en sistemas Debian based, requiere de los paquetes nfs-kernel-server y nfs-common, que interactúan con el kernel del sistema operativo. Por esta razón, no es posible compartir sistemas de archivos desde contenedores LXC.

El procedimiento para compartir un nuevo sistema de archivos es el siguiente:
  • Si corresponde, crear y formatear el LV o partición y montarlo en el host manualmente a través de /etc/fstab (para que se mantenga montado en caso de reinicio).
  • En el proyecto config:
    • asegurarse que en el inventario, nuestro servidor NFS forme parte del grupo seciu_nfs_server
    • en las hosts_vars que correspondan, agregar un nuevo archivo en el que se declare la variable exports, una lista que consta de los siguientes atributos:
      exports:
        - path: /mnt/miAlmacenamiento                                   # Ruta absoluta del sistema de archivos a compartir
          parameters: rw,secure,sync,no_subtree_check,no_root_squash    # Parámetros NFS
          network: 192.168.0.0/255.255.255.0                            # Red que tiene permitido el acceso al sistema de archivos compartido
      

      Puedes usar como referencia la configuración que actualmente tenemos en Redota
  • Finalmente correr el playbook site.yml con el tag "nfs":
    ansible-playbook --limit <nombre-servidor>.interior.edu.uy --tags nfs site.yml
    

    El playbook instalará los paquetes necesarios en el sistema operativo, y configurará los parámetros de exportación y seguridad del servidor NFS.

Ver también:
http://www.tldp.org/HOWTO/NFS-HOWTO/server.html