Como Instalar un Servidor NFS en Ubuntu 18.04

Hay muchas ocasiones que necesitas compartir información entre varios equipos y en Linux lo puedes hacer mediante NFS. Esto es algo diferente a lo que en Windows llaman las carpetas compartidas pero en palabras sencillas se pueden compartir carpetas entre equipo mediante NFS y aquí te digo como Instalar un Servidor NFS en Ubuntu 18.04.

Como Instalar un Servidor NFS en Ubuntu o Linux Mint

Instalar un servidor NFS en Ubuntu Server 18.04 LTS o en la versión de escritorio o alguna distro derivada como Linux Mint es exactamente lo mismo y puede realizarse mediante una serie de comandos que puedes ejecutar en una terminal de comandos.

La principal razón para instalar un servidor NFS es para poder compartir información (archivos) entre varios equipos. Una diferencia importante entre el concepto de carpetas compartidas de windows y NFS es que en este último lo que se comparte es un recurso o directorio (por el servidor) y puede montarse en una ruta o directorio en el cliente y pasa a funcionar como cualquier otra carpeta o directorio.

Es decir tu puedes compartir una carpeta llamada /media01/videos/accion/ que se encuentra en el servidor y este recurso lo puedes montar en un cliente que puede ser un equipo de escritorio, una maquina virtual u otro servidor. En el ejemplo anterior podemos montar esa ruta en mi carpeta personal en /home/lmedina/Videos/peliculas/ y cuando mire mi carpeta videos habrá una carpeta llamada ‘peliculas’ y dentro de ella los archivos que están en el servidor, si yo guardo un archivo dentro de este directorio ‘peliculas’ lo estaré guardando en realidad en el servidor, sin embargo desde mi punto de vista es igual que cualquier otra carpeta.

Instalar NFS en el Servidor

Para instalar NFS en servidor Ubuntu 18.04 LTS para compartir recursos hacia el (los) cliente(s) necesitas instalar un paquete llamado nfs-kernel-server y lo puedes realizar con este comando:

sudo apt install nfs-kernel-server

Una vez instalado el servidor contará con la capacidad de compartir recursos hacia otros equipos o servidores. Para configurarlos tienes que realizar los pasos que te comento en seguida.

Habilitar exports para NFS

Los ‘exports’ son los recursos que se pueden compartir por medio de NFS y se definen en el archivo /etc/exports, estos recursos son rutas o directorios que podrás compartir por medio del servidor NFS hacia otros equipos Linux, Windows, MacOS o otro equipo que soporte este protocolo.

Para agregar una ruta y compartirla por medio de NFS puedes editar este archivo y agrear los parámetros necesarios. Aquí se describe lo parámetros que puedes usar:

ro: Limita el acceso a solo lectura para que la ruta no permita ser escrita o modificada por los clientes.
rw: Los clientes tendrán permiso de lectura y escritura al directorio
no_root_squash: De forma predeterminada, cualquier solicitud de archivo realizada por el usuario root en la máquina cliente se trata como si fuera realizada por el usuario nobody en el servidor. (A qué UID se asigna exactamente la solicitud, depende del UID del usuario «nobody» en el servidor, no del cliente). Si se selecciona no_root_squash, la raíz en la máquina cliente tendrá el mismo nivel de acceso a los archivos en el sistema como root en el servidor. Esto puede tener serias implicaciones de seguridad, aunque puede ser necesario si desea realizar algún trabajo administrativo en la máquina cliente que involucre a los directorios exportados. No debe especificar esta opción sin una buena justificación.
no_subtree_check: Si solo se exporta una parte de un volumen, una rutina llamada comprobación de subárbol verifica que un archivo que se solicita al cliente se encuentre en la parte apropiada del volumen. Si se exporta todo el volumen, deshabilitar esta comprobación acelerará las transferencias.
sync: Los cambios en los datos de los archivos se realizan en el disco de forma inmediata, lo que tiene un impacto en el rendimiento, pero es menos probable que provoque una pérdida de datos si el sistema se reinicia o se apaga.
async: Los cambios en los datos del archivo se hacen inicialmente en la memoria. Esto acelera el rendimiento, pero es más probable que provoque la pérdida de datos en caso de falla o apagado repentino del sistema.

Para agregar una ruta para compartirla por NFS edita el archivo /etc/exports y agrega el directorio y las opciones. Este es un ejemplo si buscaramos compartir la ruta /media01/videos/accion que sea de lectura y escritura con permisos para una subnet, es decir todas las IPs que estén en ese segmento para el ejemplo de la 10.107.31.0 a las 10.107.31.255 .

/media01/videos/accion         10.107.31.0/24(rw, sync, no_subtree_check)

Para compartirlo solo para un host y que sea de solo lectura puedes configurarlo de la siguiente manera.

/media01/videos/accion         10.107.31.3(ro)

Cuando tengas los cambios realizados hace falta que se procese el archivo exports y luego reinicar el servicio. Esto lo haces con los siguientes comandos:

sudo exportfs -a
sudo systemctl restart nfs-kernel-server

Instalar NFS en el cliente

Por default el soporte para NFS no se instala en los servidores o escritorios de Ubuntu Server, Desktop o alguna otra derevada, por lo que es necesario instalar algunos paquetes. La buena noticia es que solo hace falta ejecutar el siguiente comando para habilitarlo.

sudo apt-get install nfs-common

Montar un carpeta por NFS en el cliente

Una vez que tengas instalado el soporte para NFS en el cliente puedes agregar un recurso compartido por un servidor NFS y montarlo en un directorio que esté vacio de preferencia o en un nuevo directorio que puedes crear con el comando mkdir.

Para montar un recurso utiliza el comando mount siguiendo este ejemplo:

mount -t servidor:/ruta/completa /carpeta/donde/se/montara/

Suponiendo que tengas un directorio llamado Videos en la carpeta personal podrías montar el recurso /media01/videos/accion que tiene el servidor 10.107.31.2. El comando para montarlo puede ser como este:

sudo mount -t nfs 10.107.31.2:/media01/videos/accion /home/usuario/Videos

Para verificar que todo funciona ve a la ruta o directorio donde montaste el recurso NFS y lista los archivos ya sea desde la terminal o desde un gestor de archivos grafico como Nautilus, Nemo, Files o Archivos.

This entry was posted in Ubuntu and tagged , , , . Bookmark the permalink.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*