Vista geral da FlexCache

Esta página fornece uma vista geral da funcionalidade FlexCache.

Acerca da FlexCache

O NetApp FlexCache acelera o acesso aos dados, reduz a latência da WAN e diminui os custos de largura de banda da WAN para cargas de trabalho com leitura intensiva, especialmente quando os clientes acedem repetidamente aos mesmos dados. Quando cria um volume FlexCache, este funciona como uma cache remota de um volume existente (de origem). Esta cache armazena apenas dados ativos acedidos frequentemente do volume de origem.

Quando um volume FlexCache recebe um pedido de leitura de dados populares que contém, responde mais rapidamente do que o volume de origem porque os dados têm uma distância mais curta a percorrer até ao cliente. Se um volume da FlexCache receber um pedido de leitura de dados frios acedidos com pouca frequência, este obtém os dados necessários do volume de origem, armazena-os e, em seguida, processa o pedido do cliente. Os pedidos de leitura subsequentes desses dados são, em seguida, publicados diretamente a partir do volume da FlexCache. Após o primeiro pedido, os dados já não precisam de viajar pela rede nem de ser fornecidos a partir de um sistema com muita carga.

Embora as aplicações possam escrever num volume FlexCache, estas escritas são enviadas para o volume de origem para manter a coerência da cache.

A integração do FlexCache com os volumes NetApp do Google Cloud permite-lhe aprovisionar volumes de cache na sua rede Google para melhorar o desempenho dos ambientes de nuvem híbrida. Esta funcionalidade suporta a transição de cargas de trabalho para a nuvem híbrida através da colocação em cache de dados de um centro de dados nas instalações para a nuvem.

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

A FlexCache tem as seguintes características:

Comportamento de escrita

O FlexCache garante que os dados que lê a partir da origem ou de qualquer uma das respetivas caches estão sempre atualizados. Para gerir escritas em ambientes onde os dados podem ser escritos na origem ou em qualquer cache, o FlexCache oferece as seguintes estratégias para processar estas operações de escrita.

Write-around

A gravação indireta é a predefinição da cache. É recomendado para ambientes com cargas de trabalho de leitura intensiva ou onde apenas são escritos ficheiros pequenos.

Quando os dados são gravados num volume FlexCache, a operação de gravação é transmitida para o volume de origem. A cache confirma a gravação assim que a origem a confirma. A escrita num ficheiro invalida a respetiva cópia em cache, e a cache volta a obtê-la no acesso seguinte.

Esta estratégia oferece uma latência de leitura semelhante à de uma LAN para dados em cache. No entanto, o débito de gravação depende da ligação de rede à origem. Se a rede entre a origem e uma cache falhar, os utilizadores continuam a poder aceder aos dados na cache.

Gravação

A gravação de volta só é adequada para cargas de trabalho específicas. Oferece uma velocidade de escrita rápida para escritas pesadas em ficheiros grandes. A gravação de volta não é recomendada para cargas de trabalho com muitas gravações pequenas em vários ficheiros, porque a sobrecarga da gestão da consistência dos dados entre a origem e todas as caches reduz significativamente o desempenho.

Antes de ativar a gravação de volta para a FlexCache, reveja primeiro as diretrizes de gravação de volta da ONTAP FlexCache, compreenda as implicações da arquitetura e verifique se o seu ambiente corresponde ao perfil de carga de trabalho documentado. A opção de gravação indireta é a opção recomendada, a menos que possa validar se a sua carga de trabalho é adequada para a gravação direta.

Os utilizadores podem ativar opcionalmente o suporte de gravação de volta. Quando a gravação de volta está ativada, os clientes podem escrever grandes quantidades de dados numa cache com um desempenho semelhante ao de uma LAN. Em seguida, a cache envia estas alterações à origem. Uma vez que a velocidade de gravação de um cliente na cache pode exceder a taxa à qual os dados são enviados para a origem, a cache armazena temporariamente as alterações até serem totalmente esvaziadas para a origem. Durante o período em que um cliente está a escrever num ficheiro, a origem e todas as outras caches bloqueiam as chamadas de leitura para esse ficheiro até que a operação de escrita seja concluída.

A estratégia de gravação direta oferece um desempenho de leitura e gravação semelhante ao de uma LAN para dados em cache. No entanto, se as caches ou a origem perderem a conetividade, todas as operações de leitura e escrita são bloqueadas.

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

O ONTAP fornece um campo ao nível do volume denominado -atime-update para gerir as atualizações da hora de acesso em ficheiros e diretórios que são lidos através de READ, READLINK e READDIR.

As atualizações da hora de acesso nos volumes de origem ou de cache podem acionar invalidações de ficheiros que reduzem a eficácia da cache e causam um desempenho lento e uma latência elevada para o acesso a ficheiros. Para evitar esta situação, desative as atualizações da hora de acesso no volume de origem através do comando volume modify -atime-update do ONTAP. Nos cenários em que precisa de tempo de acesso para refletir leituras recentes, use o comando volume modify -atime-update-period para definir um período durante o qual as atualizações do tempo de acesso são interrompidas. Por exemplo, se o definir para 86400 segundos, a hora de acesso só é atualizada uma vez por dia.

Os volumes FlexCache nos volumes NetApp herdam a definição -atime-update da origem, o que pode aumentar as invalidações da cache. Por conseguinte, recomendamos que desative as atualizações da hora de acesso no volume de origem.

Bloqueio de ficheiros global

O bloqueio de ficheiros global aplica bloqueios de leitura recusada e de intervalo de bytes exclusivos em ficheiros em todas as caches e no volume de origem. Se estes bloqueios tiverem de ser rigorosamente aplicados no seu fluxo de trabalho para manter a consistência dos dados ou evitar conflitos de acesso, ative o bloqueio de ficheiros global.

Considerações

Ative o bloqueio de ficheiros global apenas se tiver uma ligação fiável entre a cache e a origem. As ligações instáveis podem atrasar ou suspender as modificações, ou resultar em tempos limite se os volumes FlexCache estiverem offline.

  • Impacto no desempenho: a ativação do bloqueio de ficheiros global aumenta a latência porque cada leitura da cache aciona um pedido à origem para validação do bloqueio, aumentando o tempo de ida e volta (RTT).

  • Impacto na disponibilidade: se um volume de cache ficar offline, as leituras dos respetivos ficheiros são bloqueadas em todos os outros volumes de cache, e as modificações ao volume de origem são suspensas até que todos os volumes do FlexCache voltem a ficar online.

Uma vez que o bloqueio de ficheiros global pode afetar o desempenho e a fiabilidade do sistema, mantenha-o desativado, a menos que o seu fluxo de trabalho o exija explicitamente.

Notificações de alterações do CIFS

O protocolo SMB fornece um mecanismo para notificar os clientes SMB de alterações feitas a um volume por outros clientes. Isto permite que as aplicações, como o Explorador de ficheiros do Windows, atualizem as respetivas vistas sem sondar o volume. Esta funcionalidade opcional é útil para caches em que os utilizadores interativos acedem a ficheiros em volumes SMB através do Explorador do Windows. Caso contrário, deve ser desativada para reduzir a carga de notificações.

Pré-preenchimento da cache

A FlexCache acelera o acesso de leitura ao colocar dados em cache na primeira leitura a partir de uma origem e ajuda a garantir a coerência da cache, mantendo a origem e todas as caches sincronizadas. Como resultado, o acesso inicial aos ficheiros tem um desempenho de leitura semelhante ao de uma WAN, mas as leituras subsequentes são tão rápidas quanto as leituras locais.

Se souber que dados específicos são necessários na cache, pode usar o pré-enchimento da cache. O preenchimento prévio permite-lhe dar instruções à cache para obter ficheiros e pastas específicos antes da primeira utilização, de modo a acelerar as leituras no primeiro acesso.

Para iniciar uma tarefa de pré-preenchimento, tem de fornecer à cache uma lista de caminhos de ficheiros ou diretórios. Também tem a opção de ativar a recursão, que pode obter todo o conteúdo nos subdiretórios.

O tempo de execução de uma tarefa de pré-preenchimento pode variar consoante a quantidade de dados a pré-preencher e a velocidade da rede entre a cache e a origem. A FlexCache permite-lhe monitorizar o estado de uma tarefa de pré-preenchimento, quer ainda esteja em execução ou tenha sido concluída.

O que se segue?

Planeie volumes FlexCache.