Búsqueda de sitios web

Cómo configurar el servidor y el cliente NFS en CentOS 8


El sistema de archivos de red (NFS), también conocido como sistema de archivos cliente/servidor, es un protocolo de sistema de archivos distribuido, multiplataforma y popular que se utiliza para exportar sistemas de archivos locales a través de la red. que los clientes pueden compartir directorios y archivos con otros a través de una red e interactuar con ellos como si estuvieran montados localmente.

En CentOS/RHEL 8, las versiones de NFS compatibles son NFSv3 y NFSv4 y la versión de NFS predeterminada es 4.2, que incluye soporte para listas de control de acceso ( ACL), copia del lado del servidor, archivos dispersos, reserva de espacio, NFS etiquetado, mejoras de diseño y mucho más.

En este artículo, aprenderá cómo instalar y configurar el servidor NFS y el cliente NFS en distribuciones de Linux CentOS/RHEL 8.

Requisitos previos:

  1. Guía de instalación de CentOS 8
  2. Instalación mínima de RHEL 8
  3. Habilite la suscripción a RHEL en RHEL 8
  4. Establecer una dirección IP estática en CentOS/RHEL 8

Nuestro entorno de pruebas:

NFS Server IP:	10.20.20.8
NFS Client IP:	10.20.20.9	

Configurar el servidor NFS en CentOS 8

1. Primero, comience instalando los paquetes necesarios en el servidor NFS. Los paquetes son nfs-utils que proporciona un demonio para el servidor NFS del núcleo y herramientas relacionadas, como el programa showmount.

Ejecute el siguiente comando para instalar el paquete en el servidor NFS (use sudo si está administrando el sistema como usuario no root).

dnf install nfs-utils

2. Una vez que se complete la instalación, inicie el servicio nfs-server, habilítelo para que se inicie automáticamente al iniciar el sistema y luego verifique su estado usando los comandos systemctl.

systemctl start nfs-server.service
systemctl enable nfs-server.service
systemctl status nfs-server.service

Tenga en cuenta que los otros servicios necesarios para ejecutar un servidor NFS o montar recursos compartidos NFS, como nfsd, nfs-idmapd, rpcbind, rpc.mountd, lockd, rpc.statd, rpc.rquotad y rpc.idmapd se iniciará automáticamente.

Los archivos de configuración para el servidor NFS son:

  • /etc/nfs.conf: archivo de configuración principal para los demonios y herramientas NFS.
  • /etc/nfsmount.conf: un archivo de configuración de montaje NFS.

3. A continuación, cree los sistemas de archivos para exportar o compartir en el servidor NFS. Para esta guía, crearemos cuatro sistemas de archivos, tres de los cuales son utilizados por personal de tres departamentos: recursos humanos, finanzas y marketing para compartir archivos y uno es para copias de seguridad del usuario raíz.

mkdir -p  /mnt/nfs_shares/{Human_Resource,Finance,Marketing}
mkdir  -p /mnt/backups
ls -l /mnt/nfs_shares/

4. Luego exporte los sistemas de archivos anteriores en el archivo de configuración /etc/exports del servidor NFS para determinar los sistemas de archivos físicos locales a los que pueden acceder los clientes NFS.

/mnt/nfs_shares/Human_Resource  	10.20.20.0/24(rw,sync)
/mnt/nfs_shares/Finance			10.20.10.0/24(rw,sync)
/mnt/nfs_shares/Marketing		10.20.30.0/24(rw,sync)
/mnt/backups				10.20.20.9/24(rw,sync,no_all_squash,root_squash)

Estas son algunas de las opciones de exportación (lea man exports para obtener más información y opciones de exportación):

  • rw: permite acceso de lectura y escritura en el sistema de archivos.
  • sincronización: le indica al servidor NFS que escriba operaciones (escribir información en el disco) cuando se le solicite (se aplica de forma predeterminada).
  • all_squash: asigna todos los UID y GID de las solicitudes de los clientes al usuario anónimo.
  • no_all_squash: se utiliza para asignar todos los UID y GID de las solicitudes de los clientes a UID y GID idénticos en el servidor NFS.
  • root_squash: asigna solicitudes del usuario raíz o UID/GID 0 del cliente al UID/GID anónimo.

5. Para exportar el sistema de archivos anterior, ejecute el comando exportfs con el indicador -a que significa exportar o cancelar la exportación de todos los directorios, - r significa reexportar todos los directorios, sincronizando /var/lib/nfs/etab con /etc/exports y los archivos en /etc/exports.d y -v habilita la salida detallada.

exportfs -arv

6. Para mostrar la lista de exportación actual, ejecute el siguiente comando. Tenga en cuenta que la tabla exportaciones también aplica algunas de las opciones de exportaciones predeterminadas que no están definidas explícitamente, como se muestra en la siguiente captura de pantalla.

exportfs  -s

7. A continuación, si tiene el servicio firewalld ejecutándose, debe permitir el tráfico a los servicios NFS necesarios (mountd, nfs , rpc-bind) a través del firewall y luego vuelva a cargar las reglas del firewall para aplicar los cambios, de la siguiente manera.

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload

Configuración del cliente NFS en sistemas cliente

8. Ahora, en los nodos del cliente, instale los paquetes necesarios para acceder a los recursos compartidos NFS en los sistemas del cliente. Ejecute el comando apropiado para su distribución:

dnf install nfs-utils nfs4-acl-tools         [On CentOS/RHEL]
sudo apt install nfs-common nfs4-acl-tools   [On Debian/Ubuntu]

9. Luego ejecute el comando showmount para mostrar la información de montaje del servidor NFS. El comando debería generar el sistema de archivos exportado en el cliente como se muestra en la captura de pantalla.

showmount -e 10.20.20.8

9. A continuación, cree un sistema de archivos/directorio local para montar el sistema de archivos NFS remoto y móntelo como un sistema de archivos ntf.

mkdir -p /mnt/backups
mount -t nfs  10.20.20.8:/mnt/backups /mnt/backups

10. Luego confirme que el sistema de archivos remoto se haya montado ejecutando el comando mount y filtre los montajes nfs.

mount | grep nfs

11. Para permitir que el montaje sea persistente incluso después de reiniciar el sistema, ejecute el siguiente comando para ingresar la entrada apropiada en /etc/fstab.

echo "10.20.20.8:/mnt/backups     /mnt/backups  nfs     defaults 0 0">>/etc/fstab
cat /etc/fstab

12. Por último, pruebe si la configuración NFS funciona bien creando un archivo en el servidor y verifique si el archivo se puede ver en el cliente.

touch /mnt/backups/file_created_on_server.text     [On NFS Server]
ls -l /mnt/backups/file_created_on_server.text     [On NFS client]

Luego haz lo contrario.

touch /mnt/backups/file_created_on_client.text     [On NFS Client]
ls -l /mnt/backups/file_created_on_client.text     [On NFS Server]

13. Desmontar el sistema de archivos remoto en el lado del cliente.

umount /mnt/backups

Tenga en cuenta que no puede desmontar el sistema de archivos remoto si está operando dentro de él, como se muestra en la siguiente captura de pantalla.

¡Eso es todo! En esta guía, mostramos cómo instalar y configurar un servidor y cliente NFS en CentOS/RHEL 8. Si tiene alguna idea que compartir o preguntas, utilice el formulario de comentarios. a continuación para comunicarse con nosotros.