Visão geral do Cloud Cache

O Cloud Cache é um recurso que funciona com contêineres de Perfil e ODFC para fornecer resiliência e alta disponibilidade. O Cloud Cache usa o contêiner montado localmente para fornecer atualizações periódicas aos provedores de armazenamento remoto. O Cloud Cache foi projetado para isolar os usuários de problemas de armazenamento local intermitentes ou de curto prazo (região interna, proximidade próxima). Com base na configuração, ele também pode ser usado como parte de um plano de continuidade de negócios ou recuperação de desastres (BCDR) ao usar provedores de armazenamento remoto em diferentes regiões. O uso do Cloud Cache coloca um requisito de desempenho e armazenamento na máquina virtual para acomodar as operações de E/S e o armazenamento extras exigidos pelo cache local.

Considerações sobre o Cloud Cache:

  • O Cloud Cache usa provedores de armazenamento com base na ordem das entradas no CCDLocations.
  • Os provedores de armazenamento devem ser listados em ordem de proximidade e, em seguida, de preferência.
  • Apenas um (1) provedor é usado quando os dados são hidratados do provedor de armazenamento.
  • Os dados são gravados em todos os provedores de armazenamento, independentemente de qual provedor é usado durante a hidratação de dados.
  • O desempenho (latência, utilização, afunilamentos) de um provedor de armazenamento afeta seu status de sincronização com a cópia local.
  • Ter um (1) ou mais provedores atrasados em atualizações do cache local pode ser um indicador de um provedor de armazenamento de baixo desempenho.
  • Pingou os resultados de comando não são iguais aos de E/S transacional e são indicadores ruins de como um provedor de armazenamento terá ou Test-NetConnection poderá executar.

Figure 1: Cloud Cache Overview

Figura 1: Diagrama detalhado mostrando os componentes do Cloud Cache

Componentes de cache na nuvem

Cache Local

O Cloud Cache é capaz de isolar um usuário de problemas de conectividade com os provedores de armazenamento remoto porque o contêiner usado para o perfil do usuário é criado e armazenado localmente na máquina virtual (cache local). Durante uma primeira entrada, o FSLogix cria o contêiner para o usuário e C:\ProgramData\FSLogix\Cache monta o contêiner na máquina virtual. Em seguida, o FSLogix configura todos os redirecionamentos necessários para o perfil do usuário. Em seguida, o Serviço de Perfil de Usuário cria o perfil do usuário no cache local. Todos os dados gravados no perfil do usuário são armazenados temporariamente como objetos de cache em nível de bloco no mesmo diretório. Esses objetos de cache em nível de bloco são então confirmados no cache local. Antes que os objetos de cache em nível de bloco sejam criados, as gravações no perfil do usuário são processadas na memória por meio de um arquivo proxy.

Durante uma 2ªou Nª entrada, o FSLogix tenta localizar e montar qualquer VHD(s) de cache local anterior armazenado na máquina virtual. Procurar um cache local é a definição de configuração padrão e pode não ser desejada, pois pode levar a eventos de pouco espaço em disco. Consulte a página de referência de configurações do Cloud Cache para obter mais configurações.

Figure 2: Cloud Cache Local Cache

Figura 2: Cache local do cache na nuvem

Provedores de armazenamento remoto (hidratar, descarregar, clonar)

O Cloud Cache opera o perfil do usuário a partir do cache local durante a sessão do usuário e deve ser configurado com um ou mais provedores de armazenamento remoto, conforme especificado em CCDLocations. Esses provedores de armazenamento remoto armazenam cópias do cache local e são usados durante a sessão atual e para entradas subsequentes. Se todos os provedores ficarem iníntegros durante a sessão do usuário, o cache local continuará a operar e crescerá1 até que um ou mais provedores retornem a um estado íntegro.

1 O cache local só crescerá até o tamanho máximo do contêiner, conforme especificado na SizeInMBs configuração.

Hidrato

Quando o cache local não contém os dados solicitados pelo sistema de arquivos, o Cloud Cache hidrata (lê e copia) os dados de 1 dos provedores de armazenamento remoto para o cache local. Essa operação também faz parte do processo de entrada ao preencher o cache local do perfil do usuário.

Liberar

A operação de descarga geralmente ocorre de três maneiras.

  1. Em uma operação assíncrona preguiçosa, o Cloud Cache libera as alterações para todos os provedores de armazenamento simultaneamente à medida que cada provedor é liberado em seu próprio thread. O FSLogix não limita essa operação e utiliza a taxa de transferência que o sistema permitir.
  2. Durante o logout, quando um ou mais provedores não contêm todas as atualizações, o logout do usuário é adiado2 até que todos os provedores estejam na mesma sequência.
  3. Durante a sessão de um usuário, quando a conexão com qualquer provedor de armazenamento não está íntegra, o FSLogix coloca todas as alterações em fila e, em seguida, as libera para os provedores quando eles retornam a um estado íntegro.

2 A saída de um usuário é atrasada com base em como o Cloud Cache é configurado usando o HealthyProvidersRequiredForUnregister valor.

Clone

Um clone VHD(x) completo é executado quando o Cloud Cache determina, ao entrar, que um provedor de armazenamento não está na mesma sequência. Durante essa operação, todas as gravações pendentes são mantidas no cache local até que todos os provedores de armazenamento estejam na mesma sequência. Uma vez concluída, a operação de liberação começa a enviar novos dados para os provedores de armazenamento.

Indexação (cache de gravação cronometrado)

Cloud Caches faz uso de indexação dentro do cache local. Cache de gravação temporizada, são arquivos que representam gravações que ainda não foram confirmadas no cache local. Esses arquivos são anotados usando uma extensão numérica. Depois que o índice for confirmado no cache local, ele será convertido em um objeto de cache.

Os arquivos de índice devem ser considerados sempre que uma máquina virtual for desligada ou reinicializada inesperadamente. Esses arquivos representariam dados que não foram confirmados no cache local e poderiam levar à perda de dados; na pior das hipóteses, um contêiner corrompido. Em ambientes não persistentes ou de várias sessões, uma vez que uma máquina virtual se recupera do evento inesperado, o usuário normalmente não se conecta à mesma máquina virtual. Nesses casos, os dados que não foram devidamente confirmados e liberados para os provedores de armazenamento podem ser perdidos e levar a um problema com o contêiner de perfil de usuários.

Arquivo de Proxy

O Cloud Cache usa o conceito de um arquivo proxy, representado como Profile_%username%.vhd se não fosse um arquivo VHD verdadeiro. O arquivo proxy é usado como um meio para coletar e processar todas as gravações de E/S destinadas ao cache local. As gravações de E/S são armazenadas em buffer na memória e rastreadas por meio do arquivo proxy antes de serem gravadas como objetos de cache em nível de bloco no diretório de cache. Embora o arquivo proxy tenha o mesmo tamanho que o arquivo de cache local, o tamanho real no disco é zero, pois nenhum dado é gravado nesse arquivo.

Figure 3: Cloud Cache Proxy File

Figura 3: Arquivo de proxy do cache na nuvem

Arquivos auxiliares

O Cloud Cache faz uso de dois (2) arquivos auxiliares para manter o controle e a sequência do cache local.

Observação

Esses arquivos auxiliares são usados pela FSLogix e não devem ser abertos ou usados fora do produto. Qualquer informação relevante nesses arquivos será disponibilizada através de nossos arquivos de log ou entradas de log de eventos.

Bloquear arquivo

O arquivo de bloqueio é o que seu nome pode implicar, um arquivo usado para determinar qual máquina virtual tem um bloqueio de E/S no contêiner. O Cloud Cache usa essas informações para determinar a propriedade do contêiner de um determinado provedor. O mecanismo de bloqueio de arquivo é crítico ao usar o Cloud Cache com ProfileType definido como '3' (sessões múltiplas ou simultâneas).

Arquivo Meta

O meta file é um arquivo multiuso onde rastreamos o estado do contêiner. Dentro do metaarquivo, o Cloud Cache usa um sistema de numeração de sequência para determinar qual provedor tem os dados mais recentes.

Provedores de armazenamento

O FSLogix não é um provedor de armazenamento, mas confiamos na arquitetura subjacente do(s) provedor(es) de armazenamento. Para obter mais informações sobre os provedores de armazenamento compatíveis com a FSLogix, consulte nossas Opções de armazenamento de contêiner.

Próximas etapas