Introdução ao Autoscale™
O Autoscale é um recurso que oferece uma solução consistente e de alto desempenho para o gerenciamento de energia, escalando proativamente os grupos de entrega com base em uma programação configurada ou nas demandas de carga.
O Autoscale se aplica a todos os tipos de grupos de entrega:
- SO estático de sessão única
- SO aleatório de sessão única
- SO aleatório de várias sessões
Este artigo descreve os conceitos básicos relacionados ao Autoscale e fornece orientações sobre como habilitar e configurar o Autoscale para um grupo de entrega.
Conceitos básicos
Antes de começar, aprenda sobre os seguintes conceitos básicos no Autoscale:
- Capacidade e registro de máquina
- Escala em vários catálogos de máquina
- Provisionamento de máquina e demanda de sessão
- Considerações sobre o tamanho da instância
- Agendamentos
- Horários de pico e fora de pico
- Atraso de desligamento
- Tamanho do pool
- Buffer de capacidade
- Índice de carga
- Autoscale e modo de manutenção
- Custo da máquina
- Aumentar a escala de um grupo de entrega
- Diminuir a escala de um grupo de entrega
- Estado de drenagem
Capacidade e registro de máquina
O Autoscale inclui apenas máquinas registradas no site ao determinar a capacidade. Máquinas ligadas que não estão registradas não podem aceitar solicitações de sessão. Como resultado, elas não são incluídas na capacidade geral do grupo de entrega.
Escala em vários catálogos de máquina
Em alguns sites, vários catálogos de máquina podem estar associados a um único grupo de entrega. O Autoscale liga aleatoriamente máquinas de cada catálogo para atender aos requisitos de agendamento ou demanda de sessão.
Por exemplo, um grupo de entrega tem dois catálogos de máquina: o Catálogo A tem três máquinas ligadas e o Catálogo B tem uma máquina ligada. Se o Autoscale precisar ligar uma máquina extra, ele poderá ligar uma máquina do Catálogo A ou do Catálogo B.
Provisionamento de máquina e demanda de sessão
O catálogo de máquinas associado ao grupo de entrega deve ter máquinas suficientes para ligar e desligar conforme a demanda aumenta e diminui. Se a demanda de sessão exceder o número total de máquinas registradas no grupo de entrega, o Autoscale garante que todas as máquinas registradas estejam ligadas. No entanto, o Autoscale não provisiona máquinas adicionais.
Nota:
Se um Grupo de Entrega tiver 63 máquinas e um buffer de capacidade de 10% for definido para horários fora do expediente, então, de acordo com o cálculo do Autoscale, 6,3 máquinas devem ser ligadas durante os horários fora do expediente. Para lidar com o valor decimal, as seguintes são as regras:
- Arredondar para o mais próximo: Por exemplo, se o valor for 6,4, então 6 máquinas são ligadas. Se o valor for 6,7, então 7 máquinas são ligadas.
- Arredondar para 1 para qualquer valor não zero menor que 1. Por exemplo, se o valor for 0,2 ou 0,9, então 1 máquina é ligada.
Para superar esse gargalo, você pode usar um script PowerShell para criar e excluir máquinas dinamicamente. Para obter mais informações, consulte Provisionar máquinas dinamicamente
Considerações sobre o tamanho da instância
Você pode otimizar seus custos se dimensionar adequadamente suas instâncias em nuvens públicas. Recomendamos que você provisione instâncias menores, desde que elas correspondam ao desempenho da sua carga de trabalho e aos requisitos de capacidade.
Instâncias menores hospedam menos sessões de usuário do que instâncias maiores. Portanto, o Autoscale coloca as máquinas em estado de drenagem mais rapidamente, pois leva menos tempo para que a última sessão de usuário seja encerrada. Como resultado, o Autoscale desliga instâncias menores mais cedo, reduzindo os custos.
Agendamentos
O Autoscale liga e desliga máquinas em um grupo de entrega com base em um agendamento que você define.
Um agendamento inclui o número de máquinas ativas para cada período de tempo, com horários de pico e fora de pico definidos.
As configurações de agendamento variam com o tipo de grupo de entrega. Para obter mais informações, consulte:
- Grupos de entrega de SO de várias sessões
- Grupos de entrega de SO aleatórios de sessão única
- Grupos de entrega de SO estáticos de sessão única
Horários de pico e fora de pico
Os horários de pico e fora de pico são usados para indicar quais dos valores do buffer de capacidade usar para períodos específicos do dia. Você pode definir os horários de pico, deixando os horários restantes não definidos como horários fora de pico.
Atraso de desligamento
O atraso de desligamento é o número mínimo de minutos que devem decorrer após uma máquina ser ligada antes que o Autoscale possa desligá-la. Isso evita que as máquinas liguem e desliguem repetidamente durante demandas de sessão voláteis. Por padrão, o atraso de desligamento é de 30 minutos. Você pode defini-lo em um intervalo de 0 a 60 minutos.
Tamanho do pool
O tamanho do pool é o número de máquinas que devem ser mantidas ligadas por um período específico do dia.
Buffer de capacidade
O buffer de capacidade é usado para adicionar capacidade sobressalente à demanda atual para contabilizar aumentos dinâmicos de carga. Existem dois cenários a serem considerados:
- Para grupos de entrega de SO de várias sessões, o buffer de capacidade é definido como uma porcentagem da capacidade total do grupo de entrega em termos de índice de carga.
- Para grupos de entrega de SO de sessão única, o buffer de capacidade é definido como uma porcentagem do número total de máquinas no grupo de entrega.
O buffer de capacidade é um buffer contínuo, dado que é calculado e aplicado com base no uso atual, em vez de ser calculado e aplicado sobre o tamanho do pool configurado.
Por exemplo, dado um grupo de entrega com 10 máquinas, um tamanho de pool de 1 máquina para o período atual e um buffer de capacidade de 10%. Uma máquina adicional é ligada quando a 1 máquina ligada, conforme definido pelo agendamento, é carregada a ponto de o buffer de capacidade de 10% não ser mais satisfeito. Se a carga for reduzida após ligar a segunda máquina e houver capacidade de carga livre mais do que suficiente para satisfazer o buffer de capacidade de 10%, o Autoscale prepara 1 máquina para desligamento.
Índice de carga
IMPORTANTE:
O índice de carga se aplica apenas a grupos de entrega de várias sessões.
A métrica de índice de carga determina a probabilidade de uma máquina receber solicitações de logon de usuário. Ela é calculada usando as configurações da política de Gerenciamento de Carga do Citrix configuradas para logon simultâneo, sessão, CPU, disco e uso de memória.
O índice de carga varia de 0 a 10.000. Por padrão, uma máquina é considerada em carga total quando está hospedando 250 sessões:
-
O dígito “0” indica uma máquina descarregada. Uma máquina com um valor de índice de carga de 0 está em uma carga de linha de base.
-
O dígito “10.000” indica uma máquina totalmente carregada que não pode executar mais sessões.
Autoscale e modo de manutenção
Máquinas em modo de manutenção, independentemente do seu status de disponibilidade, são consideradas parte do cálculo do tamanho geral do pool. Portanto, é possível que todas as máquinas dentro do pool estejam em modo de manutenção. No entanto, essas máquinas são excluídas dos cálculos do buffer de capacidade, garantindo sua disponibilidade imediata. Para garantir que uma porcentagem específica de máquinas esteja acessível para conexões de usuário, ajuste o tamanho do pool e os valores do buffer de acordo.
Custo da máquina
O custo da instância da máquina por hora é o custo por hora, em US$, da capacidade de computação sendo utilizada. Essa configuração é usada para calcular a economia de custos das configurações do Autoscale. Para visualizar a economia, vá para Monitor > Otimização de Custos > Economia de custos.
Aumentar a escala de um grupo de entrega
O Autoscale liga máquinas adicionais em um grupo de entrega habilitado para Autoscale quando:
- O agendamento do Autoscale para o grupo de entrega indica que mais máquinas devem ser ligadas para o período atual.
- A carga atual no grupo de entrega excedeu o buffer de capacidade.
Condições para ligar máquinas:
- Não está em modo de manutenção.
- O hipervisor não está em modo de manutenção.
- Desligada e não registrada.
- Pertence ao grupo de entrega que requer aumento de escala.
- Nenhuma ação de energia pendente.
Diminuir a escala de um grupo de entrega
O Autoscale desliga máquinas em um grupo de entrega habilitado para Autoscale quando:
- O agendamento do Autoscale especifica que as máquinas devem ser desligadas para atender ao número configurado de máquinas para o período atual.
- A carga atual do grupo de entrega diminuiu, resultando em mais máquinas ligadas do que o necessário para atender ao tamanho do pool e ao buffer de capacidade.
O Autoscale diminui a escala de um grupo de entrega desligando as máquinas em excesso que excedem o número necessário para atender ao tamanho do pool e ao buffer de capacidade.
O processo de diminuição de escala envolve duas etapas:
- Colocar o número necessário de máquinas no estado de drenagem.
- Selecionar todas as máquinas drenadas para desligamento.
Máquinas elegíveis para desligamento devem atender aos seguintes critérios:
- Não está em modo de manutenção
- O hipervisor não está em modo de manutenção
- Atualmente ligada
- Registrada como disponível ou está aguardando o registro após a inicialização
- Drenada e sem sessões ativas
- Nenhuma ação de energia pendente
- Satisfaz o atraso de desligamento
Estado de drenagem
O Autoscale tenta diminuir o número de máquinas ligadas no grupo de entrega para o tamanho do pool e o buffer de capacidade configurados.
Para atingir esse objetivo, o Autoscale coloca as máquinas em excesso com o menor número de sessões em “estado de drenagem” e as desliga quando todas as sessões são encerradas. Esse comportamento ocorre quando a demanda de sessão diminui e o agendamento exige menos máquinas do que as que estão ligadas.
Condições para as máquinas drenarem:
- Ligada
- Não está em modo de manutenção
- O hipervisor não está em modo de manutenção
- Pertence ao grupo de entrega que requer diminuição de escala
- Menor número de sessões ativas atuais
Nota:
- Máquinas que estiveram ligadas por pelo menos o tempo especificado pelo atraso de desligamento são preferidas para drenagem.
- Máquinas em estado de drenagem não hospedam mais novos inícios de sessão e aguardam que as sessões existentes sejam encerradas. Uma máquina é desligada somente quando todas as sessões são encerradas. No entanto, se não houver máquinas imediatamente disponíveis para inícios de sessão, o Autoscale prefere direcionar os inícios de sessão para uma máquina em estado de drenagem em vez de ligar uma máquina.
O Autoscale coloca as máquinas em excesso em “estado de drenagem” uma a uma:
-
Se duas ou mais máquinas tiverem o mesmo número de sessões ativas, o Autoscale drena a máquina que esteve ligada pelo atraso de desligamento especificado.
Fazer isso evita colocar máquinas recém-ligadas em estado de drenagem, pois essas máquinas são mais propensas a ter o menor número de sessões.
-
Se duas ou mais máquinas estiverem ligadas pelo atraso de desligamento especificado, o Autoscale as drena uma a uma aleatoriamente.
Máquinas em estado de drenagem não hospedam mais novos inícios de sessão e aguardam que as sessões existentes sejam encerradas. Uma máquina se torna candidata a desligamento somente quando todas as sessões são encerradas. No entanto, se não houver máquinas imediatamente disponíveis para inícios de sessão, o Autoscale prefere direcionar os inícios de sessão para uma máquina em estado de drenagem em vez de ligar uma máquina.
Uma máquina é retirada do estado de drenagem quando uma das seguintes condições é atendida:
- A máquina é desligada.
- O Autoscale é desabilitado para o grupo de entrega ao qual a máquina pertence.
- O Autoscale usa a máquina para atender aos requisitos de agendamento ou demanda de carga. Esse caso ocorre quando o agendamento (escalonamento baseado em agendamento) ou a demanda atual (escalonamento baseado em carga) exige mais máquinas do que o número de máquinas que estão atualmente ligadas.
Importante:
Se não houver máquinas imediatamente disponíveis para inícios de sessão, o Autoscale prefere direcionar os inícios de sessão para uma máquina em estado de drenagem em vez de ligar uma máquina. Uma máquina em estado de drenagem que hospeda um início de sessão permanece em estado de drenagem.
Para descobrir quais máquinas estão em estado de drenagem, use o comando PowerShell Get-BrokerMachine
. Por exemplo: Get-BrokerMachine -DrainingUntilShutdown $true
. Alternativamente, você pode usar o Studio. Consulte Exibir máquinas em estado de drenagem.
Exibir máquinas em estado de drenagem
Nota:
Este recurso se aplica apenas a máquinas de várias sessões.
No Studio, você pode exibir máquinas que estão em estado de drenagem, permitindo que você saiba quais máquinas estão prestes a ser desligadas. Conclua as seguintes etapas:
- Navegue até o nó Pesquisar e clique em Colunas a Exibir.
- Na janela Colunas a Exibir, selecione a caixa de seleção ao lado de Estado de Drenagem.
- Clique em Salvar para sair da janela Colunas a Exibir.
A coluna Estado de Drenagem pode exibir as seguintes informações:
- Drenando até o desligamento. Aparece quando as máquinas estão em estado de drenagem até serem desligadas.
- Não drenando. Aparece quando as máquinas ainda não estão em estado de drenagem.
Habilitar o Autoscale para um grupo de entrega
O Autoscale é desabilitado por padrão ao criar um grupo de entrega. Para habilitar e configurar o Autoscale para um grupo de entrega usando o Studio, siga estas etapas:
Você também pode usar comandos PowerShell para habilitar e configurar o Autoscale para um grupo de entrega. Para obter mais informações, consulte Comandos do SDK do Broker PowerShell.
-
No Studio, selecione Grupos de Entrega no painel esquerdo.
-
Selecione o grupo de entrega que você deseja gerenciar e clique em Gerenciar Autoscale.
- Na página Gerenciar Autoscale, selecione a caixa de seleção Habilitar Autoscale para habilitar o Autoscale. Depois de habilitar o Autoscale, as opções na página são habilitadas.
-
Para alterar as configurações padrão com base nas necessidades da sua organização, conclua as seguintes configurações:
-
Para desligar máquinas inativas de forma mais eficiente, use Tempos limite de sessão dinâmicos e Notificações de logoff de usuário
-
Para gerenciar a energia de um subconjunto de máquinas no grupo de entrega, use Máquinas marcadas com Autoscale
Para desabilitar o Autoscale, desmarque a caixa de seleção Autoscale. As opções na página ficam esmaecidas para indicar que o Autoscale está desabilitado para o grupo de entrega selecionado.
Importante:
- Se você desabilitar o Autoscale, todas as máquinas gerenciadas pelo Autoscale permanecerão em seus estados no momento da desabilitação.
- Depois de desabilitar o Autoscale, as máquinas em estado de drenagem são retiradas desse estado. Para obter mais informações sobre o estado de drenagem, consulte Estado de drenagem.
- As ações das políticas de energia para grupos de entrega de SO estáticos de sessão única e grupos de entrega de SO aleatórios de sessão única na página Configurações baseadas em carga são independentes da configuração do Autoscale (habilitado ou desabilitado).
Você pode provisionar máquinas dinamicamente para o grupo usando um script PowerShell. Para obter mais informações, consulte Provisionamento dinâmico de máquina.
Opções do Autoscale para VMs com sessões de usuário
O Autoscale pode gerenciar máquinas atribuídas e em pool, otimizando sua energia e disponibilidade. O conteúdo a seguir fornece comandos PowerShell e configurações de interface do usuário para controlar os estados de energia da máquina com base nos horários de pico e fora de pico e nas sessões de usuário para máquinas atribuídas e em pool.
Máquinas atribuídas são dedicadas a um único usuário, enquanto máquinas em pool são compartilhadas entre vários usuários.
Nota:
- As políticas de limite de sessão no Citrix Studio, particularmente o temporizador de sessão desconectada e o temporizador de sessão ociosa, são cruciais para gerenciar sessões de usuário mesmo quando o Citrix Autoscale NÃO está habilitado. Essas políticas definem por quanto tempo uma sessão pode permanecer desconectada ou ociosa antes de ser encerrada, garantindo a utilização de recursos e evitando sessões bloqueadas. A configuração da política pode ser usada para máquinas atribuídas e em pool, particularmente aquelas que executam VDAs de várias sessões. Para obter informações detalhadas, consulte Configurações da política de limites de sessão.
- O comando PowerShell
Get-BrokerMachine
está obsoleto. UseGet-BrokerMachineV2
como alternativa.
Para máquinas atribuídas
-
Para ligar automaticamente máquinas de sessão única atribuídas em um grupo de entrega estático no início do horário de pico, use o comando PowerShell:
Set-BrokerDesktopGroup "Desktop Group Name" -AutomaticPowerOnForAssigned $True <!--NeedCopy-->
-
Para garantir que qualquer máquina atribuída que seja encontrada desligada durante o horário de pico seja reiniciada, habilite também
AutomaticPowerOnForAssignedDuringPeak
.Set-BrokerDesktopGroup "Desktop Group Name" -AutomaticPowerOnForAssigned $True -AutomaticPowerOnForAssignedDuringPeak $True <!--NeedCopy-->
-
Se você quiser que as VMs liguem apenas quando um usuário iniciar uma sessão, faça uma das seguintes opções:
- Defina
AutomaticPowerOnForAssigned
eAutomaticPowerOnForAssignedDuringPeak
comoFalse
. -
Defina todas as horas como fora de pico, sem horários de pico, usando a interface do usuário. Consulte Configurações baseadas em agendamento. Durante os horários fora de pico, uma máquina atribuída gerenciada pelo Autoscale é desligada se não tiver uma sessão de usuário nela.
- Defina
-
Nos casos em que todas as máquinas são ligadas pelo Autoscale nos horários de pico, use a interface do usuário para definir o tempo de espera em minutos e ações como, nenhuma ação, suspender ou desligar se nenhum usuário fizer logon após a máquina ser ligada pelo Autoscale. Consulte Políticas de energia.
Para máquinas em pool
Para desligar automaticamente as máquinas em pool após o logoff da sessão, defina o comando PowerShell ShutdownAfterUse
como True
para um grupo de entrega. Por exemplo:
Set-BrokerDesktopGroup -Name “DesktopGroupName” -ShutdownDesktopsAfterUse $true
<!--NeedCopy-->
Monitorar métricas
Depois de habilitar o Autoscale para um grupo de entrega, você pode monitorar as seguintes métricas de máquinas gerenciadas pelo Autoscale no console Monitor.
-
Uso da máquina
-
Economia estimada
-
Notificações de alerta para máquinas e sessões
-
Status da máquina
-
Tendências de avaliação de carga
Nota:
Ao habilitar o Autoscale pela primeira vez para um grupo de entrega, pode levar alguns minutos para exibir os dados de monitoramento desse grupo de entrega. Os dados de monitoramento permanecem disponíveis se o Autoscale for habilitado e depois desabilitado para o grupo de entrega. O Autoscale coleta dados de monitoramento em intervalos de 5 minutos.
Para obter mais informações sobre as métricas, consulte Monitorar máquinas gerenciadas pelo Autoscale.
Autoscale em VMs hibernadas
Você pode hibernar VMs por meio de configurações configuráveis do Autoscale. Use os comandos PowerShell Get-BrokerDesktopGroups
, New-BrokerDesktopGroups
ou Set-BrokerDesktopGroups
para definir o seguinte valor positivo para o parâmetro AutoscaleScaleDownActionDuringPeak
(durante o pico) ou AutoscaleScaleDownActionDuringOffPeak
(fora do pico) para definir as ações de energia:
- 0: Desligar as VMs ao diminuir a escala
- 1: Suspender (hibernar as VMs) ao diminuir a escala
VMs que não são capazes de hibernação são desligadas.
Você pode configurar agendamentos de reinicialização para VMs hibernadas se o Grupo de Entrega estiver habilitado para hibernação. No ciclo de reinicialização, as VMs são retomadas e depois desligadas. O agendamento de reinicialização pode ser definido como semanal, diário, mensal e uma vez. Você pode configurar vários agendamentos. No entanto, as VMs que são retomadas da hibernação podem levar alguns minutos.
O Autoscale também pode ligar VMs hibernadas de várias sessões do Remote Desktop Services (RDS) e VMs de sessão única compartilhadas sem sessões durante o horário de pico. As VMs podem ser de catálogos de máquina MCS e não MCS.
Mais informações
Para obter mais informações sobre o Autoscale, consulte Citrix Autoscale na Tech Zone.