Cómo configurar NFS (sistema de archivos de red) en RHEL/CentOS/Fedora y Debian/Ubuntu


NFS (Network File System) fue desarrollado básicamente para compartir archivos y carpetas entre sistemas Linux/Unix por Sun Microsystems en 1980. Le permite montar sus sistemas de archivos locales en una red y hosts remotos para interactuar con ellos a medida que se montan localmente. en el mismo sistema. Con la ayuda de NFS, podemos configurar el intercambio de archivos entre el sistema Unix a Linux y el sistema Linux a Unix.

  1. NFS permite el acceso local a archivos remotos.
  2. Utiliza una arquitectura cliente/servidor estándar para compartir archivos entre todas las máquinas basadas en * nix.
  3. Con NFS no es necesario que ambas máquinas funcionen en el mismo sistema operativo.
  4. Con la ayuda de NFS podemos configurar soluciones de almacenamiento centralizado.
  5. Los usuarios obtienen sus datos independientemente de su ubicación física.
  6. No se necesita actualización manual para archivos nuevos.
  7. La versión más reciente de NFS también admite montajes de pseudo raíz acl.
  8. Puede protegerse con firewalls y Kerberos.

Es un servicio lanzado por System V. El paquete del servidor NFS incluye tres funciones, incluidas en los paquetes portmap y nfs-utils.

  1. mapa de puertos: asigna las llamadas realizadas desde otras máquinas al servicio RPC correcto (no es necesario con NFSv4).
  2. nfs: traduce las solicitudes de uso compartido de archivos remotos en solicitudes en el sistema de archivos local.
  3. rpc.mountd: este servicio es responsable del montaje y desmontaje de sistemas de archivos.

  1. /etc/export: es un archivo de configuración principal de NFS, todos los archivos y directorios exportados se definen en este archivo en el extremo del servidor NFS.
  2. /etc/fstab: para montar un directorio NFS en su sistema después de los reinicios, necesitamos hacer una entrada en/etc/fstab.
  3. /etc/sysconfig/nfs: archivo de configuración de NFS para controlar en qué puerto rpc y otros servicios están escuchando.

Instalar y configurar montajes NFS en un servidor Linux

Para configurar montajes NFS, necesitaremos al menos dos máquinas Linux/Unix. Aquí, en este tutorial, usaré dos servidores.

  1. Servidor NFS: nfsserver.example.com con IP-192.168.0.100
  2. Cliente NFS: nfsclient.example.com con IP-192.168.0.101

Necesitamos instalar paquetes NFS en nuestro servidor NFS, así como en la máquina cliente NFS. Podemos instalarlo a través de los instaladores de paquetes “yum” (Red Hat Linux) y “apt-get” (Debian y Ubuntu).

[[email protected] ~]# yum install nfs-utils nfs-utils-lib
[[email protected] ~]# yum install portmap (not required with NFSv4)
[[email protected] ~]# apt-get install nfs-utils nfs-utils-lib

Ahora inicie los servicios en ambas máquinas.

[[email protected] ~]# /etc/init.d/portmap start
[[email protected] ~]# /etc/init.d/nfs start
[[email protected] ~]# chkconfig --level 35 portmap on
[[email protected] ~]# chkconfig --level 35 nfs on

Después de instalar paquetes e iniciar servicios en ambas máquinas, necesitamos configurar ambas máquinas para compartir archivos.

Configuración del servidor NFS

Primero configuraremos el servidor NFS.

Para compartir un directorio con NFS, necesitamos hacer una entrada en el archivo de configuración “/ etc/export”. Aquí crearé un nuevo directorio llamado "nfsshare" en la partición "/" para compartir con el servidor cliente, también puede compartir un directorio ya existente con NFS.

[[email protected] ~]# mkdir /nfsshare

Ahora necesitamos hacer una entrada en "/ etc/export" y reiniciar los servicios para que nuestro directorio se pueda compartir en la red.

[[email protected] ~]# vi /etc/exports

/nfsshare 192.168.0.101(rw,sync,no_root_squash)

En el ejemplo anterior, hay un directorio en/partición llamado "nfsshare" que se comparte con la IP del cliente "192.168.0.101" con privilegios de lectura y escritura (rw), también puede usar el nombre de host del cliente en lugar de la IP en ejemplo anterior.

Algunas otras opciones que podemos usar en el archivo “/ etc/export” para compartir archivos son las siguientes.

  1. ro: Con la ayuda de esta opción podemos proporcionar acceso de solo lectura a los archivos compartidos, es decir, el cliente solo podrá leer.
  2. rw: esta opción permite que el servidor cliente tenga acceso de lectura y escritura dentro del directorio compartido.
  3. sincronización: la sincronización confirma las solicitudes al directorio compartido solo una vez que se han confirmado los cambios.
  4. no_subtree_check: esta opción evita la verificación del subárbol. Cuando un directorio compartido es el subdirectorio de un sistema de archivos más grande, nfs realiza escaneos de cada directorio por encima de él para verificar sus permisos y detalles. Deshabilitar la verificación de subárbol puede aumentar la confiabilidad de NFS, pero reducir la seguridad.
  5. no_root_squash: esta frase permite que root se conecte al directorio designado.

Para obtener más opciones con "/ etc/export", se recomienda leer las páginas de manual para exportar.

Configuración del cliente NFS

Después de configurar el servidor NFS, necesitamos montar ese directorio compartido o partición en el servidor cliente.

Ahora, en el extremo del cliente NFS, necesitamos montar ese directorio en nuestro servidor para acceder a él localmente. Para hacerlo, primero debemos averiguar qué recursos compartidos están disponibles en el servidor remoto o en el servidor NFS.

[[email protected] ~]# showmount -e 192.168.0.100

Export list for 192.168.0.100:
/nfsshare 192.168.0.101

El comando anterior muestra que un directorio llamado "nfsshare" está disponible en "192.168.0.100" para compartir con su servidor.

Para montar ese directorio NFS compartido, podemos usar el siguiente comando de montaje.

[[email protected] ~]# mount -t nfs 192.168.0.100:/nfsshare /mnt/nfsshare

El comando anterior montará ese directorio compartido en "/ mnt/nfsshare" en el servidor del cliente. Puedes verificarlo siguiendo el comando.

[[email protected] ~]# mount | grep nfs

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.0.100:/nfsshare on /mnt type nfs (rw,addr=192.168.0.100)

El comando de montaje anterior montó el directorio compartido nfs en el cliente nfs temporalmente, para montar un directorio NFS de forma permanente en su sistema después de los reinicios, necesitamos hacer una entrada en "/ etc/fstab".

[[email protected] ~]# vi /etc/fstab

Agregue la siguiente línea nueva como se muestra a continuación.

192.168.0.100:/nfsshare /mnt  nfs defaults 0 0

Pruebe el funcionamiento de la configuración de NFS

Podemos probar la configuración de nuestro servidor NFS creando un archivo de prueba en el extremo del servidor y verificar su disponibilidad en el lado del cliente nfs o viceversa.

He creado un nuevo archivo de texto llamado "nfstest.txt" en ese directorio compartido.

[[email protected] ~]# cat > /nfsshare/nfstest.txt

This is a test file to test the working of NFS server setup.

Vaya a ese directorio compartido en el servidor cliente y encontrará ese archivo compartido sin ninguna actualización manual o reinicio del servicio.

[[email protected]]# ll /mnt/nfsshare
total 4
-rw-r--r-- 1 root root 61 Sep 21 21:44 nfstest.txt
[email protected] ~]# cat /mnt/nfsshare/nfstest.txt
This is a test file to test the working of NFS server setup.

Extracción del soporte NFS

Si desea desmontar ese directorio compartido de su servidor después de que haya terminado con el intercambio de archivos, simplemente puede desmontar ese directorio en particular con el comando "umount". Vea este ejemplo a continuación.

[email protected] ~]# umount /mnt/nfsshare

Puede ver que los montajes se eliminaron al mirar nuevamente el sistema de archivos.

[[email protected] ~]# df -h -F nfs

Verá que esos directorios compartidos ya no están disponibles.

Algunos comandos más importantes para NFS.

  1. showmount -e: muestra los recursos compartidos disponibles en su máquina local
  2. showmount -e : enumera los recursos compartidos disponibles en el servidor remoto
  3. showmount -d: enumera todos los subdirectorios
  4. exportfs -v: muestra una lista de archivos compartidos y opciones en un servidor
  5. exportfs -a: exporta todos los recursos compartidos enumerados en/etc/export, o nombre de pila
  6. exportfs -u: anula la exportación de todos los recursos compartidos enumerados en/etc/export, o el nombre de pila
  7. exportfs -r: actualiza la lista del servidor después de modificar/etc/export

Esto es todo con los montajes NFS por ahora, esto fue solo el comienzo, ofreceré más opciones y características de NFS en nuestros artículos futuros. Hasta entonces, manténgase conectado con Tecmint.com para obtener tutoriales más emocionantes e interesantes en el futuro. Deje sus comentarios y sugerencias a continuación en el cuadro de comentarios.