Questa pagina fornisce una panoramica della funzionalità FlexCache.
Informazioni su FlexCache
NetApp FlexCache accelera l'accesso ai dati, riduce la latenza WAN e abbassa i costi della larghezza di banda WAN per i carichi di lavoro a lettura intensiva, soprattutto quando i client accedono ripetutamente agli stessi dati. Quando crei un volume FlexCache, questo funge da cache remota di un volume esistente (origine). Questa cache archivia solo i dati ad accesso frequente del volume di origine.
Quando un volume FlexCache riceve una richiesta di lettura per i dati attivi che contiene, risponde più rapidamente del volume di origine perché i dati devono percorrere una distanza più breve per raggiungere il client. Se un volume FlexCache riceve una richiesta di lettura per dati inattivi a cui si accede di rado, recupera i dati richiesti dal volume di origine, li archivia e poi gestisce la richiesta del client. Le successive richieste di lettura per questi dati vengono quindi gestite direttamente dal volume FlexCache. Dopo la prima richiesta, i dati non devono più essere trasferiti sulla rete o essere serviti da un sistema molto carico.
Anche se le applicazioni possono scrivere in un volume FlexCache, queste scritture vengono inviate al volume di origine per mantenere la coerenza della cache.
L'integrazione di FlexCache con Google Cloud NetApp Volumes ti consente di eseguire il provisioning dei volumi della cache all'interno della tua rete Google per migliorare le prestazioni degli ambienti cloud ibridi. Questa funzionalità supporta la transizione dei carichi di lavoro al cloud ibrido memorizzando nella cache i dati da un data center on-premise al cloud.
I volumi in NetApp Volumes non possono fungere da volumi di origine.
FlexCache ha le seguenti caratteristiche:
Comportamento di scrittura
FlexCache garantisce che i dati letti dall'origine o da una delle sue cache siano sempre aggiornati. Per gestire le scritture in ambienti in cui i dati possono essere scritti nell'origine o in qualsiasi cache, FlexCache fornisce le seguenti strategie per gestire queste operazioni di scrittura.
Write-around
Write-around è l'impostazione predefinita della cache. È consigliato per gli ambienti con carichi di lavoro a lettura intensiva o in cui vengono scritti solo file di piccole dimensioni.
Quando i dati vengono scritti in un volume FlexCache, l'operazione di scrittura viene passata al volume di origine. La cache riconosce la scrittura una volta che l'origine la conferma. La scrittura in un file invalida la relativa copia memorizzata nella cache e la cache la recupera di nuovo al successivo accesso.
Questa strategia fornisce una latenza di lettura simile a quella della LAN per i dati memorizzati nella cache. Tuttavia, la velocità effettiva di scrittura dipende dalla connessione di rete all'origine. Se la rete tra l'origine e una cache non funziona, gli utenti possono comunque accedere ai dati nella cache.
Write-back
Il writeback è adatto solo a carichi di lavoro specifici. Offre una velocità di scrittura elevata per scritture pesanti su file di grandi dimensioni. Il write-back non è consigliato per i workload con molte piccole scritture in più file, perché l'overhead della gestione della coerenza dei dati tra l'origine e tutte le cache riduce significativamente le prestazioni.
Prima di attivare il write-back per FlexCache, esamina le linee guida per il write-back di ONTAP FlexCache, comprendi le implicazioni dell'architettura e verifica se il tuo ambiente corrisponde al profilo di workload documentato. Il write-around è l'opzione consigliata a meno che tu non possa verificare che il tuo workload sia adatto al write-back.
Gli utenti possono facoltativamente attivare il supporto del write-back. Quando la scrittura differita è abilitata, i client possono scrivere grandi quantità di dati in una cache con prestazioni simili a quelle di una LAN. La cache invia quindi queste modifiche all'origine. Poiché la velocità di scrittura di un client nella cache potrebbe superare la velocità con cui i dati vengono inviati all'origine, la cache memorizza temporaneamente le modifiche finché non vengono completamente svuotate nell'origine. Durante il periodo in cui un client scrive in un file, l'origine e tutte le altre cache bloccano le chiamate di lettura per quel file finché l'operazione di scrittura non viene completata.
La strategia di write-back fornisce prestazioni di lettura e scrittura simili a quelle della LAN per i dati memorizzati nella cache. Tuttavia, se le cache o l'origine perdono la connettività, tutte le operazioni di lettura e scrittura vengono bloccate.
Invalidazione della cache dovuta agli aggiornamenti dell'ora di accesso
ONTAP fornisce un campo a livello di volume denominato -atime-update per gestire gli aggiornamenti dell'ora di accesso a file e directory letti utilizzando READ, READLINK e READDIR.
Gli aggiornamenti dell'ora di accesso sui volumi di origine o della cache possono attivare invalidazioni dei file che riducono l'efficacia della cache e causano prestazioni lente e latenza elevata per l'accesso ai file. Per evitare questo problema, disattiva gli aggiornamenti dell'ora di accesso sul volume di origine utilizzando il comando ONTAP volume modify -atime-update. Negli scenari in cui è necessario che l'ora di accesso rifletta le letture recenti, utilizza il comando volume modify -atime-update-period per definire un periodo durante il quale gli aggiornamenti dell'ora di accesso vengono interrotti. Ad esempio, se lo imposti su 86400
secondi, gli aggiornamenti dell'ora di accesso vengono eseguiti solo una volta al giorno.
I volumi FlexCache in NetApp Volumes ereditano l'impostazione -atime-update
dall'origine, il che può aumentare le invalidazioni della cache. Pertanto, ti
consigliamo di disattivare gli aggiornamenti dell'ora di accesso sul volume di origine.
Blocco globale dei file
Il blocco globale dei file impone blocchi di negazione della lettura e di intervalli di byte esclusivi sui file in tutte le cache e nel volume di origine. Se questi blocchi devono essere applicati rigorosamente nel tuo flusso di lavoro per mantenere la coerenza dei dati o evitare conflitti di accesso, attiva il blocco globale dei file.
Considerazioni
Abilita il blocco globale dei file solo se disponi di una connettività affidabile tra la cache e l'origine. Le connessioni instabili possono ritardare o sospendere le modifiche o causare timeout se i volumi FlexCache sono offline.
Impatto sulle prestazioni: l'attivazione del blocco dei file globale aumenta la latenza perché ogni lettura della cache attiva una richiesta all'origine per la convalida del blocco, aumentando il tempo di round trip (RTT).
Impatto sulla disponibilità: se un volume della cache va offline, le letture dei relativi file vengono bloccate in tutti gli altri volumi della cache e le modifiche al volume di origine vengono sospese finché tutti i volumi FlexCache non tornano online.
Poiché il blocco globale dei file può influire sulle prestazioni e sull'affidabilità del sistema, mantienilo disattivato a meno che il tuo flusso di lavoro non lo richieda esplicitamente.
Notifiche di modifica CIFS
Il protocollo SMB fornisce un meccanismo per notificare ai client SMB le modifiche apportate a un volume da altri client. In questo modo, le applicazioni, come Esplora file di Windows, possono aggiornare le proprie visualizzazioni senza eseguire il polling del volume. Questa funzionalità opzionale è utile per le cache in cui gli utenti interattivi accedono ai file sui volumi SMB tramite Esplora risorse. In caso contrario, deve essere disattivata per ridurre il carico di notifiche.
Precompilazione della cache
FlexCache accelera l'accesso in lettura memorizzando nella cache i dati alla prima lettura da un'origine e contribuisce a garantire la coerenza della cache, mantenendo sincronizzate l'origine e tutte le cache. Di conseguenza, l'accesso iniziale ai file ha prestazioni di lettura simili a quelle della WAN, ma le letture successive sono veloci come le letture locali.
Se sai quali dati specifici sono necessari nella cache, puoi utilizzare il precaricamento della cache. Il precaricamento ti consente di indicare alla cache di recuperare file e cartelle specifici prima del loro primo utilizzo, per accelerare le letture al primo accesso.
Per avviare un job di precompilazione, devi fornire alla cache un elenco di percorsi di file o directory. Puoi anche attivare la ricorsione, che può recuperare tutti i contenuti all'interno delle sottodirectory.
Il tempo di esecuzione di un job di precompilazione può variare a seconda della quantità di dati da precompilare e della velocità di rete tra la cache e l'origine. FlexCache ti consente di monitorare lo stato di un job di precompilazione, sia che sia ancora in esecuzione sia che sia stato completato.