GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar un servidor NFS y montar recursos compartidos NFS en Ubuntu 14.04

1.1 Descripción general de NFS-An

Network File System (NFS) es un popular protocolo de sistema de archivos distribuido que permite a los usuarios montar directorios remotos en su servidor. El sistema le permite aprovechar el espacio de almacenamiento en una ubicación diferente y escribir en el mismo espacio desde varios servidores sin esfuerzo. Por lo tanto, funciona bastante bien para directorios a los que los usuarios necesitan acceder con frecuencia. Este tutorial explica el proceso de montaje de recursos compartidos NFS en un servidor Ubuntu 14.04 en unos pasos simples y fáciles de seguir.

1.2 Información preliminar

1. A los efectos de este tutorial, habría una configuración de uso compartido de directorios entre dos servidores Ubuntu 14.04, que podría ser de cualquier tamaño. Sin embargo, para cada uno de estos servidores, necesitará una cuenta que se haya configurado con sudo privilegios 2. A los efectos de este tutorial, el servidor que compartirá sus directorios se denominará host , mientras que el servidor que montará estos directorios se denominaría cliente. 3. A efectos de uniformidad y simplicidad, se utilizarán las siguientes direcciones IP para hacer referencia a los valores del host y del servidor a lo largo del tutorial:

  • Host:5.6.7.8
  • Cliente:333. 333. 333. 333

Los usuarios deben sustituir los valores antes mencionados con sus distintos valores de host y cliente. Ahora estamos listos para aprender los pasos para montar un recurso compartido NFS en Ubuntu 14.04

1.3 Descarga e instalación de los componentes

Al principio, es esencial instalar los componentes necesarios tanto en el servidor host como en el cliente. Expresamente en el servidor host, se le pedirá que instale el nfs-kernel-server paquete, que le permitirá compartir sus directorios. Como este es el primer paso que realizará con apt en esta sesión, debe comenzar actualizando el índice del paquete local antes de la instalación (como se indica a continuación):

sudo apt-get update
sudo apt-get install nfs-kernel-server

Tras la instalación de estos paquetes, puede realizar el cambio a la computadora cliente. En la computadora del cliente, se le pedirá que instale un paquete llamado nfs-common , que ofrece funcionalidad NFS sin necesidad de incluir los componentes del servidor. Aquí nuevamente, debe actualizar el índice del paquete local antes de la instalación para asegurarse de tener información actualizada (como se muestra a continuación):

sudo apt-get update
sudo apt-get install nfs-common

Esto lo lleva al final de este paso y ahora puede pasar al siguiente.

1.4 Creación del directorio compartido en el servidor host

A los efectos de este tutorial, habría un experimento que implicaría compartir dos directorios distintos. El primer directorio para compartir resulta ser el directorio /home que contienen datos de usuario. El segundo sería un directorio de propósito general que se crearía especialmente para NFS a fin de demostrar la configuración y los procesos adecuados. El mismo estaría ubicado en /var/nfs Como el directorio /home ya existe, simplemente sigamos adelante y comencemos creando el directorio /var/nfs , usando el siguiente comando:

sudo mkdir /var/nfs

Ahora tenemos un nuevo directorio designado expresamente para compartir con hosts remotos. Sin embargo, la propiedad de este directorio aún no es ideal. Debemos asignar la propiedad del usuario a un usuario en nuestro sistema llamado nadie . También debemos asignar la propiedad del grupo a un grupo en el sistema llamado cualquier grupo . Esto se puede hacer tecleando el siguiente comando:

sudo chown noone:anygroup /var/nfs

Es importante tener en cuenta aquí que debemos cambiar cuidadosamente la propiedad solo en aquellos directorios que se usan particularmente para compartir. Por ejemplo, la propiedad del directorio de inicio (directorio /home) no debe cambiarse, ya que causaría numerosos problemas a los usuarios presentes en el servidor host.

1.5 Configuración de las exportaciones NFS en el servidor host

Con los directorios creados y asignados, ahora podemos sumergirnos en el archivo de configuración de NFS para configurar el uso compartido de estos recursos. Para eso, debe abrir el /etc/exports archivo en el editor de texto con privilegios de root usando el siguiente comando:

sudo nano /etc/exports

Los archivos que aparecerán contendrán algunos comentarios para informarle sobre la estructura general de cada línea de configuración. Esencialmente, la sintaxis sería similar a la siguiente::

directory_to_share client (share_option2,...,share_optionM)

El objetivo aquí es poder crear una línea para cada uno de los directorios que se deben compartir. Dado que, en nuestro ejemplo elegido, la dirección IP es 333.333.333.333, las líneas deberían ser similares a las siguientes:/home 333.333.333.333(rw,sync,no_root_squash,no_subtree_check) /var/nfs 333.333.333.333(rw,sync ,no_subtree_check) Ahora tomemos un tiempo para comprender las opciones dadas en las líneas anteriores.

  • rw :Esta opción permite que la computadora cliente tenga acceso de lectura y escritura al volumen.
  • sincronizar :Obliga a NFS a escribir cambios en el disco antes de responder, lo que da como resultado un entorno más estable y consistente. Esto se debe principalmente a que la respuesta replica el estado real del volumen remoto.
  • ninguna comprobación de subárbol :esta opción evita la verificación del subárbol, que es un proceso que obliga al host a verificar si el archivo aún está disponible en el árbol exportado para cada solicitud. Puede crear problemas cuando se cambia el nombre de un archivo mientras el cliente lo tiene abierto. Por la misma razón, en casi todos los casos, es recomendable deshabilitar la verificación de subárboles.
  • norootsquash :De forma predeterminada, el NFS traduce las solicitudes de un usuario raíz de forma remota a uno sin privilegios en el servidor. Esto pretende ser una característica de seguridad que no permite que una cuenta raíz en el cliente use el sistema de archivos del host como raíz. Este tipo de directiva deshabilita esto para un cierto lote de recursos compartidos.

Una vez que haya realizado todos los cambios necesarios, como era de esperar, debe realizar los cambios y guardar estos cambios antes de cerrar el archivo. Posteriormente, debe crear la tabla NFS que contiene las exportaciones de sus acciones mediante el siguiente comando:

sudo exportfs -a

Sin embargo, el servicio NFS aún no se está ejecutando. Puede iniciar el mismo escribiendo el siguiente comando:

sudo service nfs-kernel-server start

El comando anterior hará que sus acciones estén disponibles para los clientes que haya configurado. Ahora está listo para pasar al siguiente paso.

1.6 Crear los puntos de montaje y montar recursos compartidos remotos en el servidor cliente

Con el servidor host configurado y haciendo que sus directorios compartidos estén disponibles, ahora deberá preparar su cliente. Aquí, se le pedirá que monte los recursos compartidos remotos, por lo tanto, debe crear algunos puntos de montaje. Estaría usando el /mnt convencional para empezar, y luego crear un directorio llamado NFS bajo él para consolidar las acciones. Aquí, los directorios reales se corresponderán con su ubicación en el servidor host. Los usuarios pueden crear cada directorio y los directorios principales necesarios mediante el siguiente comando:

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

Habiendo creado un lugar decente para albergar los recursos compartidos remotos, ahora está en condiciones de montarlos dirigiéndose al servidor host, que, a los fines de este tutorial, es 5.6.7.8, como se muestra a continuación:

sudo mount 5.6.7.8:/home /mnt/nfs/home
sudo mount 5.6.7.8:/var/nfs /mnt/nfs/var/nfs

Estos deberían permitirle montar los recursos compartidos desde la computadora host en la máquina cliente. Puede volver a verificar esto observando el espacio disponible en el disco en el servidor del cliente (como se indica a continuación):

df -h

Filesystem Size Used Avail Use% Mounted on /dev/vda 59G 1.3G 55G 3% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 2.0G 12K 2.0G 1% /dev tmpfs 396M 324K 396M 1% /run none 5.0M 0 5.0M 0% /run/lock none 2.0G 0 2.0G 0% /run/shm none 100M 0 100M 0% /run/user 5.6.7.8:/home 59G 1.3G 55G 3% /mnt/nfs/home

Como es evidente en la parte inferior, solo uno de los recursos compartidos deseados es visible porque ambos recursos compartidos exportados existen en el mismo sistema de archivos en el servidor remoto, lo que significa que comparten el mismo grupo de almacenamiento. Para Disponibilidad y % de uso columnas para ser exactos, solo se puede agregar una de las acciones a los cálculos. No obstante, si desea ver todos los recursos compartidos de NFS que ha montado, puede escribir el siguiente comando:

mount -t nfs

5.6.7.8:/home on /mnt/nfs/home type nfs (rw,vers=4,addr=5.6.7.8,clientaddr=333.333.333.333) 5.6.7.8:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,vers=4,addr=5.6.7.8,clientaddr=333.333.333.333)

El comando anterior arrojará todos los montajes NFS a los que se puede acceder actualmente en la máquina cliente, lo que lo lleva al final de este paso y ahora es el momento de pasar al siguiente.

1.7 Prueba de acceso NFS

Puede probar el acceso a los recursos compartidos escribiendo algo en sus recursos compartidos, por ejemplo, un archivo de prueba en uno de sus recursos compartidos (como se muestra a continuación):

sudo touch /mnt/nfs/home/test_home

Aquí, también escribiremos un archivo de prueba en el otro recurso compartido para demostrar una diferencia importante:

sudo touch /mnt/nfs/var/nfs/test_var_nfs

Mire detenidamente la propiedad del archivo en el directorio de inicio montado (como se muestra a continuación) para comprender la diferencia:

ls -l /mnt/nfs/home/test_home
-rw-r--r-- 1 root   root      0 Apr 27 12:58 test_home

Como es evidente, el archivo es propiedad de root, ya que usted desactivó el root_squash opción en este montaje, que habría escrito el archivo como un usuario no root desconocido. En el otro archivo de prueba, que se montó con root_squash habilitado, notará algo completamente diferente (como se explica a continuación):

ls -l /mnt/nfs/var/nfs/test_var_nfs
-rw-r--r-- 1 noone anybody 0 Apr 27 12:58 test_var_nfs

Claramente, este archivo fue asignado a nadie usuario y cualquiera grupo. Por lo tanto, esto se ajusta a la configuración preestablecida. Pasemos ahora al siguiente paso.

1.8 Hacer que el montaje del directorio NFS remoto sea automático

Disfruta de la opción de hacer que los recursos compartidos NFS remotos se monten automáticamente al agregarlo al fstabfile en el cliente Debe abrir este archivo con privilegios de root en su editor de texto usando el siguiente comando:

sudo nano /etc/fstab

Justo en la parte inferior del archivo, debe agregar una línea para cada uno de los recursos compartidos, que se parecería a lo que se muestra a continuación:

5.6.7.8:/home      /mnt/nfs/home   nfs auto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 0
5.6.7.8:/var/nfs /mnt/nfs/var/nfs nfs auto,noatime,nolock,bg,nfsvers=4,sec=krb5p,intr,tcp,actimeo=1800 0 0

Las opciones especificadas aquí se pueden encontrar en la página del manual que describe el montaje de NFS en fstab archivo, usando el siguiente comando:

man nfs

Esto le permitirá montar automáticamente las particiones remotas en el arranque. Es posible que la conexión tarde un tiempo en establecerse y que los recursos compartidos estén disponibles (¡¡la paciencia será una virtud aquí!!)

1.9 Desmontar un recurso compartido remoto NFS

Si ya no necesita que el directorio remoto esté montado en su sistema, puede desmontarlo fácilmente saliendo de la estructura de directorios del recurso compartido y desmontándolo con el siguiente comando:

cd ~
sudo umount /mnt/nfs/home
sudo umount /mnt/nfs/var/nfs

Esto le permitirá eliminar los recursos compartidos remotos y solo podrá acceder a su almacenamiento local:

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda         59G  1.3G   55G   3% /	
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            2.0G   12K  2.0G   1% /dev
tmpfs           396M  320K  396M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
none            100M     0  100M   0% /run/user

Como está claro, los recursos compartidos de NFS ahora no están disponibles como espacio de almacenamiento. Esto lo lleva al final del tutorial.

1.10 Recapitulación

NFS ofrece un mecanismo simple y rápido para acceder a sistemas remotos a través de una red. Sin embargo, el protocolo permanece sin cifrar. Si tiene la intención de usar esto en un entorno de producción, es recomendable considerar enrutar NFS sobre SSH o una conexión VPN para crear una experiencia mucho más segura.


Ubuntu
  1. Cómo configurar un servidor NFS y montar recursos compartidos NFS en Ubuntu 14.10

  2. Cómo configurar un servidor NFS y montar recursos compartidos NFS en Ubuntu 18.04

  3. Cómo instalar y configurar el servidor Algo VPN en Ubuntu 20.04

  4. Cómo instalar NFS Client y Server en Ubuntu 20.04

  5. Cómo instalar y configurar el servidor Redis en Ubuntu

Cómo instalar y configurar Postfix en Ubuntu 18.04

Cómo instalar servidor y cliente NFS en Ubuntu

Cómo instalar y configurar el servidor LAMP en Ubuntu

Cómo instalar y configurar el servidor OpenLDAP en Ubuntu 16.04

Cómo instalar y configurar VNC en Ubuntu Server 20.04

Cómo instalar y configurar un servidor Linux Ubuntu NFS