NFS (parte 5): Acceder a la carpeta compartida desde un cliente Ubuntu 14.04 LTS
Hace unos días, en el artículo NFS (parte 4): Compartir almacenamiento en un servidor Ubuntu 14.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 14.04 LTS y dejaremos para otro artículo la configuración del acceso desde otro equipo con Windows 8.1.
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 14.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 14.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 14.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 archivos 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 este ejemplo, crearemos una subcarpeta, dentro de /mnt llamada nfs. En su interior, reproduciremos la ruta original de las carpetas compartidas:
sudo mkdir -p /mnt/nfs/home sudo mkdir -p /mnt/nfs/compartido
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
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
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.
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
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:
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/ejemplo1 touch /mnt/nfs/compartido/ejemplo2Si 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.
Y para comprobar que la creación se ha realizado con éxito, consultamos el contenido de ambas carpetas:
ls /mnt/nfs/home ls /mnt/nfs/compartido
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
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).
Después de esto, sólo quedará grabar los cambios y reiniciar para comprobar que todo funciona correctamente.
Y esto es todo por el momento. Espero que te haya resultado útil.