¿Es razonable utilizar NFS en un servidor web de producción?

¿Es razonable utilizar NFS en un servidor web de producción?

¿Se puede utilizar razonablemente NFS en servidores de producción como medio para conectar un servidor informático a un servidor de almacenamiento, suponiendo que la conexión se realice a través de una conexión LAN de 1 Gbe o 10 Gbe?

Obviamente, hay cierta sobrecarga de red y NFS parece particularmente más lento con las escrituras si tiene habilitado el modo de sincronización. De lo contrario, parece razonablemente liviano y capaz de escalar por lo que puedo decir, pero personalmente tengo poca experiencia con él. ¿Me equivoco?

El problema es que tengo un servidor en este momento que actúa como servidor web y de almacenamiento, pero probablemente terminaré necesitando dividir los dos en el futuro, y considerando que algunas solicitudes deben pasar a través de la capa de aplicación web para autenticación. Antes de inicializar la transferencia de archivos, la cosa se vuelve un poco complicada con este software. Un montaje de red fs es la opción más simple, pero... no sé si es buena.

También planeo intentar utilizar el almacenamiento en caché local con NFS, lo que debería mejorar bastante el rendimiento, pero no estoy seguro de que sea suficiente.

En cuanto a las alternativas, sólo conozco iSCSI como un competidor real, y la mayoría de la gente parece recomendar NFS sobre cualquiera de los otros menos conocidos.

Respuesta1

NFS está bien, salvo que se cumplan otros criterios específicos, a saber:

  • Ambos sistemas involucrados pueden utilizar NFS de forma nativa. Windows no cuenta aquí,un pocofunciona, pero tiene muchas peculiaridades y, a menudo, es complicado trabajar con él cuando se trata de NFS en un entorno multiplataforma (y si esjustoWindows, use SMB3, elimina la mayoría de los otros problemas con NFS). Tenga en cuenta que en el lado del cliente, esto significa soporte a nivel de kernel, porque una implementación a nivel de usuario tiene que lidiar con los problemas de eficiencia inherentes al uso de algo como FUSE, o tiene que vincularse directamente a la aplicación que necesita acceder al compartir.
  • Ha verificado correctamente cómo el cliente NFS maneja el reinicio del servidor NFS. Esto incluye tanto el sistema operativo en sí (quedeberíaestará bien en la mayoría de los casos) y el software que accederá al recurso compartido. En particular, se necesita especial cuidado en algunas plataformas de clientes cuando el software que utiliza el recurso compartido mantiene archivos abiertos durante largos períodos de tiempo, ya que no todas las implementaciones de clientes NFS manejan correctamente los reinicios del servidor remontando y revalidando explícitamente bloqueos y identificadores de archivos como deberían (lo cual conduce a todo tipo de problemas para el software del cliente). Tenga en cuenta que debe volver a verificar esto cada vez que se actualice o reconfigure cualquier parte de la pila.
  • Está dispuesto a configurar una asignación adecuada de ID de usuario/grupo. Esto es importante, porque sin él necesitas reflejar las asignaciones UID/GID entre los sistemas (factible, pero desconfiaría de configurar SSO en una red interna para un sistema con acceso a Internet) o terminarás con problemas potencialmente graves. implicaciones de seguridad (es decir, lo que ve en un sistema para los permisos no coincide con lo que ve en otros).
  • Está operando a través de un enlace de red seguro o está dispuesto a configurar correctamente la autenticación para el recurso compartido. Sin autenticación, cualquiera que esté en el enlace puede acceder a él (y un cliente malicioso puede eludir fácilmente los controles de acceso discrecional básicos de UNIX).

Suponiendo que cumple con todos esos criterios y tiene una red razonablemente rápida, todo debería estar bien. Además, si puede ejecutar tramas gigantes, hágalo; son de gran ayuda para cualquier sistema de archivos de red o almacenamiento de bloques en red.

Respuesta2

NFS está absolutamente bien y se prefiere a iSCSI debido a que NFS es mucho más fácil de administrar, compartir y realizar copias de seguridad.

Respuesta3

Hemos estado usando NFS durante años para conectar nuestra SAN a nuestros servidores VMware ESXi, ejecutando cientos de máquinas virtuales en él. No hay ningun problema.

El cuello de botella es más bien el sistema de almacenamiento que el protocolo de red.

Por supuesto, la conexión de red debe ser lo suficientemente rápida, es decir, Ethernet de 10 Gb o fibra. Ya ni siquiera nos molestamos con una red de almacenamiento separada.

Respuesta4

iSCSI podría ser un poco más rápido...

https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/storage_protocol_comparison-white-paper.pdf

https://www.hyper-v.io/whos-got-bigger-balls-testing-nfs-vs-iscsi-performance-part-3-test-results/

...pero NFS como cualquier otro redirector de red (SMB3, AFS/AFP, etc.) permite acceso múltiple simultáneo, lo cual es complicado con iSCSI u otros protocolos de bloque.

https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392

información relacionada