GNU/Linux >> Tutoriales Linux >  >> Linux

Qué es NFS y cómo instalarlo en Linux

Introducción

Este es un tema rico que contiene mucha información que puede interesarle si está en el área de almacenamiento para ser un sistema, almacenamiento o puede ser un administrador de copias de seguridad.

Hay varios tipos de sistemas de archivos y nuestro tema principal de hoy es sobre uno de ellos y es NFS.

Tipos de almacenamiento

Los tres tipos principales de almacenamiento son:

– DAS

– SAN

–NAS

NAS (almacenamiento conectado a la red)

De forma sencilla, NAS es compartir carpetas para que otros almacenen sus datos en lugar de sus discos locales. Debe tener conectividad entre el servidor y los clientes para que esto funcione y, por supuesto, discos con espacio libre en el servidor. NAS es un almacenamiento a nivel de archivos, lo que significa que usted formatea los discos en el lado del servidor y los comparte con el sistema de archivos formateados.

Y aquí viene nuestro NFS sistema de archivos, es uno de los sistemas de archivos que puede formatear su NAS discos con, y esto es lo que queremos hacer ahora, usar nuestro sistema operativo Linux como un NFS servidor, lo que en realidad significa que lo usamos como un NAS servidor pero con nuestros discos formateados con NFS sistema de archivos

NFS (intercambio de archivos en red)

Es un protocolo que le permite compartir directorios y archivos con otros clientes Linux a través de una red. Los directorios compartidos normalmente se crean en un servidor de archivos, ejecutando el NFS componente del servidor. Los usuarios les agregan archivos, que luego se comparten con otros usuarios que tienen acceso a la carpeta.

Un NFS El recurso compartido de archivos se monta en una máquina cliente, lo que lo hace disponible como las carpetas que el usuario creó localmente. NFS es particularmente útil cuando el disco no tiene espacio y necesita intercambiar datos públicos entre computadoras cliente.

servidor NFS lado

Primero instale paquetes NFS


# yum install nfs-utils rpcbind

Ahora habilite los servicios en el momento del arranque


#  systemctl enable nfs-server
#  systemctl enable rpcbind

Iniciar los servicios


#  systemctl start rpcbind
#  systemctl start nfs-server

Creemos el directorio compartido para que los clientes almacenen o lean sus datos


# mkdir /sharednfs

Establezca permisos para que cualquier usuario en la máquina cliente pueda acceder a la carpeta (en el mundo real, debe considerar si la carpeta necesita una configuración más restrictiva).


# sudo chown nobody:nogroup /sharednfs 
# sudo chmod 777 /sharednfs 

Otorgar acceso a clientes NFS

Para otorgar acceso a los clientes NFS, necesitaremos definir un archivo de exportación. El archivo normalmente se encuentra en /etc/exports

Edite el archivo /etc/exports en un editor de texto y agregue una de las siguientes opciones

ro / rw :
a) ro:permite a los clientes acceso de solo lectura al recurso compartido.
b) rw:permite a los clientes acceso de lectura y escritura al recurso compartido.
sincronización/asincronización :
a) sincronización:el servidor NFS responde a la solicitud solo después de que los cambios realizados por la solicitud anterior se escriban en el disco.
b) async:especifica que el servidor no tiene que esperar.
wdelay / no_wdelay
a) wdelay :el servidor NFS retrasa la confirmación de solicitudes de escritura cuando sospecha que otra solicitud de escritura es inminente.
b) no_wdelay:use esta opción para deshabilitar el retraso. La opción no_wdelay solo se puede habilitar si la sincronización predeterminada la opción está habilitada.
no_all_squash / all_squash :
a) no_all_squash:no cambia el mapeo de usuarios remotos.
b) all_squash:para aplastar a todos los usuarios remotos, incluido el root.
root_squash / no_root_squash :
a) root_squash:evita que los usuarios root conectados de forma remota tengan acceso de root. Aplastando efectivamente los privilegios de raíz remota.
b) no_root_squash :deshabilita el aplastamiento de raíces.

Ejemplo 1 (cliente único):


# vi /etc/exports
/sharednfs {clientIP}(rw,sync,no_subtree_check)

Ejemplo 2 (múltiples clientes):


# vi /etc/exports
/sharednfs {clientIP-1}(rw,sync,no_subtree_check)
           {clientIP-2}(...)
           {clientIP-3}(...)

Ejemplo 3 (subred):


# vi /etc/exports
/sharednfs {subnetIP}/{subnetMask}(rw,sync,no_subtree_check)

Hacer que el recurso compartido de NFS esté disponible para los clientes

Exporte el recurso compartido para que el directorio esté disponible para los clientes


# sudo exportfs -a 

-a : exports entries in /etc/exports but do not synchronize with /var/lib/nfs/etab
-i : ignore entries in /etc/exports and uses command line arguments
-u : un-export one or more directories
-o : specify client options on command line
-r : re-exports entries in /etc/exports and sync /var/lib/nfs/etab with /etc/exports

Luego reinicie el servicio


# systemctl restart nfs-server

Configuración del cortafuegos

De forma predeterminada, todos los puertos que no están en uso están deshabilitados en Linux, por lo que debemos permitir NFS puertos en la configuración del cortafuegos.

Para hacerlo, haga lo siguiente


firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload

Lado del cliente

Necesitamos instalar el paquete en la máquina cliente también


yum install -y nfs-utils

Para verificar las carpetas compartidas en el servidor especificado que están disponibles para nuestro cliente


showmount -e {serverIP}

Mostrará algo como lo siguiente


Export list for {serverIP}:
/sharednfs {clientIP}

Montar las carpetas compartidas

Ahora, es hora de montar las carpetas compartidas en nuestro lado del cliente

Primero, necesitamos crear un directorio de puntos


mkdir /mnt/sharednfs

Hora de montar


mount {serverIP}:/sharednfs /mnt/sharednfs

Para verificar, intente crear un directorio o un archivo en el punto montado


touch /mnt/sharednfs/test

Para montar automáticamente los recursos compartidos de NFS

Editar en archivo fstab


vi /etc/fstab

añade esta línea


{serverIP}:/sharednfs /mnt/sharednfs    nfs     nosuid,rw,sync,hard,intr  0  0

Para desmontar el NFS acciones


umount /mnt/sharednfs

Finalmente, no olvide agregar las reglas de firewall en el lado del cliente también


firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload

Conclusión

NFS es un excelente protocolo para centralizar sus datos en un solo lugar o en una carpeta compartida en lugar de almacenarlos localmente en cada dispositivo. Esto también le brinda la oportunidad de acceder al espacio limitado local en su dispositivo.

Con la conectividad y la configuración adecuadas, tendrá la solución perfecta para almacenar sus datos en un solo lugar.


Linux
  1. Cómo instalar y probar Ansible en Linux

  2. Flatpak en Linux:qué es y cómo instalar aplicaciones con él

  3. Cómo instalar y usar Flatpak en Linux

  4. ¿Qué es Podman y cómo instalar Podman en Linux?

  5. Cómo instalar y usar Traceroute en Linux

Cómo instalar y usar phpMyAdmin en Linux

Cómo instalar y usar el comando fd en Linux

Cómo instalar y usar Nu Shell en Linux

Cómo instalar y configurar un servidor NFS en un sistema Linux

Cómo instalar y configurar un servidor Linux Ubuntu NFS

Cómo instalar Java 8 JRE y JDK desde un archivo RPM en Linux