Citrix DaaS

Cache do host local

O Cache do host local permite que as operações de intermediação de conexão em uma implantação do Citrix DaaS (anteriormente Citrix Virtual Apps and Desktops Service) continuem quando um Cloud Connector não pode se comunicar com o Citrix Cloud. O Cache de host local é ativado quando a conexão de rede é perdida por 60 segundos.

Com o Cache de host local, os usuários que estão conectados quando ocorre uma interrupção podem continuar trabalhando sem interrupções. Reconexões e novas conexões sofrem atrasos mínimos de conexão.

Importante:

O Cache de host local requer um StoreFront local implantado pelo cliente como parte da implantação. Você deve adicionar todos os Cloud Connectors que têm (ou podem ter) VDAs registrados com eles ao StoreFront como Delivery Controllers. Um Cloud Connector que não é adicionado ao StoreFront não pode fazer a transição para o modo de interrupção, o que pode resultar em falhas de inicialização do usuário.

Para implantações sem o StoreFront local, use o recurso da plataforma de espaço de trabalho Citrix de continuidade de serviço para permitir que os usuários se conectem a recursos durante interrupções. Para obter mais informações, consulte Continuidade do serviço.

Conteúdo de dados

O Cache de host local inclui as seguintes informações, que são um subconjunto das informações no banco de dados principal:

  • Identidades de usuários e grupos que têm direitos aos recursos publicados no site.
  • Identidades de usuários que estão usando atualmente, ou que usaram recentemente, recursos publicados no site.
  • Identidades de máquinas VDA (incluindo máquinas Remote PC Access) configuradas no site.
  • Identidades (nomes e endereços IP) de máquinas cliente do aplicativo Citrix Workspace que estão sendo usadas ativamente para a conexão a recursos publicados.

Ele também contém informações para conexões atualmente ativas que foram estabelecidas enquanto o banco de dados principal estava indisponível:

  • Resultados análises de ponto de extremidade de máquina cliente realizadas pelo aplicativo Citrix Workspace.
  • Identidades de máquinas de infraestrutura (como servidores Citrix Gateway e StoreFront) envolvidas em operações do site.
  • Data, hora e tipo das atividades recentes dos usuários.

Como funciona

Veja como o Cache do host local interage com o Citrix Cloud.

Durante as operações normais

Imagem das operações normais

  • O Brokering Principal (também conhecido como Citrix Remote Broker Provider Service) em um Cloud Connector aceita solicitações de conexão do StoreFront. O Brokering Principal se comunica com o Citrix Cloud para conectar usuários com VDAs registrados no Cloud Connector.
  • O Citrix Config Synchronizer Service (CSS) consulta o agente no Citrix Cloud a cada minuto, aproximadamente, para ver se foi feita alguma alteração na configuração. As alterações podem ser iniciadas pelo administrador (como alterar uma propriedade de grupo de entrega) ou podem ser ações do sistema (como atribuições de máquina).
  • Se uma alteração de configuração tiver ocorrido desde a verificação anterior, o CSS sincroniza (copia) as informações com um agente secundário no Cloud Connector. (O agente secundário também é conhecido como Serviço de Alta Disponibilidade, corretor de HA ou agente de HA, conforme mostra a figura anterior.)

    Todos os dados de configuração são copiados, não apenas os itens que foram alterados desde a verificação anterior. O CSS importa os dados de configuração para um banco de dados do Microsoft SQL Server Express LocalDB no Cloud Connector. Esse banco de dados é referido como o banco de dados do cache de host local. O CSS garante que as informações no banco de dados do Cache de host local correspondam às informações no banco de dados do site no Citrix Cloud. O banco de dados do cache de host local é recriado toda vez que a sincronização ocorre.

    O Microsoft SQL Server Express LocalDB (usado pelo banco de dados do Cache de host local) é instalado automaticamente quando você instala um Cloud Connector. O banco de dados do Cache de host local não pode ser compartilhado entre os Cloud Connectors. Você não precisa fazer backup do banco de dados do cache de host local. Ele é recriado toda vez que uma alteração de configuração é detectada.

  • Se nenhuma alteração ocorreu desde a última verificação, os dados de configuração não são copiados.

Durante uma interrupção

Imagem da interrupção

Quando uma interrupção começa:

  • O agente secundário começa a escutar e processar as solicitações de conexão.
  • Quando a interrupção começa, o agente secundário não tem dados de registro do VDA atuais, mas quando o VDA se comunica com ele, um processo de registro é disparado. Durante esse processo, o agente secundário também obtém as informações de sessão atuais sobre o VDA.
  • Enquanto o agente secundário está lidando com as conexões, o Brokering Principal continua a monitorar a conexão ao Citrix Cloud. Quando a conexão é restaurada, o Brokering Principal instrui o agente secundário a parar de escutar informações de conexão, e o Brokering Principal retoma as operações de intermediação. A próxima vez que um VDA se comunicar com o Brokering Principal, um processo de registro é disparado. O agente secundário remove quaisquer registros de VDA restantes da interrupção anterior. O CSS retoma a sincronização de informações quando detecta que ocorreram alterações de configuração no Citrix Cloud.

No caso improvável de uma interrupção começar durante uma sincronização, a importação atual é descartada e a última configuração conhecida é usada.

O log do evento indica quando ocorrem sincronizações e interrupções.

Não há limite de tempo imposto para operar no modo de interrupção.

Você também pode disparar uma interrupção intencionalmente. Consulte Forçar uma interrupção para obter detalhes sobre por que e como fazer isso.

Locais de recursos com vários Cloud Connectors

Entre suas outras tarefas, o CSS fornece rotineiramente ao agente secundário informações sobre todos os Cloud Connectors no local do recurso. Com essas informações, cada agente secundário sabe sobre todos os agentes secundários de mesmo nível em execução em outros Cloud Connectors no local do recurso.

Os agentes secundários comunicam-se uns com os outros em um canal separado. Esses agentes usam uma lista alfabética de nomes FQDN das máquinas em que estão sendo executados para determinar (eleger) qual agente secundário intermediará as operações na zona se ocorrer uma interrupção. Durante a interrupção, todos os VDAs se registram novamente no agente secundário eleito. Os agentes secundários não eleitos na zona rejeitam ativamente as solicitações de entrada de conexão e registro de VDA.

Se um agente secundário eleito falhar durante uma interrupção, outro agente secundário é eleito para assumir o controle, e os VDAs se registram no agente secundário recém-eleito.

Durante uma interrupção, se um Cloud Connector for reiniciado:

  • Se esse Cloud Connector não for o agente eleito, a reinicialização não terá impacto.
  • Se esse Cloud Connector for o agente eleito, um Cloud Connector diferente será escolhido, fazendo com que os VDAs se registrem. Depois que o Cloud Connector reiniciado liga, ele assume automaticamente a intermediação, o que faz com que os VDAs se registrem novamente. Nesse cenário, o desempenho pode ser afetado durante os registros.

O log do evento fornece informações sobre as escolhas.

O que não está disponível durante uma interrupção e outras diferenças

Não há limite de tempo imposto para operar no modo de interrupção. No entanto, se a interrupção ocorrer devido à perda da conectividade do Citrix Cloud do local do recurso, a Citrix recomenda restaurar a conectividade do local do recurso o mais rápido possível.

Durante uma interrupção:

  • Você não pode usar as interfaces Manage.
  • Você tem acesso limitado ao Remote PowerShell SDK.

    • Você deve primeiro:
      • Adicionar uma chave de registro EnableCssTestMode com um valor de 1: New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTestMode -PropertyType DWORD -Value 1
      • Definir a autenticação do SDK como OnPrem para que o proxy do SDK não tente redirecionar as chamadas do cmdlet: $XDSDKAuth="OnPrem"
      • Usar a porta 89: Get-BrokerMachine -AdminAddress localhost:89 | Select MachineName, ContollerDNSName, DesktopGroupName, RegistrationState
    • Depois de executar esses comandos, você pode acessar:
      • Todos os cmdlets Get-Broker*.
      • Os cmdlets de gerenciamento de energia New-BrokerHostingPowerAction, Set-BrokerHostingPowerAction e Remove-BrokerHostingPowerAction.
  • Os dados de monitoramento não são enviados para o Citrix Cloud durante uma interrupção. Portanto, as funções Monitor não mostram a atividade de um intervalo de interrupção.
  • As credenciais do Hypervisor não podem ser obtidas do Host Service. Todas as máquinas estão em um estado de energia desconhecido e nenhuma operação de energia pode ser emitida. No entanto, as VMs no host que estão ligadas podem ser usadas para solicitações de conexão.

    (Preview. Para obter instruções, consulte esta postagem do blog.) Exceções somente para hipervisores Citrix Hypervisor e VMware compatíveis:

    • As credenciais do hipervisor são sincronizadas antes da interrupção e armazenadas com segurança no Cloud Connector.
    • As máquinas virtuais de hipervisores locais têm o estado de energia mais recente no banco de dados do Cache de host local.
    • As ações de energia suportadas pelo hipervisor estão disponíveis durante o modo de interrupção. As máquinas virtuais ligadas podem ser usadas para solicitações de conexão.
    • As máquinas virtuais no hipervisor podem ser ligadas sob demanda automaticamente durante a inicialização da sessão.
  • Uma máquina atribuída só pode ser usada se a atribuição ocorreu durante as operações normais. Novas atribuições não podem ser feitas durante uma interrupção.
  • O registro e a configuração automática de máquinas Remote PC Access não são possíveis. No entanto, as máquinas que foram registradas e configuradas durante a operação normal são utilizáveis.
  • Aplicativos hospedados no servidor e usuários de área de trabalho podem usar mais sessões do que seus limites de sessão configurados, se os recursos estiverem em zonas diferentes.
  • Os usuários podem iniciar aplicativos e áreas de trabalho somente a partir de VDAs registrados na zona que contém o agente eleito/ativo atualmente. As inicializações entre zonas (de um agente em uma zona para um VDA em uma zona diferente) não são suportadas durante uma interrupção.
  • Se uma interrupção do banco de dados do site ocorrer antes de uma reinicialização programada começar para os VDAs em um grupo de entrega, as reinicializações começam quando a interrupção termina. Esse cenário pode ter resultados inesperados. Para obter mais informações, consulte Reinicializações agendadas atrasadas devido à interrupção do banco de dados.
  • A preferência de zona não pode ser configurada. Se configuradas, as preferências não serão consideradas na inicialização da sessão.
  • As restrições de marcas, em que as marcas são usadas para designar locais de recursos, não são suportadas no início de sessão. Quando tais restrições de marca são configuradas e a opção advanced health check de uma loja do StoreFront está habilitada, as sessões podem falhar intermitentemente na inicialização.

Requisito do StoreFront

O Cache de host local requer um StoreFront local implantado pelo cliente como parte da implantação. Você deve adicionar todos os Cloud Connectors que têm (ou podem ter) VDAs registrados com eles ao StoreFront como Delivery Controllers. Um Cloud Connector que não é adicionado ao StoreFront não pode fazer a transição para o modo de interrupção, o que pode resultar em falhas de inicialização do usuário.

Disponibilidade de recursos

Você pode garantir a disponibilidade de recursos (aplicativos e áreas de trabalho) durante uma interrupção de duas maneiras:

  • Publique os recursos em cada local de recurso em sua implantação.
  • Publique os recursos em pelo menos um local de recurso. Em seguida, use o procedimento a seguir para ativar o recurso de verificação de integridade avançada em cada loja do StoreFront.

    1. Atualize a instalação do StoreFront em cada local de recurso para a versão mínima 1912 CU1. Para obter orientação, consulte a documentação do StoreFront.
    2. Para cada loja do StoreFront, ative a opção advanced health check. No arquivo web.config da loja, em farmsets, adicione advancedHealthCheck="on".

      Exemplo da opção:

      Verificação de integridade avançada do StoreFront

    3. Depois de atualizar o arquivo, reinicie manualmente o IIS. Repita a atualização do arquivo web.config e a reinicialização do IIS para as outras lojas.

Suporte a aplicativos e áreas de trabalho

O cache do host local funciona somente com o StoreFront implantado pelo cliente. Ele não é compatível com espaço de trabalho.

O cache de host local oferece suporte a aplicativos e áreas de trabalho hospedados em servidor e a áreas de trabalho estáticas (atribuídas).

O cache de host local oferece suporte a VDAs de área de trabalho (sessão única) em grupos de entrega em pool, como se segue.

  • Por padrão, os VDAs de áreas de trabalho com gerenciamento de energia em grupos de entrega em pool (criados pelo MCS ou Citrix Provisioning) que têm a propriedade ShutdownDesktopsAfterUse ativada são colocados no modo de manutenção quando ocorre uma interrupção. Você pode alterar esse padrão, para permitir que essas áreas de trabalho sejam usadas durante uma interrupção.

    No entanto, você não pode contar necessariamente com o gerenciamento de energia durante a interrupção. (O gerenciamento de energia é retomado depois das operações normais serem retomadas.) Além disso, essas áreas de trabalho podem conter dados do usuário anterior, porque não foram reiniciadas.

  • Para substituir o comportamento padrão, ele deve ser ativado em todo o site e em cada grupo de entrega afetado usando os comandos do PowerShell.

    Para todo o site, execute o seguinte comando:

    Set-BrokerSite -ReuseMachinesWithoutShutdownInOutageAllowed $true

    Por padrão, nenhum dos grupos de entrega está habilitado para esse recurso. Há duas opções para ativá-los no nível do grupo de entrega:

    • Habilitar para os grupos de entrega selecionados: para cada grupo de entrega afetado, execute o seguinte comando.

      Set-BrokerDesktopGroup -Name "name" -ReuseMachinesWithoutShutdownInOutage $true

    • Habilitar para todos os grupos de entrega: para habilitar a configuração do nível do grupo de entrega por padrão, execute o seguinte comando. Essa configuração se aplica a todos os grupos de entrega recém-criados (ou seja, todos os grupos de entrega criados após habilitar a configuração).

      Set-BrokerSite -DefaultReuseMachinesWithoutShutdownInOutage $true

      Para habilitar isso para grupos de entrega existentes, execute o comando observado anteriormente (Set-BrokerDesktopGroup -Name "name" -ReuseMachinesWithoutShutdownInOutage $true).

    Ativar esse recurso no site e nos grupos de entrega não afeta como a propriedade configurada ShutdownDesktopsAfterUse funciona durante as operações normais.

Diferenças das versões do XenApp 6.x

Embora essa implementação do Cache de host local compartilhe o nome do recurso Cache de host local no XenApp 6.x e versões anteriores do XenApp, esse Cache de host local é tecnicamente uma implementação totalmente diferente. Essa implementação tem melhorias significativas, é mais robusta, é mais imune à corrupção e requer menos manutenção.

Gerenciar cache de host local

Veja como configurar o Cache de host local.

Na implantação do Citrix DaaS, o Cache do host local está sempre ativado. Você não precisa fazer mais nada para configurá-lo ou gerenciá-lo.

Conforme observado anteriormente, o banco de dados Microsoft SQL Server Express LocalDB é instalado automaticamente quando você instala um Cloud Connector em um local de recurso. Não tente desativá-lo ou removê-lo. A Citrix atualiza o Cloud Connector regularmente. Se você desabilitar ou remover o software SQL Server Express LocalDB manualmente, a próxima atualização do Cloud Connector o substituirá.

Verificar se o Cache de Host Local está funcionando

Veja como verificar se o Cache do Host Local está configurado corretamente.

Para verificar se o Cache de Host Local está configurado e funcionando corretamente:

  • Verifique se o local do recurso contém um StoreFront local que aponta para todos os Cloud Connectors nesse local de recurso.
  • Certifique-se de que as importações de sincronização sejam concluídas com êxito. Verifique os logs de eventos.
  • Certifique-se de que o banco de dados de Cache de host local foi criado em cada Cloud Connector. Isso confirma que o serviço de alta disponibilidade pode assumir o controle, se necessário.
    • No servidor do Cloud Connector, navegue até c:\Windows\ServiceProfiles\NetworkService.
    • Confirme que HaDatabaseName.mdf e HaDatabaseName_log.ldf foram criados.
  • Force uma interrupção em todos os Cloud Connectors no local do recurso. Depois de verificar se o Cache de Host Local funciona, lembre-se de colocar todos os Cloud Connectors de volta no modo normal. Isso pode levar aproximadamente 15 minutos.

Logs de eventos

Os logs de eventos indicam quando ocorrem sincronizações e interrupções. Nos logs do visualizador do evento, o modo da interrupção é referido como HA mode.

Config Synchronizer Service

Durante as operações normais, os seguintes eventos podem ocorrer quando o CSS importa os dados de configuração para o banco de dados do Cache de Host Local usando o agente de cache de host local.

  • 503: o Citrix Config Sync Service recebeu uma configuração atualizada. Esse evento ocorre sempre que uma configuração atualizada é recebida do Citrix Cloud. Ele indica o início do processo de sincronização.
  • 504: o Citrix Config Sync Service importou uma configuração atualizada. A importação da configuração foi concluída com sucesso.
  • 505: o Citrix Config Sync Service falhou na importação. A importação da configuração não foi concluída com sucesso. Se uma configuração anteriormente bem-sucedida estiver disponível, ela será usada se ocorrer uma interrupção. No entanto, ela não estará atualizada com a configuração atual. Se não houver nenhuma configuração anterior disponível, o serviço não poderá participar da intermediação de sessão durante uma interrupção. Nesse caso, consulte a seção de Resolução de problemas e entre em contato com o Suporte Citrix.
  • 507: o Citrix Config Sync Service abandonou uma importação porque o sistema está no modo de interrupção e o agente de cache de host local está sendo usado para a intermediação. O serviço recebeu uma nova configuração, mas a importação foi abandonada porque ocorreu uma interrupção. Esse é o comportamento esperado.
  • 510: não há dados de configuração do Configuration Service recebidos do Configuration Service principal.
  • 517: houve um problema de comunicação com o agente primário.
  • 518: script Config Sync anulado porque o agente secundário (High Availability Service) não está em execução.

High Availability Service

Este serviço também é conhecido como agente de cache de host local.

  • 3502: ocorreu uma interrupção e o agente de cache de host local está executando operações do agente.
  • 3503: uma interrupção foi resolvida e as operações normais foram retomadas.
  • 3504: indica qual agente de Cache de Host Local é eleito, além de outros agentes de Cache de Host Local envolvidos na eleição.

Forçar uma interrupção

Você pode, deliberadamente, forçar uma interrupção.

  • Se a operação da sua rede é interrompida repetidamente. Forçar uma interrupção até que os problemas de rede sejam resolvidos evita a transição contínua entre os modos normal e de interrupção (e as tempestades de registros de VDA frequentes resultantes).
  • Para testar um plano de recuperação de desastres.
  • Para ajudar a garantir que o Cache de Host Local está funcionando corretamente.

Embora um Cloud Connector possa ser atualizado durante uma interrupção forçada, problemas imprevistos podem ocorrer. Recomendamos que você defina uma programação para atualizações do Cloud Connector que evite intervalos de modo de interrupção forçada.

Para forçar uma interrupção, edite o registro de cada servidor do Cloud Connector. Em HKLM\Software\Citrix\DesktopServer\LHC, crie e defina OutageModeForced como REG_DWORD para 1. Essa configuração instrui o agente de cache do host local a entrar no modo de interrupção, independentemente do estado da conexão com o Citrix Cloud. Definir o valor para 0 retira o agente de Cache de Host Local do modo de interrupção.

Para verificar eventos, monitore o arquivo de log Current_HighAvailabilityService em C:\ProgramData\Citrix\workspaceCloud\Logs\Plugins\HighAvailabilityService.

Solução de problemas

Várias ferramentas de solução de problemas estão disponíveis quando uma importação de sincronização para o banco de dados do Cache de Host Local falha e um evento 505 é publicado.

CDF tracing: contém opções para os módulos ConfigSyncServer e BrokerLHC. Essas opções, juntamente com outros módulos de agentes, podem identificar o problema.

Report: se uma importação de sincronização falhar, você pode gerar um relatório. Esse relatório para no objeto que está causando o erro. Esse recurso de relatório afeta a velocidade de sincronização, portanto, a Citrix recomenda desativá-lo quando não estiver em uso.

Para ativar e produzir um relatório de rastreamento CSS, insira o seguinte comando:

New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTraceMode -PropertyType DWORD -Value 1

O relatório HTML é publicado em: C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\CitrixBrokerConfigSyncReport.html

Depois que o relatório for gerado, insira o seguinte comando para desativar o recurso de relatório:

Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTraceMode -Value 0

Mais informações

Consulte Considerações de escala e tamanho para o cache do host local para obter informações sobre:

  • Metodologias de teste e resultados
  • Considerações sobre o tamanho da RAM
  • Considerações de configuração do núcleo e do soquete da CPU
  • Considerações sobre armazenamento