Compartilhar via


Visão geral do Cache de Nuvem

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

Considerações sobre o Cache de Nuvem:

  • O Cache de Nuvem usa provedores de armazenamento com base na ordem das entradas em CCDLocations.
  • Os provedores de armazenamento devem ser listados por ordem de proximidade e preferência.
  • Somente um (1) provedor é usado quando os dados são carregados do provedor de armazenamento.
  • Os dados são gravados em todos os provedores de armazenamento, independentemente de qual provedor seja usado durante a hidratação de dados.
  • O desempenho (latência, utilização, gargalos) 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 com baixo desempenho.
  • Ping ou Test-NetConnection os resultados de comando não são iguais à E/S transacional e são indicadores incorretos de como um provedor de armazenamento vai ou pode executar.

Figura 1: Visão geral do Cache de Nuvem

Figura 1: Diagrama detalhado mostrando componentes do Cache de Nuvem

Componentes do Cache de Nuvem

Cache Local

O Cache de Nuvem é capaz de isolar um usuário de problemas de conectividade para os provedores de armazenamento remoto porque o contêiner usado para o perfil do usuário é criado e armazenado localmente para a máquina virtual (cache local). Durante o primeiro acesso, o FSLogix cria o contêiner para o usuário em C:\ProgramData\FSLogix\Cache e armazena dados lidos do provedor de armazenamento remoto e dados gravados do computador local. 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.

Durante uma 2ª ou Nª vez de entrada, FSLogix tenta localizar e montar quaisquer VHDs de cache locais anteriores armazenados na máquina virtual. Procurar um cache local é a configuração padrão e pode não ser desejada, pois pode levar a eventos de espaço em disco baixo. Examine a página de referência de configurações do Cache de Nuvem para obter mais configurações. Se nenhum VHD(s) de cache local existir, um arquivo proxy será registrado e um VHD de cache local será criado. Em seguida, o FSLogix configurará os redirecionamentos necessários para o perfil do usuário. Por fim, o FSLogix usará um (1) dos provedores de armazenamento remoto como a fonte de leitura para preencher o cache local, conforme solicitado pelo sistema operacional durante o processo de entrada para concluir a entrada.

Objetos de cache

Arquivos de fila

Os *.queue arquivos são criados para cada provedor de armazenamento remoto. Cada *.queue arquivo acompanhará os vários *.index arquivos que não foram liberados para o cache local ou provedores de armazenamento remoto.

Arquivos de índice

Os *.index arquivos contêm lotes de alterações de nível de bloco que precisam ser gravadas no cache local e em provedores de armazenamento remoto.

Figura 2: Cache Local da Nuvem

Figura 2: Cache Local em Nuvem

Provedores de Armazenamento Remoto (hidratar, liberar, clonar)

O Cache de Nuvem opera o perfil do usuário 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 completas do cache local e são usados durante a sessão atual e para logins subsequentes. Se todos os provedores ficarem inoperantes durante a sessão do usuário, o cache local continuará operando e crescerá até que um ou mais provedores retornem a um estado saudável.

Aviso

Se uma leitura for solicitada do perfil do usuário e o Cache de Nuvem não conseguir hidratar os dados de nenhum dos provedores de armazenamento remoto, isso causará um travamento de sessão ou pior um BSOD (falha do sistema).

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

Hidratar

Quando o cache local não contém os dados solicitados pelo sistema de arquivos, o Cache de Nuvem 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 para o perfil do usuário.

Flush

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

  1. Em uma operação assíncrona lenta, o Cache de Nuvem 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 tanta taxa de transferência quanto o sistema permitirá.
  2. Durante a saída, quando um ou mais provedores não contêm todas as atualizações, a saída do usuário é atrasada2 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 se torna instável, o FSLogix enfileira todas as alterações e as aplica aos provedores quando eles retornam a um estado estável.

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

Clone

Um clone VHD(x) completo é executado quando o Cache de Nuvem determina, na entrada, 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 limpeza começa a enviar novos dados para os provedores de armazenamento.

Arquivo de Proxy

O Cache de Nuvem usa o conceito de um arquivo proxy, representado como Profile_%username%.vhd se não fosse um arquivo VHD verdadeiro. O arquivo proxy é montado no computador local como o VHD registrado que representa o contêiner do usuário. O arquivo proxy é usado como um meio de processar todas as gravações de E/S destinadas ao cache local. Isso inclui dados ausentes no cache local que são obtidos de um provedor de armazenamento remoto. As gravações de E/S são armazenadas em buffer no disco e monitoradas pelo arquivo proxy antes de serem gravadas como objetos de cache *.index no diretório de cache. Embora o arquivo proxy tenha o mesmo tamanho do arquivo de cache local, o tamanho real no disco é zero, pois nenhum dado é gravado nesse arquivo.

Figura 3: Arquivo proxy de cache de nuvem

Figura 3: Arquivo proxy do cache de nuvem

Arquivos auxiliares

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

Observação

Esses arquivos auxiliares são usados pelo FSLogix e não devem ser abertos ou usados fora do produto. Todas as informações relevantes nesses arquivos serão disponibilizadas por meio de nossos arquivos de log ou entradas de log de eventos.

Arquivo de bloqueio

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 Cache de Nuvem usa essas informações para determinar a propriedade do contêiner para um determinado provedor. O mecanismo de arquivo de bloqueio é crítico ao usar o Cache de Nuvem com ProfileType definido como '3' (Várias ou sessões simultâneas). Esse arquivo só existe nos provedores de armazenamento remoto.

Meta-arquivo

O arquivo meta é um arquivo de várias finalidades em que controlamos o estado do contêiner. Dentro do meta arquivo, o Cache de Nuvem usa um sistema de numeração de sequência para determinar qual provedor tem os dados mais recentes. Esse arquivo é local para a máquina virtual e sincronizado com os provedores de armazenamento remoto.

Provedores de armazenamento

O FSLogix não é um provedor de armazenamento, em vez disso, dependemos da arquitetura subjacente dos provedores de armazenamento. Para obter mais informações sobre os provedores de armazenamento compatíveis com o FSLogix, examine nossas Opções de Armazenamento de Contêiner.

Próximas etapas