¿Cuál es la diferencia entre NFS y SMB?

Network File System (NFS) y Server Message Block (SMB) son protocolos o reglas de almacenamiento de acceso a archivos para compartir archivos de manera eficiente a través de una red. La capacidad de comunicarse, colaborar y compartir archivos de manera eficaz es esencial para las operaciones diarias de cualquier organización. A través de NFS, un usuario (o dispositivo cliente) puede conectarse a un servidor de red y acceder a los archivos del servidor. Tiene reglas que permiten a varios usuarios compartir el mismo archivo sin conflictos de datos. Del mismo modo, SMB también permite a los usuarios leer archivos en el servidor. Sin embargo, ofrece más flexibilidad, por lo que los clientes también pueden compartir archivos entre sí. Los clientes pueden usar SMB para establecer conexiones con cualquier otro dispositivo en red, como impresoras o servidores de archivos. A continuación, el cliente puede acceder a los archivos del dispositivo como si fuera local para el cliente.

¿Qué es NFS y cómo funciona?

Sun Microsystems creó el protocolo Network File System (NFS) en 1984 como un protocolo de uso compartido de archivos con estado para sistemas basados en Unix. Desde entonces, NFS ha pasado por varias actualizaciones. La más reciente es la versión 4 de NFS (NFSv4), que fue desarrollada por un grupo de trabajo de Internet Engineering Task Force. NFS sigue siendo popular entre los usuarios de Linux.

Así es como funciona la comunicación entre un cliente con NFS y un servidor NFS. En primer lugar, un cliente solicita un archivo o directorio al servidor mediante llamadas a procedimientos remotos (RPC). Entonces, el servidor comprueba lo siguiente:

  • El archivo o directorio está disponible.
  • El cliente tiene los permisos de acceso necesarios.

A continuación, el servidor monta el archivo o directorio de forma remota en el cliente y comparte el acceso a través de una conexión virtual. Para el cliente, NFS hace que el uso del archivo del servidor remoto sea similar al acceso a un archivo local durante las operaciones.

Entre otras características, los clientes con NFS almacenan en caché los archivos para mejorar la velocidad de acceso, bloquean los archivos cuando varios equipos intentan escribir en el mismo archivo simultáneamente y proporcionan actualizaciones sincronizadas de los atributos de los archivos.

¿Qué es SMB y cómo funciona?

El protocolo Server Message Block (SMB) ha pasado por varias iteraciones diferentes desde que se desarrolló por primera vez. Fue lanzado en 1983 por Barry Feigenbaum en IBM para el sistema operativo DOS, el precursor de Windows. Con una integración profunda en el conjunto de productos de Windows, SMB sigue siendo el protocolo de uso compartido de archivos predeterminado para los sistemas operativos Windows. 

La versión actual de SMB es SMB 3.1.1, y las versiones anteriores incluyen SMB 1.0, SMB 2.0, SMB 2.1, SMB 3.0 y SMB 3.0.2. SMB pasó a llamarse CIFS (Common Internet File System), pero este cambio de nombre finalmente se revirtió. 

El proceso de comunicación cliente-servidor es similar al de NFS en un nivel alto; las diferencias radican en los detalles más sutiles y en los mecanismos operativos. Por ejemplo, en SMB, los sistemas de archivos no están montados en el cliente SMB local. En cambio, se accede a un recurso compartido de red alojado en el servidor SMB a través de una ruta de red.

Similitudes entre SMB y NFS

Los protocolos Server Message Block (SMB) y Network File System (NFS) funcionan con un modelo cliente-servidor, en el que los archivos se comparten en el servidor remoto y los utiliza el cliente local. Tras configurar correctamente los protocolos, al acceder a los archivos y directorios de red remotos del servidor, funciona como si fueran locales en el sistema de archivos de la máquina cliente.

Estas son otras similitudes entre SMB y NFS:

  • Ambos permiten a los clientes realizar operaciones de creación, lectura, actualización y eliminación (CRUD) en archivos y directorios del servidor.
  • Puede utilizarlos con varios sistemas operativos diferentes. Esto incluye todos los sistemas operativos principales, los entornos de Windows y los entornos de Linux.
  • SMB y NFS se utilizan a menudo en entornos de red heredados, especialmente en la infraestructura en las instalaciones. 

Diferencias clave entre NFS y SMB

Network File System (NFS) y Server Message Block (SMB) presentan algunas diferencias en sus detalles operativos.

Diseño original

Si bien tanto NFS como SMB se pueden usar en todos los sistemas operativos, el protocolo SMB es el protocolo predeterminado para compartir archivos nativo de Windows. La funcionalidad de Windows se basa en SMB. Necesita herramientas externas como Samba para usar SMB en equipos Linux para acceder a los archivos remotos del servidor Windows. 

Por el contrario, el protocolo NFS se diseñó específicamente para sistemas Unix. Es un protocolo nativo para compartir archivos, y el protocolo de transferencia de archivos predeterminado, en la mayoría de las distribuciones de Linux.

Recursos compartidos

SMB se ha diseñado para que pueda compartir una amplia gama de recursos de red, como los servicios de archivos e impresión, los dispositivos de almacenamiento y el almacenamiento de máquinas virtuales.

Esto contrasta con NFS, que solo tiene compatibilidad integrada para compartir archivos y directorios.

Comunicaciones cliente-cliente

SMB permite a los clientes comunicarse y compartir archivos entre sí utilizando el servidor como mediador.

NFS solo permite operaciones cliente-servidor.

Cuándo usar NFS en lugar de SMB

Por lo general, Network File System (NFS) y Server Message Block (SMB) se utilizan para crear y administrar redes de área local (LAN) con entornos de sistemas operativos homogéneos. En estos entornos, se debe acceder al almacenamiento compartido como a los archivos locales. NFS y SMB también se utilizan en entornos de red heredados a distancia y en entornos de nube híbrida a través de puertas de enlace.

Uso compartido de archivos de SMB

Si desea configurar un almacenamiento conectado a la red (NAS) en una LAN, SMB es la opción más sencilla para compartir archivos y acceder a ellos a través de la red, no importa el sistema operativo que use (Windows, Mac o Linux).

Los siguientes ejemplos son otros casos de uso comunes:

  • Redes de área local basadas en Windows para organizaciones en las que varias máquinas cliente requieren almacenamiento compartido
  • Entornos empresariales con matrices de almacenamiento más grandes que priorizan la eficiencia y la escalabilidad
  • Operaciones de uso compartido avanzadas que requieren compatibilidad nativa

Más información sobre el NAS »

Uso compartido de archivos de NFS

Puede usar NFS para los siguientes escenarios:

  • Tiene una red local con todas las máquinas basadas en Unix (incluidos los entornos basados en Linux) de la red.
  • Se requieren archivos de gran tamaño.

Nota sobre las arquitecturas de almacenamiento en la nube

Es importante tener en cuenta que ni SMB ni NFS se utilizan como protocolos principales para compartir archivos en las arquitecturas de almacenamiento y uso compartido de archivos basadas en la nube.

Los proveedores de almacenamiento en la nube utilizan sistemas propietarios para administrar sus configuraciones internas, aunque pueden basarse en SMB o NFS de forma interna. En cambio, los proveedores ofrecen servicios de compatibilidad para permitir que los sistemas SMB y NFS nuevos o existentes interoperen con sus productos y servicios de almacenamiento en la nube. 

Desafíos derivados de la implementación de NFS y SMB

Tanto Server Message Block (SMB) como Network File System (NFS) requieren una configuración en el servidor y las máquinas cliente para funcionar correctamente. No funcionan nada más empezar a usarlos. Los permisos de acceso y el sistema de autenticación basado en usuarios deben configurarse correctamente tanto en las máquinas cliente como en el servidor. Cuando hay una discrepancia en los tipos de sistemas operativos entre el cliente y el servidor, es posible que se requiera una configuración o un software adicionales.

La configuración de NFS y SMB suele ser tarea de los administradores de sistemas o de red. La tarea requiere un conocimiento práctico de las consideraciones de seguridad del protocolo para garantizar operaciones seguras y una eficiencia óptima. Si se publica una nueva versión de SMB o NFS, los administradores deben actualizar los sistemas y las configuraciones según sea necesario.

En las arquitecturas de almacenamiento de archivos basadas en la nube, muchas organizaciones utilizan soluciones modernas y completamente administradas para compartir archivos en lugar del enfoque autónomo que requieren SMB o NFS. Estas soluciones utilizan NFS o SMB hasta cierto punto, pero la complejidad de la administración queda oculta para el administrador.

Estas soluciones suelen ofrecer características adicionales a las que se puede acceder a través de una interfaz fácil de usar. Por ejemplo, pueden ofrecer un sistema de autenticación automatizado, una administración elástica del almacenamiento, una integración automática con otros servicios en la nube y controles de seguridad avanzados.

 

Resumen de las diferencias entre NFS y SMB

 

NFS

SMB

¿Qué es?

Network File System.

Server Message Block.

Más adecuada para lo siguiente:

Arquitecturas de red basadas en Linux.

Arquitecturas basadas en Windows.

Recursos compartidos

Archivos y directorios.

Una amplia gama de recursos de red, como los servicios de archivos e impresión, los dispositivos de almacenamiento y el almacenamiento de máquinas virtuales.

El cliente puede comunicarse con

Servidores.

Los servidores y los clientes pueden comunicarse con otros clientes utilizando el servidor como mediador.

¿Cómo puede AWS satisfacer sus necesidades de uso compartido de archivos de forma remota?

Amazon Web Services (AWS) ofrece una gama de servicios para la compatibilidad de Server Message Block (SMB), la compatibilidad de Network File System (NFS) y otras necesidades de acceso remoto.

Si ya cuenta con un sistema de almacenamiento de archivos en las instalaciones personalizado, puede usar AWS Storage Gateway para conectarlo al almacenamiento en la nube y disfrutar de una eficiencia y un almacenamiento ilimitados en una solución de nube híbrida. En combinación con Amazon Simple Storage Service (Amazon S3), es posible compartir su almacenamiento en las instalaciones basado en NFS o en SMB con baja latencia y un acceso eficiente en la nube. Para obtener más información, consulte cómo crear un recurso compartido de archivos de SMB con una configuración personalizada.

Si desea migrar un servidor SMB o NFS a la nube para reducir los gastos operativos, utilizar el escalado elástico o aumentar la disponibilidad, puede hacerlo con Amazon FSx. Amazon FSx es compatible con ONTAP, Windows File Server, Lustre y OpenZFS de NetApp.

En el caso de los servicios modernos de intercambio de archivos que no requieren la configuración de SMB o NFS, Amazon Elastic File System (Amazon EFS) es una solución de almacenamiento de archivos sin servidor, totalmente elástica y completamente administrada. Con Amazon EFS, puede montar su sistema de archivos de red en contenedores de Amazon Elastic Compute Cloud (Amazon EC2), contenedores de AWS, funciones de Lambda o servidores en las instalaciones. Amazon EFS está diseñado para almacenar y compartir archivos de forma sencilla y elástica en arquitecturas híbridas modernas y basadas en la nube de AWS.

Para comenzar a compartir archivos en AWS, cree una cuenta hoy mismo.