NFS (parte 5): Acceder a la carpeta compartida desde un cliente Ubuntu 20.04 LTS

Publicado por P. Ruiz en

logoHace unos días, en el artículo NFS (parte 4): Compartir almacenamiento en un servidor Ubuntu 20.04 LTS, configuramos el servidor para compartir dos carpetas. Así, estas carpetas podrán utilizarse desde otros ordenadores de la red, que actuarán como clientes.

Como puedes imaginar, ahora nos queda la tarea de configurar esos equipos clientes, para que puedan acceder a la información almacenada en dichas carpetas compartidas o, incluso, almacenar sus propios archivos en ellas.

Hoy comenzaremos por configurar un ordenador con Ubuntu Desktop 20.04 LTS y dejaremos para otro artículo la configuración del acceso desde otro equipo con Windows 10.

Para poner en práctica el artículo de hoy, necesitarás en tu red local un servidor como el que instalamos en el artículo NFS (parte 1): Instalación en un servidor Ubuntu 20.04 LTS. Además, necesitarás tener instalados en Ubuntu Desktop los componente los componentes apropiados, como te explicábamos en el artículo NFS (parte 2): Instalación en un cliente Ubuntu 20.04 LTS.

Obviamente, también necesitarás disponer de carpetas compartidas en el servidor, como hicimos en el artículo mencionado arriba: NFS (parte 4): Compartir almacenamiento en un servidor Ubuntu 20.04 LTS.

Para realizar nuestra tarea de hoy y asegurarnos de que todo funciona de la forma adecuada, tendremos que realizar las siguientes operaciones:

  • Crear el punto de montaje, en la estructura de directorios local, donde se montarán las carpetas compartidas.

  • Realizar el montaje y comprobarlo.

  • Crear algún archivo en las carpetas compartidas.

  • Conseguir que las carpetas compartidas se monten automáticamente al arrancar el cliente.

Una vez que tenemos claras las acciones que llevaremos a cabo, es hora de comenzar…

Crear el punto de montaje para las carpetas compartidas

Lo primero que tendremos que decidir es en qué lugar del árbol de directorios del equipo cliente se montarán las carpetas compartidas por el servidor. Recuerda que en GNU/Linux sólo existe un árbol de directorios donde se van montando los diferentes volúmenes que necesitemos.

Para nuestro ejemplo de hoy, crearemos una subcarpeta, dentro de /mnt llamada nfs. En su interior, reproduciremos la ruta original de las carpetas compartidas. Y lo haremos con los siguientes comandos:

sudo mkdir -p /mnt/nfs/home
sudo mkdir -p /mnt/nfs/compartido

Creamos los puntos de montaje

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-001

Quizás lo único destacable en la sintaxis anterior sea el uso del argumento -p (también podemos escribir –parents). Su cometido es doble: por un lado evitar que se produzca un error si alguna de las carpetas ya existiese (aunque este no es el caso); por el otro, crea automáticamente la parte de la estructura del árbol que sea necesaria. Es decir, en la primera orden, se crea la carpeta home, pero también la carpeta nfs (que aún no existía). En la segunda, sólo se crea la carpeta compartido (en realidad, en este segundo caso podríamos haber evitado el argumento).

Una última precaución que deberemos tener en cuenta es que, aunque hayamos dado permisos de escritura sobre las carpetas compartidas en la configuración NFS del servidor, no podremos escribir en ellas si no disponemos de permisos sobre los puntos de montaje donde se van a montar dichas carpetas en los clientes. Por lo tanto, antes de continuar, cambiaremos también sus permisos:

sudo chmod -R 777 /mnt/nfs

Asignamos permisos a la carpeta nfs y a todo su contenido.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-002

Realizar el montaje de las carpetas compartidas y comprobarlo

La siguiente tarea que debemos completar, será montar las carpetas compartidas por el servidor, en el punto montaje que hemos creado en el apartado anterior. Para ello, como es natural, recurrimos al comando mount:

sudo mount 192.168.1.10:/home /mnt/nfs/home
sudo mount 192.168.1.10:/compartido /mnt/nfs/compartido

La ausencia de errores indica que el montaje se realiza con éxito.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-003

Para comprobar que todo ha ido bien, utilizaremos dos comandos: df y mount (aunque con cualquiera de ellos sería suficiente).

El comando df nos ofrece información sobre el espacio en disco utilizado y el que tenemos disponible en los sistemas de archivos que tengamos montados en estos momentos (de todos, salvo que indiquemos lo contrario en sus parámetros). Así pues, escribiremos lo siguiente en la terminal:

df -h

La opción -h hace que la salida sea más fácilmente comprensible para las personas (-h ó –human-readable).

Al final de la salida del comando, podemos comprobar que aparecen las carpetas que acabamos de montar.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-004

Como hemos dicho antes, también podemos utilizar el comando mount, sin argumentos, para mostrar la lista de los volúmenes montados en este momento (en realidad, lo que muestra es el contenido del archivo /etc/mtab.

mount

También aquí, las dos últimas entradas representan las carpetas compartidas.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-005

La ventaja de este último método es que disponemos de información complementaria, como los permisos o las direcciones IP tanto del cliente como del servidor).

Una última comprobación sería obtener el contenido de las carpetas compartidas:

El contenido de la carpeta /compartido.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-006

Como ves, aparece el archivo que creamos en el artículo NFS (parte 4): Compartir almacenamiento en un servidor Ubuntu 20.04 LTS a modo de prueba.

El contenido de la carpeta de uno de los usuarios contenidos en /home.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-007

Aquí, aún no tenemos nada, porque no tenemos contenido en el perfil de ese usuario.

Crear archivos en las carpetas compartidas

Para comprobar que todo funciona correctamente, crearemos un par de archivos vacíos (uno en cada carpeta) y después comprobaremos que se han creado.

touch /mnt/nfs/home/usuario/ejemplo1
touch /mnt/nfs/compartido/ejemplo2

Si experimentas algún tipo de error durante la creación, puede estar ocasionado por los permisos de alguna de las carpetas montadas. Si es así, basta con volver a ejecutar la orden chmod que explicamos más arriba.

Creamos los dos archivos de prueba.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-008

Y para comprobar que la creación se ha realizado con éxito, consultamos el contenido de ambas carpetas:

ls /mnt/nfs/home/usuario
ls /mnt/nfs/compartido

…Aunque, si la orden touch no ha devuelto errores y lo más probable es que todo haya ido bien.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-009

Montar automáticamente las carpetas compartidas al iniciar el cliente

Los sistemas operativos de la familia Unix, como es el caso de GNU/Linux, disponen de un archivo /etc/fstab (file systems table) donde se guarda la información necesaria sobre los diferentes volúmenes que se montarán durante el arranque del sistema.

Cuando implementamos una estructura NFS, como la que estamos viendo aquí, lo más probable es que queramos que los clientes monten las carpetas compartidas durante el arranque del sistema. Como habrás podido deducir, esto se consigue modificando el archivo /etc/fstab. Y, como de costumbre, recurrimos al editor nano para conseguirlo:

sudo nano /etc/fstab

ejecutamos el editor nano para modificar el contenido de /etc/fstab.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-010

Cada línea del archivo representa un volumen diferente y atiende al siguiente formato:

  • Dispositivo: Referencia al volumen que vamos a montar. En nuestro caso, para la primera carpeta, su valor será 192.168.1.10:/home.

  • Punto de montaje: La carpeta donde se montarán los datos del volumen. Su valor para la primera carpeta será /mnt/nfs/home.

  • Sistema de archivos: Indica el sistema de archivos utilizado en el volumen. En ambos casos, el valor será nfs.

  • Opciones: Indica los parámetros que usará mount para montar el dispositivo. Estarán separadas por comas y no incluirán espacios. Para las dos carpetas, las opciones serán auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800.

  • Frecuencia de respaldo: Frecuencia con la que se utiliza la herramienta dump para respaldar (copiar) el sistema de archivos. Si su valor es cero, el volumen no se respalda.

  • Orden de revisión: Orden en el que la herramienta fsck revisa el volumen en busca de posibles errores durante el proceso de inicio. Si su valor es cero, el volumen no se revisa.

En definitiva, las líneas que debemos incluir son estas:

192.168.1.10:/home /mnt/nfs/home nfs auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0
192.168.1.10:/compartido /mnt/nfs/compartido nfs auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0

El estudio detallado de las opciones de montaje se escapan de los objetivos de este texto. Sin embargo, si estás interesado en profundizar, puedes recurrir, por ejemplo, al manual de Ubuntu (http://manpages.ubuntu.com/manpages/hardy/es/man5/nfs.5.html).

Aspecto final del archivo /etc/fstab una vez realizados los cambios.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-011

Después de esto, sólo quedará grabar los cambios y reiniciar para comprobar que todo funciona correctamente.

Después de reiniciar, comprobamos que seguimos teniendo acceso a los datos compartidos.

NFS-parte-5-Acceder-a-la-carpeta-compartida-desde-un-cliente-Ubuntu-2004-LTS-012

Y esto es todo por el momento. Espero que te haya resultado útil.