Consideraciones sobre la resiliencia de la aplicación

En esta página, se describe la resiliencia de las aplicaciones para Google Cloud NetApp Volumes y cómo los clientes de NFS, SMB y iSCSI controlan las pausas de E/S. Si bien NetApp Volumes tiene una alta disponibilidad, las operaciones de E/S pueden pausarse brevemente durante el mantenimiento planificado o los eventos de servicio no planificados. En esta página, también se recomiendan parámetros de configuración de tiempo de espera para garantizar el funcionamiento sin problemas de la aplicación, en especial cuando usas software de clústeres como Pacemaker.

Consideraciones sobre la resiliencia de la aplicación

Si bien NetApp Volumes tiene una alta disponibilidad, los eventos de mantenimiento planificados, como las actualizaciones de la plataforma, las actualizaciones de servicios, las actualizaciones de software o las fallas no planificadas de los componentes del servicio, pueden provocar breves pausas en las operaciones de entrada y salida (E/S).

Pausas de E/S

El software cliente de Network File System (NFS), Server Message Block (SMB) y iSCSI dentro de tu sistema operativo controla las pausas breves de E/S. El cliente espera y vuelve a intentar las operaciones de E/S sin plantear el problema a la aplicación. Estas pausas breves se consideran no disruptivas porque, si bien los usuarios de la aplicación pueden ver tiempos de respuesta más largos, la aplicación no informa errores de E/S.

En el caso de las pausas de E/S más largas, el comportamiento depende del cliente NFS, SMB o iSCSI de tu sistema operativo y de los posibles tiempos de espera configurados en la aplicación. En las siguientes secciones, se analizan los detalles específicos del protocolo para las pausas de E/S.

Pausas de E/S de NFS

Todas las llamadas a un recurso compartido de NFS no disponible y activado de forma permanente se bloquean en el cliente de NFS y esperan indefinidamente hasta que el servidor de NFS vuelva a responder. Mientras espera el cliente de NFS, aparecen mensajes en los registros del cliente que indican que el servidor de NFS no responde.

Desde la perspectiva de la aplicación, las operaciones de E/S, como la lectura o la escritura, se bloquean y permanecen pendientes hasta que el recurso compartido de NFS se devuelve correctamente. Durante las pausas de E/S, nunca se pierde ninguna operación de E/S y NetApp Volumes garantiza la coherencia de los datos, a menos que detengas por la fuerza las operaciones de E/S pendientes en el cliente.

Usa aplicaciones de software de clústeres para automatizar las conmutaciones por error

Si usas aplicaciones de software de clústeres, como Pacemaker, en las VMs cliente para automatizar la conmutación por error de tu aplicación, configura los tiempos de espera para los recursos compartidos de NFS de modo que resistan los eventos de mantenimiento de NetApp Volumes. Estas conmutaciones por error abortan las operaciones de E/S pendientes en el cliente y pueden provocar la pérdida de transacciones. Te recomendamos que uses los siguientes tiempos de espera:

Tipo de protocolo Tiempo de espera recomendado Notas
Recursos compartidos de NFSv3 60 segundos (para los niveles de servicio Estándar, Premium y Extremo)
120 segundos (para el nivel de servicio Flex)
Te recomendamos que uses un método de aislamiento, que utiliza la opción de montaje nolock en lugar de depender de los bloqueos de NFS.
NFSv4.1 105 segundos (para los niveles de servicio Estándar, Premium y Extreme)
165 segundos (para el nivel de servicio Flex)
El protocolo NFSv4.1 agrega automáticamente un bloqueo confiable sobre NFSv3 (RFC de NFSv4.x, sección 9.6.2), que puedes usar como mecanismo de aislamiento. La recuperación del estado de bloqueo agrega 45 segundos adicionales.

Se pausan las E/S de los recursos compartidos de SMB

A diferencia de NFS, las sesiones de SMB usan una conexión que puede agotarse. Por lo general, NetApp Volumes evita los tiempos de espera.

Tiempos de espera de las sesiones

El tiempo de espera de la sesión se define en el cliente. El tiempo de espera predeterminado para los clientes de Windows es de 60 segundos. Puedes ejecutar el comando Get-SmbClientConfiguration/Set-SmbClientConfiguration con el parámetro SessionTimeout para leer o cambiar el tiempo de espera de la sesión.

Si se agota el tiempo de espera de una sesión, esta se interrumpe y se informa un error de E/S a la aplicación que realiza la E/S. El Explorador de archivos o las aplicaciones de Microsoft 365 suelen volver a conectarse en cuanto el usuario vuelve a acceder al recurso compartido de SMB. Cuando se producen errores de E/S, algunas aplicaciones intentan volver a conectarse y reintentar la operación de E/S fallida, mientras que otras no lo hacen. Consulta la documentación del proveedor de tu aplicación para comprender cómo controla los tiempos de espera de SMB y cómo funciona de forma resiliente en los recursos compartidos de SMB.

Los recursos compartidos de disponibilidad continua (CA) son una función de SMB3.x que mejora la resistencia a la conmutación por error para aplicaciones similares a bases de datos. NetApp Volumes admite recursos compartidos disponibles de forma continua para Microsoft SQL Server y FSLogix.

La recuperación ante fallas mejora con cada nueva versión de SMB. NetApp Volumes admite SMB 2.1, 3.0 y 3.1.1. Si es posible, usa la versión más reciente compatible de SMB. Windows 10/Server 2016 y versiones posteriores admiten la versión 3.1.1 más reciente de SMB.

Precauciones basadas en la aplicación para SMB

Algunas aplicaciones basadas en SMB requieren la conmutación por error transparente de SMB. La conmutación por error transparente de SMB permite operaciones de mantenimiento en volúmenes SMB dentro de NetApp Volumes sin interrumpir la conectividad a las aplicaciones de servidor que almacenan y acceden a los datos. NetApp Volumes admite la opción de recursos compartidos disponibles de forma continua de SMB para garantizar que las aplicaciones específicas admitan la conmutación por error transparente de SMB. El uso de recursos compartidos de disponibilidad continua de SMB solo admite las siguientes cargas de trabajo:

  • Contenedores de perfiles de usuario de FSLogix

  • Microsoft SQL Server (no Linux SQL Server)

Los recursos compartidos de disponibilidad continua de SMB no admiten aplicaciones personalizadas.

Pausas de E/S de iSCSI

En los entornos de Linux y Windows, los clientes (iniciadores) de iSCSI controlan las pausas de E/S reintentando los comandos hasta que el destino (NetApp Volumes) esté disponible. Durante los eventos de mantenimiento breves, el iniciador iSCSI intenta volver a conectarse y reanudar las operaciones de E/S pendientes, lo que ayuda a mantener la resiliencia de la aplicación.

Tiempos de espera de iSCSI

La configuración adecuada de los tiempos de espera de iSCSI es fundamental para mantener la resiliencia de las aplicaciones durante los eventos de mantenimiento o las interrupciones inesperadas del servicio.

En los sistemas Linux, NetApp Volumes usa la configuración predeterminada del iniciador iSCSI. Estos parámetros de configuración incluyen los específicos de NetApp dentro de la función de múltiples rutas del asignador de dispositivos de Linux predeterminado, que administra automáticamente los requisitos de tiempo de espera durante los eventos de mantenimiento de NetApp Volumes.

Sin embargo, para los sistemas Windows, modifica la configuración de MPIO de Windows con el siguiente comando para controlar los eventos de mantenimiento de NetApp Volumes.

 Set-MPIOSetting -NewPathVerificationState Enabled `
 -NewPDORemovePeriod 130 `
 -NewRetryCount 6 `
 -CustomPathRecovery Enabled `
 -NewPathRecoveryInterval 30 `

Durante las pausas de E/S, el iniciador iSCSI vuelve a intentar los comandos y mantiene la E/S pendiente durante el tiempo de espera. Si se supera el tiempo de espera, es posible que el sistema operativo informe errores de E/S a la aplicación, lo que puede provocar la pérdida de transacciones o requerir una recuperación a nivel de la aplicación.

Consideraciones sobre la aplicación y el clúster

Si usas software o aplicaciones de clustering que automatizan la conmutación por error, configura los tiempos de espera de iSCSI para que se adapten a los eventos de mantenimiento de NetApp Volumes. La conmutación por error prematura puede anular las operaciones de E/S pendientes y provocar la pérdida de datos o transacciones. Siempre consulta la documentación de tu aplicación y sistema operativo para conocer las prácticas recomendadas sobre la configuración del tiempo de espera de iSCSI.

En ocasiones, pueden ocurrir eventos de mantenimiento planificados, como actualizaciones de la plataforma y actualizaciones de software de los servicios. Desde la perspectiva de un protocolo de archivos (NFS o SMB), los eventos de mantenimiento se consideran no disruptivos, siempre y cuando la aplicación pueda controlar las pausas de E/S que podrían ocurrir durante estos eventos.

En los niveles de servicio Estándar, Premium y Extremo, las pausas de E/S suelen ser cortas y oscilan entre unos segundos y 30 segundos.

Para el nivel de servicio Flex, las pausas de E/S pueden durar hasta 70 segundos.

¿Qué sigue?

Lee sobre las consideraciones de seguridad de Google Cloud NetApp Volumes.