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


NFS (Network File System) se desarrolló 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 allows local access to remote files.
  2. It uses standard client/server architecture for file sharing between all *nix based machines.
  3. With NFS it is not necessary that both machines run on the same OS.
  4. With the help of NFS we can configure centralized storage solutions.
  5. Users get their data irrespective of physical location.
  6. No manual refresh needed for new files.
  7. Newer version of NFS also supports acl, pseudo root mounts.
  8. Can be secured with Firewalls and 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. portmap : It maps calls made from other machines to the correct RPC service (not required with NFSv4).
  2. nfs: It translates remote file sharing requests into requests on the local file system.
  3. rpc.mountd: This service is responsible for mounting and unmounting of file systems.
  1. /etc/exports : Its a main configuration file of NFS, all exported files and directories are defined in this file at the NFS Server end.
  2. /etc/fstab : To mount a NFS directory on your system across the reboots, we need to make an entry in /etc/fstab.
  3. /etc/sysconfig/nfs : Configuration file of NFS to control on which port rpc and other services are listening.

Instalar y configurar montajes NFS en un servidor Linux

Para configurar los montajes de NFS, necesitaremos al menos dos máquinas Linux/Unix. En este tutorial, utilizaré dos servidores.

  1. NFS Server: nfsserver.example.com with IP-192.168.0.100
  2. NFS Client : nfsclient.example.com with 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, debemos 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: With the help of this option we can provide read only access to the shared files i.e client will only be able to read.
  2. rw: This option allows the client server to both read and write access within the shared directory.
  3. sync: Sync confirms requests to the shared directory only once the changes have been committed.
  4. no_subtree_check: This option prevents the subtree checking. When a shared directory is the subdirectory of a larger file system, nfs performs scans of every directory above it, in order to verify its permissions and details. Disabling the subtree check may increase the reliability of NFS, but reduce security.
  5. no_root_squash: This phrase allows root to connect to the designated directory.

Para 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 o partición compartida 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 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 permanentemente 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 servidor y verificando 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 : Shows the available shares on your local machine
  2. showmount -e <server-ip or hostname>: Lists the available shares at the remote server
  3. showmount -d : Lists all the sub directories
  4. exportfs -v : Displays a list of shares files and options on a server
  5. exportfs -a : Exports all shares listed in /etc/exports, or given name
  6. exportfs -u : Unexports all shares listed in /etc/exports, or given name
  7. exportfs -r : Refresh the server’s list after modifying /etc/exports

Esto es todo con los montajes NFS por ahora, esto fue solo el comienzo, se me ocurrirán 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.