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. 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 capacidades:
Comportamiento de escritura
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. Cuando se escribe en un archivo, se invalida su copia almacenada en caché, y la caché lo recupera de nuevo en el próximo acceso.
Invalidación de la caché debido a actualizaciones de la hora 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.
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 de la hora 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 de archivos global 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 Windows Explorer. De lo contrario, debe inhabilitarse para reducir la carga de notificaciones.
Prepropagación de la caché
Si bien NetApp Volumes no ofrece compatibilidad con la API para completar previamente la caché, puedes precalentarla desde el cliente. Este proceso implica leer los archivos para garantizar que sus datos se carguen en la caché.
En las siguientes pestañas, se muestran los comandos para precalentar la caché para diferentes sistemas operativos del cliente. Por lo general, estos comandos también precalientan los directorios.
Clientes de Linux o UNIX
Para preparar previamente la caché, haz lo siguiente:
find DIR_PATH -type f -print -exec sh -c 'cat "$1" > /dev/null' sh {} \;
Clientes de Windows
Para preparar previamente la caché, haz lo siguiente:
for /f "delims=" %i in ('dir /b /s /a-d DIR_PATH') do @type "%i" >NUL
Para acelerar el proceso de relleno previo, considera usar una herramienta de migración de datos, como XCP.
Para leer los datos y completar la caché con XCP, haz lo siguiente:
xcp -md5 -q SERVER:/PATH
¿Qué sigue?
Planifica los volúmenes de FlexCache.