lunes, 8 de febrero de 2016

Práctica 7: NFS




Instalar NFS en un servidor Ubuntu 14.04 LTS
La instalación en el servidor es tan sencilla como abrir una ventana de terminal y ejecutar el comando que instala los paquetes anteriores:
sudo apt-get install nfs-kernel-server nfs-common rpcbind

El sistema nos informa de qué otros paquetes se necesitan añadir para que la instalación sea satisfactoria (dependencias) y qué espacio de almacenamiento deberá utilizar en el disco.



La forma más sencilla de poner en funcionamiento NFS es reiniciando el equipo. Lo podemos hacer de muchas formas pero, ya que estamos usando la terminal, bastará con escribir la siguiente orden:

sudo reboot


Comprobar la instalación

El archivo/proc/filesystems contiene los sistemas de archivos soportados por el núcleo de Ubuntu.
Una vez que se haya completado de nuevo el arranque del sistema, podemos comenzar por comprobar si el núcleo de Ubuntu 14.04 LTScontiene ahora soporte para NFS. Lo lograremos con la siguiente orden:
grep nfs4 /proc/filesystems


Instalar NFS en un cliente con Ubuntu 14.04 LTS

Para lograrlo, ejecutamos el siguiente comando, también desde la terminal:
sudo apt-get install nfs-common rpcbind
Como antes, apt-get nos informa de las dependencias que habrá que añadir para que la instalación sea correcta y qué espacio de almacenamiento necesitará en el disco.




Después, apt-get se limita a informarnos del avance de la instalación y, finalmente, nos muestra el prompt del sistema.



Configurar el servidor NFS
Vamos a suponer que necesitamos compartir con los clientes dos carpetas del servidor: /home y /compartido. Los pasos que deberemos seguir son estos:
o   Crear la carpeta o las carpetas que aún no existan.
o   Exportar el contenido de las carpetas
o   Reiniciar el servicio NFS
o   Crear un archivo en una de las carpetas compartidas para comprobar que es accesible desde los clientes
Crear las carpetas a compartir
La creación de una carpeta para compartir es tan sencilla como utilizar la interfaz gráfica o el comando mkdir en la consola (aquí nos inclinaremos por la segunda opción).
Además, como no queremos que los usuarios experimenten problemas para acceder a los datos, también cambiaremos el nombre del usuario y grupo propietarios de la carpeta, para que no sean propiedad de nadie, y los permisos de acceso, para que todos los usuarios dispongan de todos los permisos sobre ella.

Los comandos a ejecutar serían estos:
sudo mkdir /compartido
sudo chown nobody:nogroup /compartido
sudo chmod -R 777 /compartido




Exportar el contenido de las carpetas
Después de esto, debemos editar el archivo /etc/exports. Este es el archivo donde se indican a NFS las carpetas que vamos a compartir (exportar, en la terminología NFS). Cada carpeta exportada debe estar en una línea diferente de este archivo, aunque una línea muy larga puede continuarse en la línea siguiente poniendo al final una barra invertida ”\”.

Las líneas tienen el siguiente formato:
ruta cliente_1(opciones) cliente_2(opciones) …


En nuestro caso, incluiremos estas dos nuevas líneas en el archivos/etc/exports:
/home *(rw,sync,no_root_squash,no_subtree_check)
/compartido *(rw,sync,no_subtree_check)
Y para lograrlo, recurriremos, como es habitual, al editor de textos nano:

Una vez abierto el archivo, incluimos las líneas que indicamos más arriba:




Iniciar/reiniciar el servicio NFS


Siempre que hagamos cambios en el archivo /etc/exports, necesitaremos reiniciar el servicio para que éstos sean efectivos. Lo conseguiremos escribiendo la siguiente orden en la ventana de terminal:
sudo /etc/init.d/nfs-kernel-server restart
En nuestro caso, como es la primera vez, en lugar de reiniciarlo, sencillamente lo iniciaremos. Es decir, la orden que escribiremos en la ventana de terminal es la siguiente:
sudo /etc/init.d/nfs-kernel-server start



Crear un archivo en una carpeta compartida
Después de configurar el servidor, tendremos que hacer lo propio con los clientes. Sin embargo, para que podamos comprobar que todo es correcto después de completar esa la operación, sería conveniente disponer de algún contenido en una de las carpetas compartidas. Así comprobaremos que el contenido está accesible.

Por lo tanto, nos dirigimos a /compartido y creamos un archivo cualquiera

Acceder a la carpeta compartida con NFS desde un cliente con Ubuntu 14.04
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 elservidor (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 (dirección ip del servidor):/home /mnt/nfs/home
sudo mount(dirección ip del servidor):/compartido /mnt/nfs/compartido

Para comprobar que todo ha ido bien, utilizaremos dos comandos: df ymount (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).

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/ejemplo2


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




No hay comentarios:

Publicar un comentario