Búsqueda de sitios web

Configuración de sistemas de archivos Linux estándar y configuración del servidor NFSv4 - Parte 2


Un ingeniero certificado de la Fundación Linux (LFCE) está capacitado para instalar, configurar, administrar y solucionar problemas de servicios de red en sistemas Linux, y es responsable del diseño e implementación de la arquitectura del sistema y de resolver problemas cotidianos relacionados. problemas.

Presentamos el Programa de Certificación de la Fundación Linux (LFCE).

En la Parte 1 de esta serie explicamos cómo instalar un servidor NFS (sistema de archivos de red) y configurar el servicio para que se inicie automáticamente al arrancar. Si aún no lo ha hecho, consulte ese artículo y siga los pasos descritos antes de continuar.

  1. Instalación de servicios de red y configuración del inicio automático en el arranque – Parte 1

Ahora le mostraré cómo configurar correctamente su servidor NFSv4 (sin seguridad de autenticación) para que pueda configurar recursos compartidos de red para usarlos en clientes Linux como si esos sistemas de archivos estuvieran instalados localmente. Tenga en cuenta que puede utilizar LDAP o NIS para fines de autenticación, pero ambas opciones están fuera del alcance de la certificación LFCE.

Configurar un servidor NFSv4

Una vez que el servidor NFS esté en funcionamiento, centraremos nuestra atención en:

  1. especificando y configurando los directorios locales que queremos compartir a través de la red, y
  2. montar esos recursos compartidos de red en los clientes automáticamente, ya sea a través del archivo /etc/fstab o la utilidad basada en el kernel de montaje automático (autofs).

Más adelante explicaremos cuándo elegir un método u otro.

Antes de comenzar, debemos asegurarnos de que el demonio idmapd esté ejecutándose y configurado. Este servicio realiza la asignación de nombres NFSv4 (usuario@midominio) a ID de usuarios y grupos, y es necesario para implementar un servidor NFSv4.

Edite /etc/default/nfs-common para habilitar idmapd.

NEED_IDMAPD=YES

Y edite /etc/idmapd.conf con su nombre de dominio local (el valor predeterminado es el FQDN del host).

Domain = yourdomain.com

Luego inicie idmapd.

service nfs-common start 	[sysvinit / upstart based systems]
systemctl start nfs-common 	[systemd based systems]

Exportación de recursos compartidos de red

El archivo /etc/exports contiene las principales directivas de configuración para nuestro servidor NFS, define los sistemas de archivos que se exportarán a hosts remotos y especifica las opciones disponibles. En este archivo, cada recurso compartido de red se indica mediante una línea separada, que tiene la siguiente estructura por defecto:

/filesystem/to/export client1([options]) clientN([options])

Donde /filesystem/to/export es la ruta absoluta al sistema de archivos exportado, mientras que cliente1 (hasta clienteN) representa el cliente específico (nombre de host o dirección IP) o red. (se permiten comodines) al que se exporta la acción. Finalmente, opciones es una lista de valores separados por comas (opciones) que se tienen en cuenta al exportar el recurso compartido, respectivamente. Tenga en cuenta que no hay espacios entre cada nombre de host y los paréntesis al que precede.

A continuación se muestra una lista de las opciones más frecuentes y su respectiva descripción:

  1. ro (abreviatura de solo lectura): los clientes remotos pueden montar los sistemas de archivos exportados solo con permisos de lectura.
  2. rw (abreviatura de lectura-escritura): permite que los hosts remotos realicen cambios de escritura en los sistemas de archivos exportados.
  3. wdelay (abreviatura de retraso de escritura): el servidor NFS retrasa la confirmación de cambios en el disco si sospecha que otra solicitud de escritura relacionada es inminente. Sin embargo, si el servidor NFS recibe varias solicitudes pequeñas no relacionadas, esta opción reducirá el rendimiento, por lo que se puede utilizar la opción no_wdelay para desactivarla.
  4. sincronización: el servidor NFS responde a las solicitudes solo después de que los cambios se hayan enviado al almacenamiento permanente (es decir, el disco duro). Su opuesto, la opción async, puede aumentar el rendimiento, pero a costa de la pérdida o corrupción de datos después de un reinicio incorrecto del servidor.
  5. root_squash: evita que los usuarios root remotos tengan privilegios de superusuario en el servidor y les asigna la ID de usuario del usuario nadie. Si desea “aplastar” a todos los usuarios (y no solo a root), puede usar la opción all_squash.
  6. anonuid/anongid: establece explícitamente el UID y el GID de la cuenta anónima (nadie).
  7. subtree_check: si solo se exporta un subdirectorio de un sistema de archivos, esta opción verifica que un archivo solicitado esté ubicado en ese subdirectorio exportado. Por otro lado, si se exporta todo el sistema de archivos, desactivar esta opción con no_subtree_check acelerará las transferencias. La opción predeterminada hoy en día es no_subtree_check ya que la verificación de subárbol tiende a causar más problemas de los que vale, según las exportaciones de man 5.
  8. fsid=0 | raíz (cero o raíz): especifica que el sistema de archivos especificado es la raíz de varios directorios exportados (solo se aplica en NFSv4).

En este artículo usaremos los directorios /NFS-SHARE y /NFS-SHARE/mydir en 192.168.0.10 (servidor NFS) como nuestro probar sistemas de archivos.

Siempre podemos enumerar los recursos compartidos de red disponibles en un servidor NFS usando el siguiente comando:

showmount -e [IP or hostname]

En el resultado anterior, podemos ver que los recursos compartidos /NFS-SHARE y /NFS-SHARE/mydir en 192.168.0.10 se han exportado. al cliente con dirección IP 192.168.0.17.

Nuestra configuración inicial (consulte el directorio /etc/exports en su servidor NFS) para el directorio exportado es la siguiente:

/NFS-SHARE  	192.168.0.17(fsid=0,no_subtree_check,rw,root_squash,sync,anonuid=1000,anongid=1000)
/NFS-SHARE/mydir    	192.168.0.17(ro,sync,no_subtree_check)

Después de editar el archivo de configuración, debemos reiniciar el servicio NFS:

service nfs-kernel-server restart 		[sysvinit / upstart based system]
systemctl restart nfs-server			[systemd based systems]
Montaje de recursos compartidos de red exportados usando autofs

Es posible que desee consultar la Parte 5 de la serie LFCS (“Cómo montar/desmontar sistemas de archivos locales y de red (Samba y NFS) en Linux”) para obtener detalles sobre cómo montar recursos compartidos NFS remotos bajo demanda utilizando el comando mount o permanentemente a través del archivo /etc/fstab.

La desventaja de montar un sistema de archivos de red mediante estos métodos es que el sistema debe asignar los recursos necesarios para mantener el recurso compartido montado en todo momento, o al menos hasta que decidamos desmontarlos manualmente. Una alternativa es montar el sistema de archivos deseado bajo demanda automáticamente (sin utilizar el comando mount) a través de autofs, que puede montar los sistemas de archivos cuando se utilizan y desmontarlos después. un período de inactividad.

Autofs lee /etc/auto.master, que tiene el siguiente formato:

[mount point]	[map file]

Donde [archivo de mapa] se utiliza para indicar múltiples puntos de montaje dentro de [punto de montaje].

Este archivo de mapa maestro (/etc/auto.master) se utiliza luego para determinar qué puntos de montaje están definidos y luego inicia un proceso de montaje automático con los parámetros especificados para cada punto de montaje.

Montaje de recursos compartidos NFS exportados usando autofs

Edite su /etc/auto.master de la siguiente manera:

/media/nfs	/etc/auto.nfs-share	--timeout=60

y cree un archivo de mapa llamado /etc/auto.nfs-share con el siguiente contenido:

writeable_share  -fstype=nfs4 192.168.0.10:/
non_writeable_share  -fstype=nfs4 192.168.0.10:/mydir

Tenga en cuenta que el primer campo en /etc/auto.nfs-share es el nombre de un subdirectorio dentro de /media/nfs. Cada subdirectorio se crea dinámicamente mediante autofs.

Ahora, reinicie el servicio autofs:

service autofs restart 			[sysvinit / upstart based systems]
systemctl restart autofs 			[systemd based systems]

y finalmente, para permitir que autofs se inicie al arrancar, ejecute el siguiente comando:

chkconfig --level 345 autofs on
systemctl enable autofs 			[systemd based systems]
Examinar los sistemas de archivos montados después de iniciar el demonio autofs

Cuando reiniciamos autofs, el comando mount nos muestra que el archivo de mapa (/etc/auto.nfs-share) está montado en el archivo especificado. directorio en /etc/auto.master:

Tenga en cuenta que todavía no se han montado directorios, pero se montarán automáticamente cuando intentemos acceder a los recursos compartidos especificados en /etc/auto.nfs-share:

Como podemos ver, el servicio autofs “monta” el archivo de mapa, por así decirlo, pero espera hasta que se realiza una solicitud a los sistemas de archivos para montarlos.

Realizar pruebas de escritura en sistemas de archivos exportados

Las opciones anonuid y anongid, junto con root_squash configurado en el primer recurso compartido, nos permiten asignar las solicitudes realizadas por el usuario root en el cliente a una cuenta local en el servidor.

En otras palabras, cuando el root del cliente crea un archivo en ese directorio exportado, su propiedad se asignará automáticamente a la cuenta de usuario con UID y GID=1000, siempre que dicha cuenta exista en el servidor:

Conclusión

Espero que haya podido instalar y configurar con éxito un servidor NFS adecuado para su entorno utilizando este artículo como guía. También es posible que desee consultar las páginas de manual correspondientes para obtener más ayuda (man exports y man idmapd.conf, por ejemplo).

Siéntase libre de experimentar con otras opciones y casos de prueba como se describió anteriormente y no dude en utilizar el formulario a continuación para enviar sus comentarios, sugerencias o preguntas. Estaremos encantados de saber de usted.