Esta guía explicará cómo instalar el servidor NFS en el servidor Linux RHEL 8 / CentOS 8. NFS significa Sistema de archivos de red. Permite a los sistemas cliente acceder a los archivos almacenados en un servidor compartido remoto a través de una red y hacer uso de esos sistemas de archivos como si estuvieran montados localmente. NFS es un sistema de archivos de cliente y servidor(FS).
Mediante el almacenamiento compartido NFS, los administradores del sistema pueden consolidar los recursos en servidores centralizados de la red. Los archivos se comparten fácilmente entre varios sistemas en la misma red. Un sistema cliente puede acceder al recurso compartido remoto con privilegios (lectura, escritura) y no tiene acceso al almacenamiento de bloques subyacente.
Para Ubuntu / Debian, marque: Instalar y Configurar el servidor NFS en Ubuntu & Debian Linux
Versiones NFS compatibles
A continuación se muestran las versiones de NFS compatibles con RHEL 8.
La versión 3 de NFS (NFSv3)
- Admite escrituras asincrónicas seguras y es más robusta en el manejo de errores que la versión anterior de NFSv2
- Admite tamaños y compensaciones de archivos de 64 bits, lo que permite a los clientes acceder a más de 2 GB de datos de archivos.
NFS versión 4 (NFSv4)
- Funciona a través de firewalls y en Internet
- Ya no requiere el servicio rpcbind
- Admite Listas de control de acceso (ACLs)
- Utiliza operaciones con estado.
En esta guía, configuraremos NFSv4.2 en nuestro sistema RHEL/CentOS. Aquí está mi diseño de configuración.
Server Type | OS | IP | Hostname |
NFS Server | RHEL/CentOS 8 | 172.16.54.136 | server.example.com |
NFS Client 1 | RHEL/CentOS 8 | 172.16.54.136 | client1.example.com |
NFS Client 2 | RHEL/CentOS 8 | 172.16.54.131 | client2.example.com |
Pero tenga en cuenta que la configuración del cliente NFS se cubrirá en una guía separada. Siga los pasos a continuación para instalar el servidor NFS en el sistema Linux CentOS 8 / RHEL 8.
Paso 1: Actualizar servidor y establecer nombre de host
El servidor debe tener una dirección IP estática y un nombre de host estático que persista en los reinicios. Consulte nuestras guías sobre cómo configurar IP estática en RHEL/CentOS 8.
sudo yum -y updatesudo hostnamectl set-hostname server.example.com --static
Paso 2: Instalar el servidor NFS en CentOS 8 / RHEL 8
A continuación se muestra la instalación de los paquetes de servidor NFS en el sistema RHEL / CentOS 8.
sudo yum -y install nfs-utils
Después de la instalación, inicie y habilite el servicio nfs-server.
sudo systemctl enable --now nfs-server rpcbind
el Estado debe mostrar «la ejecución».
Paso 3: Exportar recursos compartidos NFS en RHEL 8/CentOS 8
Hay dos formas de configurar las exportaciones en un servidor NFS.
- Editar manualmente el archivo de configuración
/etc/exports
- Utilizando la utilidad
exportfs
en la línea de comandos
El archivo/etc/exports
controla qué sistemas de archivos se exportan a hosts remotos y especifica opciones. Sigue las siguientes reglas de sintaxis:
- Las líneas en blanco se ignoran.
- Para añadir un comentario, inicie una línea con la marca de hash (#).
- Puede envolver líneas largas con una barra invertida (\).
- Cada sistema de archivos exportado debe estar en su propia línea.
- Cualquier lista de hosts autorizados colocada después de un sistema de archivos exportado debe estar separada por caracteres de espacio.Las opciones
- para cada uno de los hosts deben colocarse entre paréntesis directamente después del identificador de host, sin espacios que separen el host del primer paréntesis.
Para esta configuración, agregué un disco secundario a mi servidor con una capacidad de 20 GB. Particionaremos este disco y crearemos un sistema de archivos en él para usarlo como recurso compartido NFS.
$ lsblk | grep sdbsdb 8:16 0 20G 0 disk # Create partition and file systemsudo parted -s -a optimal -- /dev/sdb mklabel gptsudo parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%sudo parted -s -- /dev/sdb align-check optimal 1sudo mkfs.xfs /dev/sdb1
Vamos a montarlo en el directorio / data.
sudo mkdir /dataecho "/dev/sdb1 /data xfs defaults 0 0" | sudo tee -a /etc/fstabsudo mount -a
Comprobemos la configuración para confirmar.
$ df -hT | grep /data/dev/sdb1 xfs 20G 176M 20G 1% /data
Crearé un directorio en/data / nfshare que se exportará a clientes NFS.
sudo mkdir /data/nfshare
Ahora necesitamos modificar /etc / exports para configurar el recurso compartido NFS. La estructura es:
export host(options)
También es posible especificar varios hosts, junto con opciones específicas para cada host, como se muestra a continuación.
export host1(options1) host2(options2) host3(options3)
Donde:
- exportar es el directorio que se exporta
- host es el host o red a la que se está compartiendo la exportación
- opciones Lista de opciones que se utilizarán para el host
En mi configuración, le daré al sistema de archivos exportado permisos de escritura & para permitir que los hosts remotos realicen cambios en los datos compartidos en el sistema de archivos. Mi anfitrión será una red 172.16.54.0 / 24.
Así que mi línea en el archivo /etc/exports será.
/data/nfshare 172.16.54.0/24(rw,no_root_squash)
La opción no_root_squash deshabilita el aplastamiento de raíz: permite que el usuario root remoto tenga privilegios de root. Por lo general, esto es necesario para las instalaciones de máquinas virtuales en el recurso compartido NFS.
Para obtener más información sobre las opciones disponibles, utilice:
$ man exports
Una vez que haya terminado con la configuración, utilice la utilidad exportfs para exportar directorios de forma selectiva sin reiniciar el servicio NFS.
$ sudo exportfs -ravexporting 172.16.54.0/24:/data/nfshare
- r – Hace que todos los directorios listados en /etc/exports se exporten construyendo una nueva lista de exportación en /etc/lib/nfs/xtab
- a – Todos los directorios se exportan o no, dependiendo de qué otras opciones se pasen a exportfs
- v – Operación detallada – Muestra lo que está pasando
Si se está ejecutando, permitir servicio NFS.
sudo firewall-cmd --add-service=nfs --permanentsudo firewall-cmd --add-service={nfs3,mountd,rpc-bind} --permanent sudo firewall-cmd --reload
Puede que sea necesario habilitar SELinux booleano.
sudo setsebool -P nfs_export_all_rw 1
Paso 4: Montaje de recursos compartidos NFS en máquinas Cliente
Ahora que hemos terminado con las configuraciones de servidor NFS, la parte restante es montar recursos compartidos NFS en un sistema cliente. Un cliente puede ser un sistema remoto, una máquina Virtual en el mismo servidor o el propio servidor.
Consulte nuestra siguiente guía: Cómo configurar el Cliente NFS en CentOS/RHEL 8
Más guías relacionadas con el almacenamiento:
Cómo Configurar el Iniciador iSCSI en CentOS 8/RHEL 8
Cómo configurar el Iniciador y el Destino iSCSI en CentOS 8/RHEL 8