PowerScale: OneFS: Prácticas recomendadas para los ajustes del cliente de NFS
Resumen: En este artículo, se describen las prácticas recomendadas y las recomendaciones para la configuración del lado del cliente y las opciones de montaje cuando se utiliza el protocolo Network File System (NFS) para conectarse a un clúster de PowerScale y se aplica a todas las versiones compatibles de OneFS. ...
Síntomas
OneFS: Prácticas recomendadas para la configuración del cliente del sistema de archivos de red (NFS)
Causa
Versiones de protocolo soportadas
PowerScale OneFS actualmente es compatible con las versiones 3 y 4 de Network File System (NFS). No se soporta la versión 2 de NFS.
NFSv3
NFS versión 3 es la versión más utilizada del protocolo NFS en la actualidad y se considera que tiene la adopción más amplia de clientes y filers. Estos son algunos de los componentes clave de esta versión:
- Sin estado: un cliente no establece técnicamente una nueva sesión si tiene la información correcta para solicitar archivos, etc. Esto permite una conmutación por error simple entre los nodos de OneFS a través de grupos con IP dinámicas.
- La información del usuario y del grupo se presenta numéricamente: el cliente y el servidor comunican la información del usuario mediante identificadores numéricos, lo que permite que el mismo usuario aparezca con nombres diferentes entre el cliente y el servidor.
- El bloqueo de archivos está fuera de banda: la versión 3 de NFS utiliza un protocolo auxiliar llamado NLM para realizar bloqueos. Esto requiere que el cliente responda a los mensajes RPC del servidor para confirmar que se han concedido bloqueos.
- Se puede ejecutar a través de TCP o UDP: esta versión del protocolo se puede ejecutar a través de UDP en lugar de TCP, lo que deja el manejo de la pérdida y la retransmisión al software en lugar del sistema operativo. Dell Technologies siempre recomienda el uso de TCP.
NFSv4
La versión 4 de NFS es la revisión principal más reciente del protocolo NFS y está aumentando en adopción. Estas son algunas de las diferencias clave entre v3 y v4.
- Con estado: NFSv4 utiliza sesiones para manejar la comunicación, por lo que tanto el cliente como el servidor deben rastrear el estado de la sesión para continuar comunicándose.
- Antes de OneFS 8.X, esto significaba que los clientes de NFSv4 necesitaban grupos de IP estáticas en PowerScale o podían tener problemas.
- La información del usuario y del grupo se presenta como strings: tanto el cliente como el servidor deben resolver los nombres de la información numérica almacenada. El servidor debe buscar nombres para presentarlos, mientras que el cliente debe volver a asignarlos a números en su extremo.
- El bloqueo de archivos está dentro de banda: la versión 4 ya no utiliza un protocolo independiente para el bloqueo de archivos, sino que lo convierte en un tipo de llamada compuesta por OPENs, CREATES o WRITES.
- Llamadas compuestas: la versión 4 puede agrupar en una serie de llamadas en un solo paquete, lo que permite que el servidor las procese todas y las responda al final. Esto se utiliza para reducir la cantidad de llamadas involucradas en operaciones comunes.
- Solo soporta TCP: la versión 4 de NFS ha dejado la pérdida y la retransmisión hasta el sistema operativo subyacente.
NFSv4.1 y versiones posteriores
NFSv4.1 y v4.2 están disponibles a partir de la versión 9.3 de OneFS.
Esta es la información oficial de la versión 9.3:
Centros de información de PowerScale OneFS
Resolución
Opciones de montaje
Si bien Dell Technologies no tiene requisitos estrictos para las opciones de montaje, Dell Technologies hace algunas recomendaciones sobre cómo se conectan los clientes. Dell Technologies no ha proporcionado cadenas de montaje específicas, ya que la sintaxis utilizada para definir estas opciones varía según el sistema operativo en uso. Debe seguir la documentación de los mantenedores de distribución para obtener una sintaxis de montaje específica.
El soporte de PowerScale también recomienda la siguiente documentación técnica como referencia principal para la configuración de clientes NFS con PowerScale, incluidas las opciones recomendadas para wsize/rize, el almacenamiento en caché de atributos y más:
Consideraciones de diseño y prácticas recomendadas de NFS de PowerScale
OneFShttps://infohub.delltechnologies.com/en-us/t/powerscale-onefs-nfs-design-considerations-and-best-practices-3/
Tamaño de lectura y escritura (rsize / wsize)
Con respecto a las "opciones wsize/rsize", el soporte de PowerScale recomienda "wsize" y "rsize" de al menos 128 000, que se basa en nuestro tamaño de bloque nativo.
Sin embargo, para la mayoría de las distribuciones modernas de Linux, el soporte de PowerScale recomienda no configurar explícitamente un ajuste (es decir, no especificar un tamaño de lectura/escritura en las opciones de montaje del cliente) y dejar que el cliente renegocie los ajustes. Las distribuciones modernas de Linux admiten tamaños de bloque de lectura/escritura NFS de hasta 1 MB y negociarán automáticamente el tamaño de bloque óptimo con el servidor NFS de PowerScale. Los valores negociados son ideales para la mayoría de las redes configuradas de alto rendimiento y baja latencia. La excepción sería a menos que tenga una aplicación o un proveedor que requiera específicamente el tamaño más pequeño.
Cuando no se establece explícitamente, el cliente NFS utiliza los datos FSINFO del servidor NFS de PowerScale, como se define en la exportación de NFS configurada en el clúster de PowerScale.
Los valores predeterminados que ofrece PowerScale son los siguientes:
NFSv3: 512KB writes / 1MB readsNFSv4: 1MB writes/ 1MB reads
Consulte las páginas 12 y 19 de la siguiente documentación técnica para obtener información más detallada sobre "rsize" y "wsize":
Consideraciones de diseño y prácticas recomendadas de NFS de PowerScale
OneFShttps://infohub.delltechnologies.com/en-us/t/powerscale-onefs-nfs-design-considerations-and-best-practices-3/
Definición de reintentos y tiempos de espera agotados
Si bien PowerScale generalmente responde a la comunicación con el cliente rápidamente, durante los casos en que un nodo ha perdido alimentación o conectividad de red, sus direcciones IP pueden tardar unos segundos en pasar a un nodo funcional; por lo tanto, es importante tener valores de tiempo de espera y reintento definidos correctamente. Por lo general, PowerScale recomienda un tiempo de espera agotado de 60 segundos para dar cuenta de una situación de conmutación por error en el peor de los casos, configurado para reintentar dos veces antes de informar una falla.
Montajes físicos en comparación con los digitales
Los montajes físicos ocasionan que el cliente deba volver a realizar sus operaciones indefinidamente tras un tiempo de espera agotado o un error. Esto garantiza que el cliente no desconecte el montaje en circunstancias en que el clúster PowerScale transfiere direcciones IP de un nodo a otro. Un montaje digital generará un error y vencerá el montaje que requiere un nuevo montaje para restaurar el acceso después de que se transfiera la dirección IP.
Permitir interrupción
De manera predeterminada, la mayoría de los clientes no le permiten interrumpir una entrada/salida o una espera de I/O, lo que significa que no puede usar ctrl+c para finalizar el proceso de espera si el clúster deja de responder, incluido el interrupt La opción de montaje permite que esas señales pasen normalmente.
Bloqueo local vs. remoto
Al montar una exportación de NFS, puede especificar si un cliente genera sus bloqueos localmente o mediante el coordinador de bloqueos en el clúster. La mayoría de los clientes utilizan de manera predeterminada el bloqueo remoto y, por lo general, esta es la mejor opción cuando varios clientes acceden al mismo directorio; sin embargo, realizar el bloqueo local cuando un cliente no necesita compartir el acceso al directorio con el que está trabajando puede tener beneficios de rendimiento. Además, algunas bases de datos y software le solicitarán que utilice el bloqueo local, ya que tienen su propio coordinador.
Almacenamiento en caché de atributos (ac/noac)
Con respecto a los "tiempos de espera agotados de caché activa", esto se considera un comportamiento del lado del cliente. Como resultado, el soporte de PowerScale no hace recomendaciones sobre estos ajustes, ya que depende de cuáles sean sus necesidades. Sin embargo, los clientes pueden encontrar orientación general sobre estos ajustes en la página 22 de la siguiente documentación técnica:
Consideraciones de diseño y prácticas recomendadas de NFS de PowerScale
OneFShttps://infohub.delltechnologies.com/en-us/t/powerscale-onefs-nfs-design-considerations-and-best-practices-3/
Según la página 22 de lo anterior:
Almacenamiento en caché de atributos (ac/noac)
Utilice la opción noac mount para lograr la coherencia de la caché de atributos entre varios clientes. Casi todas las operaciones del sistema de archivos comprueban la información de atributos de archivos. El cliente mantiene esta información almacenada en la memoria caché durante un período para reducir la carga de la red y del servidor. Cuando noac está vigente, la caché de atributos de archivo de un cliente está deshabilitada, por lo que cada operación que debe comprobar los atributos de un archivo se ve forzada a regresar al servidor. Además, la opción noac obliga a que las escrituras de las aplicaciones se vuelvan síncronas, de modo que un cliente vea los cambios en un archivo al abrirlo, a costa de muchas operaciones de red adicionales. De manera predeterminada, el almacenamiento en caché de atributos se habilita cuando se monta NFS. Habilite el almacenamiento en caché de atributos para mejorar el rendimiento de la comprobación de atributos y reducir la latencia de la operación de NFS.
Rendimiento de NFSv3 en comparación con NFSv4
Según pruebas de laboratorio, el soporte de PowerScale no encontró diferencias de rendimiento discernibles entre las diferentes versiones de NFS en las versiones soportadas más recientes de OneFS.
Información adicional
Para ver los valores wsize/rsize de una exportación de NFS específica, puede ejecutar los siguientes comandos en cualquier nodo de PowerScale:
# isi nfs exports ls -v --zone <zone name>
O bien, para comprobar un ID de exportación específico, los clientes pueden ejecutar lo siguiente:
# isi nfs export view <export id>
Ejemplo:
Read Transfer Max Size: 1.00M Read Transfer Size: 128.00k Write Transfer Max Size: 1.00M Write Transfer Size: 512.00k