Network File Sharing (NFS) es un protocolo que te 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 que ejecuta el componente servidor NFS. Los usuarios agregan archivos a ellos, que luego se comparten con otros usuarios que tienen acceso a la carpeta.
Un recurso compartido de archivos NFS se monta en una máquina cliente, haciéndolo disponible igual que las carpetas que el usuario creó localmente. NFS es especialmente útil cuando el espacio en disco es limitado y necesitas intercambiar datos públicos entre computadoras cliente.
Esto es parte de nuestra serie de artículos sobre Linux on Azure.
En este artículo, vas a aprender:
Vamos a ver cómo configurar un servidor NFS y crear un recurso compartido de archivos NFS, que las máquinas cliente pueden montar y acceder.
Contenido relacionado: Build Your Own Enterprise NFS Service
Aquí tienes cómo instalar el NFS Kernel—este es el componente servidor que permite a una máquina exponer directorios como recursos compartidos NFS.
En Ubuntu y Debian:
sudo apt-get update
sudo apt install nfs-kernel-server
En CentOS y Fedora:
yum -y install nfs-utils
apt-get install nfs-kernel-server
Ahora vamos a crear el directorio raíz de los recursos compartidos NFS, esto también se conoce como carpeta de exportación.
sudo mkdir /mnt/myshareddir
Configura los permisos para que cualquier usuario en la máquina cliente pueda acceder a la carpeta (en la vida real deberías considerar si la carpeta necesita una configuración más restrictiva).
sudo chown nobody:nogroup /mnt/myshareddir #no-one is owner
sudo chmod 777 /mnt/myshareddir #everyone can modify files
Para dar acceso a los clientes NFS, vamos a definir un archivo de exportación. El archivo normalmente se encuentra en /etc/exports
Edita el archivo /etc/exports en un editor de texto y agrega una de las siguientes tres directivas.
Todas las directivas de abajo usan las opciones rw, que habilita tanto lectura como escritura, sync, que escribe los cambios en disco antes de permitir a los usuarios acceder al archivo modificado, y no_subtree_check, que significa que NFS no comprueba si cada subdirectorio es accesible para el usuario.
|
Para habilitar acceso a un solo cliente |
/mnt/myshareddir {clientIP}(rw,sync,no_subtree_check) |
|
Para habilitar acceso a varios clientes |
/mnt/myshareddir {clientIP-1}(rw,sync,no_subtree_check) {clientIP-2}(...) {clientIP-3}(...) |
|
Para habilitar acceso a toda una subred |
/mnt/myshareddir {subnetIP}/{subnetMask}(rw,sync,no_subtree_check) |
Ahora puedes poner el directorio compartido a disposición de los clientes usando el comando exportfs. Después de ejecutar este comando, el NFS Kernel debe reiniciarse.
sudo exportfs -a #making the file share available
sudo systemctl restart nfs-kernel-server #restarting the NFS kernel
Si tienes un firewall habilitado, también necesitas abrir el acceso al firewall usando el comando sudo ufw allow.
Ahora que ya configuramos el servidor NFS, vamos a ver cómo compartir una carpeta, definida como recurso compartido NFS, con una computadora Linux montándola en la máquina local.
Aquí tienes los paquetes que necesitas instalar para poder montar un recurso compartido NFS en una máquina Linux local.
En Ubuntu y Debian:
sudo apt update
sudo apt install nfs-common
En CentOS y Fedora:
sudo yum install nfs-utils
Puedes montar la carpeta NFS en una ubicación específica de la máquina local, conocida como punto de montaje, usando los siguientes comandos.
sudo mkdir /var/locally-mounted
sudo mount -t nfs {IP of NFS server}:{folder path on server} /var/locally-mounted
Por ejemplo:
sudo mount -t nfs 192.168.20.100:/myshareddir /var/locally-mounted
El punto de montaje ahora se convierte en la raíz del recurso compartido de archivos montado, y debajo deberías encontrar todos los subdirectorios almacenados en el recurso compartido de archivos NFS en el servidor.
Los directorios NFS remotos se pueden montar automáticamente cuando se inicia el sistema local. Puedes definir esto en el archivo /etc/fstab. Para asegurarte de que un recurso compartido de archivos NFS se monte localmente al arrancar, tienes que agregar una línea a este archivo con los detalles relevantes del recurso compartido.
Para montar automáticamente recursos compartidos NFS en Linux, haz lo siguiente:
sudo mkdir /var/locally-mounted
Los últimos tres parámetros indican las opciones NFS (que dejamos por defecto), el volcado del sistema de archivos y la comprobación del sistema de archivos (normalmente no se usan así que los dejamos en 0).
{IP of NFS server}:{folder path on server} /var/locally-mounted nfs defaults 0 0
mount /var/locally-mounted
mount {IP of NFS server}:{folder path on server}
Microsoft Azure, un popular servicio público en la nube, te permite configurar recursos compartidos de archivos NFS en la nube y acceder a ellos desde máquinas en tu centro de datos local o desplegadas en la nube de Azure.
Azure NetApp Files es un servicio en la nube que ofrece almacenamiento de archivos de alto rendimiento para la gran empresa. Es compatible con las versiones 3.1 en adelante de NFS.
Azure NetApp Files admite todo tipo de cargas de trabajo de producción y proporciona alta disponibilidad integrada. Puedes elegir el nivel y el rendimiento del servicio, y hacer instantáneas de tus datos al instante.
Aprovecha la tecnología líder de NetApp para migrar las cargas de trabajo de archivos Linux y Windows más exigentes a Azure. Azure NetApp Files ofrece latencia inferior al milisegundo y un rendimiento equivalente al que lograrías con un servidor local bare metal.
Azure NetApp Files ofrece tres niveles de rendimiento: Standard, Premium y Ultra. Puedes aprovisionar recursos compartidos de archivos en cualquiera de los niveles con un solo clic.
Azure NetApp Files se integra con cargas de trabajo empresariales complejas como SAP HANA, computación de alto rendimiento (HPC), aplicaciones LOB y VDI. Para estas y muchas más cargas de trabajo empresariales, ofrece gestión de datos integrada y conocimiento de aplicaciones para backups e instantáneas.
Puedes gestionar recursos compartidos de archivos usando Azure Portal o CLI, comandos PowerShell o una API de REST, igual que cualquier otro servicio de Azure. Azure NetApp Files admite múltiples protocolos de almacenamiento en un solo servicio, incluyendo NFSv3, SMB3.1.x y NFSv4.1. Esto te permite migrar cargas de trabajo a la nube en un modelo “lift and shift”, sin necesidad de hacer cambios en el código.
Cuando migras grandes cargas de trabajo empresariales, la transferencia de datos con rsync no es suficiente. Con Azure NetApp Files puedes gestionar fácilmente la transferencia de datos y la sincronización a gran escala.
El servicio proporciona cifrado de datos compatible con FIPS 140-2, control de acceso basado en roles (RBAC), autenticación de Active Directory y listas de control de acceso (ACL). Azure NetApp Files cumple con las principales certificaciones del sector como HIPAA, SOC y GDPR. Estas y otras características de clase empresarial significan que puedes migrar cualquier carga de trabajo empresarial a la nube con total confianza.
¿Quieres empezar? Prueba Azure NetApp Files tú mismo con una demo gratuita