Descripción general de FlexCache

En esta página, se proporciona una descripción general de la función FlexCache.

Acerca de FlexCache

NetApp FlexCache acelera el acceso a los datos, reduce la latencia de la WAN y disminuye los costos de ancho de banda de la WAN para las cargas de trabajo con uso intensivo de lectura, en especial cuando los clientes acceden repetidamente a los mismos datos. Cuando creas un volumen de FlexCache, este actúa como una caché remota de un volumen existente (de origen). Esta caché solo almacena los datos activos a los que se accede con frecuencia del volumen de origen.

Cuando un volumen de FlexCache recibe una solicitud de lectura para los datos activos que contiene, responde más rápido que el volumen de origen porque los datos tienen una distancia más corta para viajar al cliente. Si un volumen de FlexCache recibe una solicitud de lectura de datos fríos a los que se accede con poca frecuencia, recupera los datos requeridos del volumen de origen, los almacena y, luego, entrega la solicitud del cliente. Luego, las solicitudes de lectura posteriores de esos datos se entregan directamente desde el volumen de FlexCache. Después de la primera solicitud, los datos ya no necesitan viajar a través de la red ni servirse desde un sistema con una carga pesada.

Si bien las aplicaciones pueden escribir en un volumen de FlexCache, estas escrituras se envían al volumen de origen para mantener la coherencia de la caché.

La integración de FlexCache con Google Cloud NetApp Volumes te permite aprovisionar volúmenes de caché dentro de tu red de Google para mejorar el rendimiento de los entornos de nube híbrida. Esta función admite la transición de cargas de trabajo a la nube híbrida almacenando en caché los datos de un centro de datos local en la nube.

Los volúmenes de NetApp Volumes no pueden servir como volúmenes de origen.

FlexCache tiene las siguientes características:

Comportamiento de escritura

FlexCache garantiza que los datos que lees del origen o de cualquiera de sus cachés estén siempre actualizados. Para administrar las escrituras en entornos en los que se pueden escribir datos en el origen o en cualquier caché, FlexCache proporciona las siguientes estrategias para controlar estas operaciones de escritura.

Write-around

La escritura alrededor es el parámetro de configuración de caché predeterminado. Se recomienda para entornos con cargas de trabajo de lectura intensiva o en los que solo se escriben archivos pequeños.

Cuando se escriben datos en un volumen de FlexCache, la operación de escritura se pasa al volumen de origen. La caché confirma la escritura una vez que el origen lo hace. La escritura en un archivo invalida su copia almacenada en caché, y la caché la recupera nuevamente en el próximo acceso.

Esta estrategia proporciona una latencia de lectura similar a la de una LAN para los datos almacenados en caché. Sin embargo, el rendimiento de escritura depende de la conexión de red al origen. Si falla la red entre el origen y una caché, los usuarios aún pueden acceder a los datos en la caché.

Escritura

La escritura diferida solo es adecuada para cargas de trabajo específicas. Proporciona una velocidad de escritura rápida para las escrituras pesadas en archivos grandes. No se recomienda la escritura diferida para cargas de trabajo con muchas escrituras pequeñas en varios archivos, ya que la sobrecarga de administrar la coherencia de los datos entre el origen y todas las cachés reduce el rendimiento de manera significativa.

Antes de habilitar la escritura diferida para FlexCache, primero revisa los lineamientos de escritura diferida de ONTAP FlexCache, comprende las implicaciones de la arquitectura y verifica si tu entorno coincide con el perfil de carga de trabajo documentado. La opción recomendada es la escritura alrededor, a menos que puedas verificar que tu carga de trabajo es adecuada para la escritura diferida.

Los usuarios pueden habilitar de forma opcional la compatibilidad con la escritura diferida. Cuando la escritura diferida está habilitada, los clientes pueden escribir grandes cantidades de datos en una caché con un rendimiento similar al de una LAN. Luego, la caché envía estos cambios al origen. Dado que la velocidad de escritura de un cliente en la caché puede superar la velocidad a la que se envían los datos al origen, la caché almacena temporalmente los cambios hasta que se vacían por completo en el origen. Durante el período en que un cliente escribe en un archivo, el origen y todas las demás memorias caché bloquean las llamadas de lectura para ese archivo hasta que se completa la operación de escritura.

La estrategia de escritura diferida proporciona un rendimiento de lectura y escritura similar al de una LAN para los datos almacenados en caché. Sin embargo, si las cachés o el origen pierden la conectividad, se bloquearán todas las operaciones de lectura y escritura.

Invalidación de la caché debido a actualizaciones del tiempo de acceso

ONTAP proporciona un campo a nivel del volumen llamado -atime-update para administrar las actualizaciones de la hora de acceso en los archivos y directorios que se leen con READ, READLINK y READDIR.

Las actualizaciones del tiempo de acceso en los volúmenes de origen o de caché pueden activar invalidaciones de archivos que reducen la eficacia de la caché y provocan un rendimiento lento y una latencia alta para el acceso a los archivos. Para evitar esto, inhabilita las actualizaciones de la hora de acceso en el volumen de origen con el comando volume modify -atime-update de ONTAP. En las situaciones en las que necesitas que la hora de acceso refleje las lecturas recientes, usa el comando volume modify -atime-update-period para definir un período durante el cual se detienen las actualizaciones de la hora de acceso. Por ejemplo, si lo configuras en 86400 segundos, los tiempos de acceso se actualizarán solo una vez al día.

Los volúmenes de FlexCache en NetApp Volumes heredan el parámetro de configuración -atime-update del origen, lo que puede aumentar las invalidaciones de caché. Por lo tanto, te recomendamos que inhabilites las actualizaciones del tiempo de acceso en el volumen de origen.

Bloqueo de archivos global

El bloqueo de archivos global aplica bloqueos de denegación de lectura y de rango de bytes exclusivos en los archivos de todas las cachés y el volumen de origen. Si estos bloqueos deben aplicarse estrictamente en tu flujo de trabajo para mantener la coherencia de los datos o evitar conflictos de acceso, habilita el bloqueo de archivos global.

Consideraciones

Habilita el bloqueo global de archivos solo si tienes una conectividad confiable entre la caché y el origen. Las conexiones inestables pueden retrasar o suspender las modificaciones, o provocar tiempos de espera si los volúmenes de FlexCache no están disponibles.

  • Impacto en el rendimiento: Habilitar el bloqueo de archivos global aumenta la latencia porque cada lectura de caché activa una solicitud al origen para la validación del bloqueo, lo que incrementa el tiempo de ida y vuelta (RTT).

  • Impacto en la disponibilidad: Si un volumen de caché se desconecta, se bloquean las lecturas de sus archivos en todos los demás volúmenes de caché y se suspenden las modificaciones en el volumen de origen hasta que todos los volúmenes de FlexCache vuelvan a estar en línea.

Como el bloqueo de archivos global puede afectar el rendimiento y la confiabilidad del sistema, mantenlo inhabilitado, a menos que tu flujo de trabajo lo requiera de forma explícita.

Notificaciones de cambio de CIFS

El protocolo SMB proporciona un mecanismo para notificar a los clientes de SMB los cambios que otros clientes realizan en un volumen. Esto permite que las aplicaciones, como el Explorador de archivos de Windows, actualicen sus vistas sin sondear el volumen. Esta función opcional es útil para las memorias caché en las que los usuarios interactivos acceden a los archivos en volúmenes SMB a través del Explorador de Windows. De lo contrario, debe inhabilitarse para reducir la carga de notificaciones.

Prepropagación de la caché

FlexCache acelera el acceso de lectura almacenando datos en caché en la primera lectura desde un origen y ayuda a garantizar la coherencia de la caché, manteniendo sincronizados el origen y todas las cachés. Como resultado, el acceso inicial al archivo tiene un rendimiento de lectura similar al de una WAN, pero las lecturas posteriores son tan rápidas como las lecturas locales.

Si sabes qué datos específicos se requieren en tu caché, puedes usar la precarga de caché. La propagación previa te permite indicarle a la caché que recupere archivos y carpetas específicos antes de su primer uso para acelerar las lecturas en el primer acceso.

Para iniciar un trabajo de precarga, debes proporcionar a la caché una lista de rutas de acceso a archivos o directorios. También tienes la opción de habilitar la recursividad, que puede recuperar todo el contenido de los subdirectorios.

El tiempo de ejecución de un trabajo de reabastecimiento previo puede variar según la cantidad de datos que se deben reabastecer previamente y la velocidad de la red entre la caché y el origen. FlexCache te permite supervisar el estado de un trabajo de prepropagación, ya sea que aún se esté ejecutando o se haya completado.

¿Qué sigue?

Planifica los volúmenes de FlexCache.