Citrix DaaS

Cache do host local

Dica:

Em Full Configuration > Home, o recurso de alertas de integridade do serviço fornece alertas proativos para garantir que o seu cache do host local e as zonas estejam configurados corretamente. Assim, quando ocorre uma interrupção, o cache do host local funciona e seus usuários não são afetados. Os alertas vêm em dois níveis: alertas de todo o site mostrados na página Home (ícone de bandeira) e alertas relacionados à zona exibidos na guia Troubleshoot de cada zona. Para obter mais informações, consulte Zonas.

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:

Se estiver usando uma implantação local do StoreFront, você deve adicionar todos os Cloud Connectors que tenham (ou possam 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 do Citrix Workspace 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 5 minutos, 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 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.
  • 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

Se estiver usando uma implantação local do StoreFront, você deve adicionar todos os Cloud Connectors que tenham (ou possam 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.
  • Se você estiver usando o StoreFront 1912 CU4 ou posterior, publique os recursos em pelo menos um local de recursos e ative a verificação avançada de integridade em todos os servidores StoreFront. Nas versões anteriores ao StoreFront 2308, a verificação avançada de integridade está desativada por padrão e deve ser ativada por um administrador. No StoreFront versão 2308 e posteriores, esse recurso está ativado por padrão. Para obter mais informações e instruções sobre como ativar a verificação avançada de integridade, consulte Verificação avançada de integridade.

Suporte a aplicativos e áreas 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 área 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 não estão disponíveis para novas conexões durante um evento de cache de host local. Você pode alterar esse padrão para permitir que essas áreas de trabalho sejam usadas durante o cache do host local.

    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.

Importante:

Sem ativar ReuseMachinesWithoutShutdownInOutageAllowed no nível de Site e ReuseMachinesWithoutShutdownInOutage no nível do grupo de entrega, todas as tentativas de inicialização de sessão de VDAs de área de trabalho com gerenciamento de energia em grupos de entrega em pool falharão durante um evento de cache de host local.

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:

  • Se estiver usando o StoreFront, verifique se a implantação local do StoreFront aponta para todos os Cloud Connectors nesse local de recursos.
  • 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.
  • 3507: fornece uma atualização de status do Cache de Host Local a cada 2 minutos, o que indica que o modo Cache de Host Local está ativo no agente eleito. Contém um resumo da interrupção, incluindo a duração da interrupção, o registro do VDA e as informações da sessão.
  • 3508: anuncia que o Cache do Host Local não está mais ativo no agente escolhido e que as operações normais foram restauradas. Contém um resumo da interrupção, incluindo a duração da interrupção, o número de máquinas registradas durante o evento do Cache do Host Local e o número de lançamentos bem-sucedidos durante o evento do LHC.
  • 3509: notifica que o Cache do Host Local está ativo no(s) agente(s) não eleito(s). Contém uma duração de interrupção a cada 2 minutos e indica o agente eleito.
  • 3510: anuncia que o Cache do Host Local não está mais ativo no(s) agente(s) não eleito(s). Contém a duração da interrupção e indica o agente eleito.

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

Comandos do PowerShell de Cache de host local

Você pode gerenciar o cache de host local em seus Cloud Connectors usando comandos do PowerShell.

O módulo PowerShell está localizado no seguinte local nos Cloud Connectors:

C:\Program Files\Citrix\Broker\Service\ControlScripts

Importante:

Execute esse módulo somente nos Cloud Connectors.

Importar módulo PowerShell

Para importar o módulo, execute o seguinte no seu Cloud Connector:

cd C:\Program Files\Citrix\Broker\Service\ControlScripts Import-Module .\HighAvailabilityServiceControl.psm1

Comandos do PowerShell para gerenciar o LHC

Os cmdlets a seguir ajudam você a ativar e gerenciar o modo LHC nos Cloud Connectors.

Cmdlets Função
Enable-LhcForcedOutageMode Colocar o Broker no modo LHC. Os arquivos do banco de dados do Cache de host local devem ter sido criados com sucesso pelo ConfigSync Service para Enable-LhcForcedOutageMode funcionar corretamente. Esse cmdlet só força o LHC no Cloud Connector em que ele foi executado. Para que o LHC se torne ativo, esse cmdlet deve ser executado em todos os Cloud Connectors no local de recursos.
Disable-LhcForcedOutageMode Retira o Broker do modo LHC. Esse cmdlet desativa somente o modo LHC no Cloud Connector em que foi executado. Disable-LhcForcedOutageMode deve ser executado em todos os Cloud Connectors dentro do local de recursos.
Set-LhcConfigSyncIntervalOverride Define o intervalo no qual o Citrix Config Synchronizer Service (CSS) verifica as alterações de configuração no site do Citrix DaaS. O intervalo de tempo pode variar de 60 segundos (um minuto) a 3600 segundos (uma hora). Essa configuração só se aplica ao Cloud Connector no qual ela foi executada. Para obter consistência em todos os Cloud Connectors, considere executar esse cmdlet em cada Cloud Connector. Por exemplo: Set-LhcConfigSyncIntervalOverride -Seconds 1200
Clear-LhcConfigSyncIntervalOverride Define o intervalo no qual o Citrix Config Synchronizer Service (CSS) verifica as alterações de configuração no site do Citrix DaaS para o valor padrão de 300 segundos (cinco minutos). Essa configuração só se aplica ao Cloud Connector no qual ela foi executada. Para obter consistência em todos os Cloud Connectors, considere executar esse cmdlet em cada Cloud Connector.
Enable-LhcHighAvailabilitySDK Permite o acesso a todo o cmdlet Get-Broker* no Cloud Connector em que ele foi executado.
Disable-LhcHighAvailabilitySDK Desativa o acesso aos comandos do Broker PowerShell no Cloud Connector em que ele foi executado.

Nota:

  • Use a porta 89 ao executar os cmdlets Get-Broker* no Cloud Connector. Por exemplo:
    • Get-BrokerMachine -AdminAddress localhost:89
  • Quando não está no modo LHC, o LHC Broker no Cloud Connector só contém informações de configuração.
  • Durante o modo LHC, o LHC Broker no Cloud Connector selecionado contém as seguintes informações:
    • Estados de recursos
    • Detalhes da sessão
    • Registros de VDA
    • Informações de configuração

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
Cache do host local