Visão geral do FlexCache

Nesta página, você encontra uma visão geral do recurso FlexCache.

Sobre o FlexCache

O NetApp FlexCache acelera o acesso a dados, reduz a latência da WAN e diminui os custos de largura de banda da WAN para cargas de trabalho com leitura intensa, especialmente quando os clientes acessam repetidamente os mesmos dados. Quando você cria um volume do FlexCache, ele atua como um cache remoto de um volume (de origem) existente. Esse cache armazena apenas dados ativos do volume de origem que são acessados com frequência.

Quando um volume do FlexCache recebe uma solicitação de leitura dos dados ativos que contém, ele responde mais rápido do que o volume de origem porque os dados têm uma distância menor para percorrer até o cliente. Se um volume do FlexCache receber uma solicitação de leitura de dados frios acessados com pouca frequência, ele vai recuperar os dados necessários do volume de origem, armazená-los e atender à solicitação do cliente. As solicitações de leitura subsequentes desses dados são veiculadas diretamente do volume do FlexCache. Após a primeira solicitação, os dados não precisam mais viajar pela rede nem ser veiculados por um sistema sobrecarregado.

Embora os aplicativos possam gravar em um volume do FlexCache, essas gravações são enviadas ao volume de origem para manter a coerência do cache.

A integração do FlexCache com o Google Cloud NetApp Volumes permite provisionar volumes de cache na sua rede do Google para melhorar o desempenho em ambientes de nuvem híbrida. Esse recurso oferece suporte à transição de cargas de trabalho para a nuvem híbrida, armazenando em cache os dados de um data center local para a nuvem.

Os volumes no NetApp Volumes não podem servir como volumes de origem.

O FlexCache tem as seguintes características:

Comportamento de gravação

O FlexCache garante que os dados lidos da origem ou de qualquer um dos caches estejam sempre atualizados. Para gerenciar gravações em ambientes em que os dados podem ser gravados na origem ou em qualquer cache, o FlexCache oferece as seguintes estratégias para lidar com essas operações de gravação.

Write-around

A gravação indireta é a configuração padrão do cache. É recomendável para ambientes com cargas de trabalho de leitura intensa ou em que apenas arquivos pequenos são gravados.

Quando os dados são gravados em um volume do FlexCache, a operação de gravação é transmitida para o volume de origem. O cache reconhece a gravação assim que a origem confirma. A gravação em um arquivo invalida a cópia armazenada em cache, e o cache a recupera novamente no próximo acesso.

Essa estratégia oferece uma latência de leitura semelhante à de uma LAN para dados armazenados em cache. No entanto, a taxa de transferência de gravação depende da conexão de rede com a origem. Se a rede entre a origem e um cache falhar, os usuários ainda poderão acessar os dados no cache.

Write-back

O write-back é adequado apenas para cargas de trabalho específicas. Ele oferece velocidade de gravação rápida para gravações pesadas em arquivos grandes. Não recomendamos o write-back para cargas de trabalho com muitas gravações pequenas em vários arquivos, porque a sobrecarga de gerenciamento da consistência de dados entre a origem e todos os caches reduz significativamente o desempenho.

Antes de ativar o write-back para o FlexCache, revise as diretrizes de write-back do ONTAP FlexCache, entenda as implicações da arquitetura e verifique se seu ambiente corresponde ao perfil de carga de trabalho documentado. A opção recomendada é o write-around, a menos que você possa verificar se a carga de trabalho é adequada para o write-back.

Os usuários podem ativar o suporte de retorno de gravação. Quando o write-back está ativado, os clientes podem gravar grandes quantidades de dados em um cache com desempenho semelhante a uma LAN. Em seguida, o cache envia essas mudanças para a origem. Como a velocidade de gravação de um cliente no cache pode exceder a taxa em que os dados são enviados para a origem, o cache armazena temporariamente as mudanças até que elas sejam totalmente liberadas para a origem. Durante o período em que um cliente está gravando em um arquivo, a origem e todos os outros caches bloqueiam as chamadas de leitura para esse arquivo até que a operação de gravação seja concluída.

A estratégia de gravação de volta oferece desempenho de leitura e gravação semelhante a LAN para dados em cache. No entanto, se os caches ou a origem perderem a conectividade, todas as operações de leitura e gravação serão bloqueadas.

Invalidação de cache devido a atualizações de tempo de acesso

O ONTAP oferece um campo no nível do volume chamado -atime-update para gerenciar atualizações de tempo de acesso em arquivos e diretórios lidos usando READ, READLINK e READDIR.

Atualizações de tempo de acesso em volumes de origem ou de cache podem acionar invalidações de arquivos que reduzem a eficácia do cache e causam lentidão e alta latência no acesso a arquivos. Para evitar isso, desative as atualizações de tempo de acesso no volume de origem usando o comando volume modify -atime-update do ONTAP. Nos cenários em que você precisa que o tempo de acesso reflita leituras recentes, use o comando volume modify -atime-update-period para definir um período em que as atualizações de tempo de acesso são interrompidas. Por exemplo, definir como 86400 segundos resulta em atualizações de tempo de acesso apenas uma vez por dia.

Os volumes do FlexCache no NetApp Volumes herdam a configuração -atime-update da origem, o que pode aumentar as invalidações de cache. Portanto, recomendamos que você desative as atualizações de tempo de acesso no volume de origem.

Bloqueio de arquivos global

O bloqueio global de arquivos impõe bloqueios de negação de leitura e exclusivos de intervalo de bytes em arquivos em todos os caches e no volume de origem. Se esses bloqueios precisarem ser aplicados estritamente no seu fluxo de trabalho para manter a consistência dos dados ou evitar conflitos de acesso, ative o bloqueio global de arquivos.

Considerações

Ative o bloqueio global de arquivos apenas se você tiver uma conectividade confiável entre o cache e a origem. Conexões instáveis podem atrasar ou suspender modificações ou resultar em tempos limite se os volumes do FlexCache estiverem off-line.

  • Impacto na performance: ativar o bloqueio global de arquivos aumenta a latência porque toda leitura de cache aciona uma solicitação à origem para validação de bloqueio, aumentando o tempo de ida e volta (RTT).

  • Impacto na disponibilidade: se um volume de cache ficar off-line, as leituras dos arquivos dele serão bloqueadas em todos os outros volumes de cache, e as modificações no volume de origem serão suspensas até que todos os volumes do FlexCache voltem a ficar on-line.

Como o bloqueio global de arquivos pode afetar o desempenho e a confiabilidade do sistema, mantenha-o desativado, a menos que seu fluxo de trabalho exija explicitamente.

Notificações de mudança do CIFS

O protocolo SMB oferece um mecanismo para notificar os clientes SMB sobre as mudanças feitas em um volume por outros clientes. Isso permite que aplicativos, como o Windows File Explorer, atualizem as visualizações sem pesquisar o volume. Esse recurso opcional é útil para caches em que usuários interativos acessam arquivos em volumes SMB pelo Windows Explorer. Caso contrário, ele precisa ser desativado para reduzir a carga de notificações.

Pré-preenchimento do cache

O FlexCache acelera o acesso de leitura armazenando em cache os dados na primeira leitura de uma origem e ajuda a garantir a coerência do cache, mantendo a origem e todos os caches sincronizados. Como resultado, o acesso inicial ao arquivo tem desempenho de leitura semelhante à WAN, mas as leituras subsequentes são tão rápidas quanto as leituras locais.

Se você souber quais dados específicos são necessários no cache, use o pré-preenchimento. Com o pré-preenchimento, você instrui o cache a buscar arquivos e pastas específicos antes do primeiro uso para acelerar as leituras no primeiro acesso.

Para iniciar um job de pré-população, forneça ao cache uma lista de caminhos de arquivos ou diretórios. Você também pode ativar a recursão, que pode buscar todo o conteúdo em subdiretórios.

O tempo de execução de uma tarefa de pré-população pode variar dependendo da quantidade de dados a serem pré-populados e da velocidade da rede entre o cache e a origem. Com o FlexCache, é possível monitorar o status de um job de pré-preenchimento, seja ele ainda em execução ou concluído.

A seguir

Planejar volumes do FlexCache.