Citrix Virtual Apps and Desktops

Gerenciar energia de VMs do Azure

Para obter informações sobre as permissões necessárias, consulte Permissões do Azure necessárias.

Provisionamento sob demanda do Azure

Com o provisionamento sob demanda do Azure, as VMs são criadas somente quando o Citrix Virtual Apps and Desktops™ inicia uma ação de ligar, após a conclusão do provisionamento.

Ao usar o MCS para criar catálogos de máquinas no Azure Resource Manager, o recurso de provisionamento sob demanda do Azure:

  • Reduz seus custos de armazenamento
  • Oferece criação de catálogo mais rápida

Ao criar um catálogo MCS, o portal do Azure exibe os grupos de segurança de rede, interfaces de rede, imagens base e discos de identidade nos grupos de recursos.

O portal do Azure não mostra uma VM até que o Citrix Virtual Apps and Desktops inicie uma ação de ligar para ela. Existem dois tipos de máquinas com as seguintes diferenças:

  • Para uma máquina agrupada, o disco do sistema operacional e o cache de write-back existem somente quando a VM existe. Ao desligar uma máquina agrupada no console, a VM não fica visível no portal do Azure. Há uma economia significativa de custos de armazenamento se você desligar as máquinas rotineiramente (por exemplo, fora do horário de trabalho).
  • Para uma máquina dedicada, o disco do sistema operacional é criado na primeira vez que a VM é ligada. A VM no portal do Azure permanece no armazenamento até que a identidade da máquina seja excluída. Ao desligar uma máquina dedicada no console, a VM ainda fica visível no portal do Azure.

Observação:

O suporte para catálogos do Azure criados antes do recurso de provisionamento sob demanda (catálogos “legados”) foi preterido. Portanto, recrie as VMs do catálogo legado do Azure. Os catálogos são então provisionados sob demanda, o que economiza custos de armazenamento.

Preservar uma máquina virtual provisionada ao reiniciar

Escolha se deseja preservar uma máquina virtual provisionada ao reiniciar. Use o parâmetro do PowerShell New-ProvScheme CustomProperties. Este parâmetro suporta uma propriedade extra, PersistVm, usada para determinar se uma máquina virtual provisionada persiste ao reiniciar. Defina a propriedade PersistVm como true para manter uma máquina virtual quando desligada, ou defina a propriedade como false para garantir que a máquina virtual não seja preservada quando desligada.

Observação:

A propriedade PersistVm se aplica apenas a um esquema de provisionamento com as propriedades CleanOnBoot e UseWriteBackCache habilitadas. Se a propriedade PersistVm não for especificada para máquinas virtuais não persistentes, elas serão excluídas do ambiente do Azure quando desligadas.

No exemplo a seguir, o parâmetro New-ProvScheme CustomProperties define a propriedade PersistVm como true:

<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="false" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
<Property xsi:type="StringProperty" Name="PersistVm" Value="true" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="demo-resourcegroup" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>
<!--NeedCopy-->

No exemplo a seguir, o parâmetro New-ProvScheme CustomProperties preserva o cache de write-back definindo PersistVM como true:

 New-ProvScheme
 -AzureAdJoinType "None"
 -CleanOnBoot
 -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Standard_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"false`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"PersistVm`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"demo-resourcegroup`" /><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Client`" /></CustomProperties>"
 -HostingUnitName "demo"
 -IdentityPoolName "NonPersistent-MCSIO-PersistVM"
 -MasterImageVM "XDHyp:\HostingUnits\demo\image.folder\scale-test.resourcegroup\demo-snapshot.snapshot"
 -NetworkMapping @ {"0"="XDHyp:\HostingUnits\demo\\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\ji-test.resourcegroup\jitest-vnet.virtualprivatecloud\default.network"}
-ProvisioningSchemeName "NonPersistent-MCSIO-PersistVM"
 -ServiceOffering "XDHyp:\HostingUnits\demo\serviceoffering.folder\Standard_B2ms.serviceoffering" -UseWriteBackCache
 -WriteBackCacheDiskSize 127
 -WriteBackCacheMemorySize 256
 <!--NeedCopy-->

Dica:

A propriedade PersistVm determina se uma máquina virtual provisionada deve ser preservada. A propriedade PersistOsdisk determina se o disco do sistema operacional deve ser persistido. Para preservar uma máquina virtual provisionada, preserve o disco do sistema operacional primeiro. Não exclua o disco do sistema operacional sem antes excluir a máquina virtual. Você pode usar a propriedade PersistOsdisk sem especificar o parâmetro PersistVm.

Personalizar o comportamento de inicialização em caso de falha na alteração do tipo de armazenamento

Ao ligar, o tipo de armazenamento de um disco gerenciado pode falhar ao mudar para o tipo desejado devido a uma falha no Azure. Nesses cenários, a VM permaneceria desligada com uma mensagem de falha enviada a você. No entanto, você pode optar por ligar a VM mesmo quando o armazenamento não puder ser restaurado para o tipo configurado ou optar por manter a VM desligada.

  • Se você configurar a propriedade personalizada FailSafeStorageType como true (configuração padrão) ou não especificá-la nos comandos New-ProvScheme ou Set-ProvScheme:

    • Ao ligar, a VM é ligada com o tipo de armazenamento incorreto.
    • Ao desligar, a VM permanece desligada com o tipo de armazenamento incorreto.
  • Se você configurar a propriedade personalizada FailSafeStorageType como false nos comandos New-ProvScheme ou Set-ProvScheme:

    • Ao ligar, a VM permanece desligada com o tipo de armazenamento incorreto.
    • Ao desligar, a VM permanece desligada com o tipo de armazenamento incorreto.

Para criar um catálogo de máquinas:

  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos do PowerShell específicos do Citrix.
  3. Crie um pool de identidades, se ainda não tiver sido criado.
  4. Adicione a propriedade personalizada em New-ProvScheme. Por exemplo:

    New-ProvScheme -HostingUnitName "Azure-Resources-1" -IdentityPoolName "name" -InitialBatchSizeHint 1
    -MasterImageVM "XDHyp:\HostingUnits\Azure-Resources-1\image.folder\abc.resourcegroup\def.snapshot"
    -NetworkMapping @{"0"="XDHyp:\HostingUnits\Azure-Resources-1\ght.folder\abc.resourcegroup\abc-vnet.virtualprivatecloud\default.network"}
    -ProvisioningSchemeName "name"
    -ServiceOffering "XDHyp:\HostingUnits\Azure-Resources-1\serviceoffering.folder\Standard_DS2_v2.serviceoffering"
    -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
    <Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Premium_LRS`" />
    <Property xsi:type=`"StringProperty`" Name=`"StorageTypeAtShutdown`" Value=`"Standard_LRS`" />
    <Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"true`" />
    </CustomProperties>"
    <!--NeedCopy-->
    
  5. Crie o catálogo de máquinas. Para obter informações sobre como criar um catálogo usando o SDK do PowerShell Remoto, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

Para atualizar um catálogo de máquinas existente para incluir a propriedade personalizada FailSafeStorageType. Esta atualização não afeta as VMs existentes.

  1. Atualize a propriedade personalizada no comando Set-ProvScheme. Por exemplo:
   Set-ProvScheme -ProvisioningSchemeName <String> -CustomProperties "
   <CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
   <Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Premium_LRS`" />
   <Property xsi:type=`"StringProperty`" Name=`"IdentityDiskStorageType`" Value=`"Premium_LRS`" />
   <Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"false`" />
   </CustomProperties>"
   <!--NeedCopy-->

Para aplicar a alteração feita em Set-ProvScheme às VMs existentes, execute o comando Set-ProvVMUpdateTimeWindow com os parâmetros -StartsNow e -DurationInMinutes -1.

  1. Execute o comando Set-ProvVMUpdateTimeWindow com os parâmetros -StartsNow e -DurationInMinutes -1. Por exemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  2. Reinicie as VMs.

Criar VMs com capacidade de hibernação

Em ambientes Azure, você pode criar um catálogo de máquinas MCS que suporta hibernação. Usando esse recurso, você pode suspender uma VM e, em seguida, reconectar-se ao estado anterior da VM quando um usuário fizer login novamente.

A capacidade de hibernação se aplica ao seguinte:

  • SO de sessão única
  • VMs persistentes e não persistentes
  • Desktops VDI estáticos e aleatórios (agrupados)

Você pode retomar a mesma sessão depois de hibernar uma VM, independentemente de o desktop VDI ser estático ou aleatório.

Nesta seção, consulte o seguinte:

Pré-requisitos para usar a hibernação

Para usar a hibernação, certifique-se de concluir as seguintes tarefas:

  • Instale o Agente de VM do Azure na imagem mestre para Windows e Linux. O arquivo de paginação da imagem do Windows pode estar no disco temporário. O MCS define o local do arquivo de paginação para a unidade C: no disco base quando a hibernação é habilitada no catálogo de máquinas.
  • O MCS define automaticamente a propriedade de hibernação para os recursos gerados. Você não precisa configurar as propriedades dos recursos mestre para suportar a hibernação.
  • Use um tamanho de VM em sua assinatura que suporte hibernação.
  • Crie um perfil de máquina com capacidade de hibernação (VM ou especificação de modelo) para que as VMs herdem a capacidade de hibernação. Para criar a VM, consulte Introdução à hibernação.

    Observação:

    De acordo com a Microsoft, você pode implantar VMs habilitadas para hibernação a partir de um disco do SO. Este recurso é atualmente suportado em certas regiões e estará disponível para todas as regiões em breve. Para obter mais informações, consulte Implantar VMs habilitadas para hibernação a partir de um disco do SO.

    Para criar a especificação do modelo, faça o seguinte:

    1. Abra o Portal do Azure. Escolha uma VM cuja configuração você deseja usar no modelo. Selecione “Exportar modelo” no painel esquerdo.
    2. Desmarque a caixa de seleção “Incluir parâmetros”. Copie o contexto e salve-o como um arquivo JSON, por exemplo, VMExportTemplate.json.
    3. Certifique-se de que o parâmetro hibernationEnabled seja true no modelo. Se o parâmetro não for true, verifique a configuração da VM que você usou. Você pode especificar um tamanho de VM suportado no arquivo de modelo. No entanto, você também pode especificar o tamanho da máquina ao criar o catálogo.
    4. Adicione o modelo para o recurso de interface de rede ao arquivo JSON VMExportTemplate.json. Como resultado, você terá um arquivo de modelo ARM com dois recursos.
    5. Selecione “Portal do Azure” > “Especificações de modelo” > “Importar modelo” > “Escolher arquivo de modelo local” para importar este arquivo de modelo como uma especificação de modelo ARM.
    6. Após a criação da especificação do Modelo ARM, você pode usá-la como um perfil de máquina.

    Observação:

    Pode levar alguns minutos para sincronizar com o Citrix Studio.

Para obter mais informações, consulte o documento da Microsoft Pré-requisitos para usar a hibernação.

Limitações

  • Somente catálogos de máquinas de SO de sessão única (persistentes e não persistentes) são suportados.
  • Discos de SO efêmeros e recursos de E/S do MCS não suportam a hibernação do Azure.
  • A hibernação pode falhar durante as atualizações automáticas do Windows.

Para obter mais informações, consulte o documento da Microsoft.

Criar e gerenciar um catálogo de máquinas com capacidade de hibernação

Para criar VMs com capacidade de hibernação, você pode criar e gerenciar um catálogo de máquinas com capacidade de hibernação usando:

Criar um catálogo usando o Web Studio

  1. Selecione “Criar Catálogo de Máquinas”. O assistente de criação de catálogo é aberto.
  2. Na página “Tipo de Máquina”, selecione o tipo de máquina “SO de sessão única” para este catálogo.
  3. Na página “Gerenciamento de Máquinas”, selecione as configurações da seguinte forma:

    1. Selecione “Máquinas com gerenciamento de energia (por exemplo, máquinas virtuais ou PCs blade)”.
    2. Selecione “Citrix Machine Creation Services™ (MCS)”.
  4. Na página “Experiência de Desktop”, selecione a experiência de desktop aleatória ou estática conforme necessário.
  5. Na página “Imagem”, selecione uma imagem mestre. Marque a caixa de seleção “Usar um perfil de máquina” e selecione um perfil de máquina que suporte hibernação. Clique na dica de ferramenta para saber se um perfil de máquina suporta hibernação.
  6. Na página “Tipos de Armazenamento e Licença”, selecione o armazenamento e a licença a serem usados para este catálogo.
  7. Na página “Máquinas Virtuais”, selecione a contagem de VMs, o tamanho da VM e a zona de disponibilidade.

Observação:

Os tamanhos de máquina que suportam hibernação são exibidos apenas para sua seleção.

  1. Na página “NICs”, adicione as NICs que você deseja que as VMs usem.
  2. Na página “Configurações de Disco”, selecione o tipo de armazenamento e o tamanho do disco de cache de write-back.
  3. Na página “Grupo de Recursos”, selecione o grupo de recursos para provisionar as VMs.
  4. Na página “Identidades da Máquina”, selecione “Criar novas contas do Active Directory”. Em seguida, especifique um esquema de nomenclatura de conta.
  5. Na página “Credenciais de Domínio”, clique em “Inserir credenciais”. Insira suas credenciais de domínio para realizar a criação da conta no domínio do Active Directory de destino.
  6. Na página “Resumo”, insira um nome para o catálogo de máquinas e clique em “Concluir”.

Quando a criação do catálogo de máquinas MCS estiver concluída, localize o catálogo na lista de catálogos e clique na guia “Propriedades do Modelo”. O valor do parâmetro “Hibernação” deve ser “Suportado”.

Se você quiser editar um catálogo de máquinas, considere as seguintes restrições:

  • Se o catálogo de máquinas atual suporta hibernação, você não pode:
    • Alterar o tamanho da VM para um que não seja capaz de hibernar.
    • Alterar o perfil da máquina para um que não seja capaz de hibernar.
  • Se o catálogo de máquinas atual não suporta hibernação, você não pode:
    • atualmente, alterar o perfil da máquina para um que seja capaz de hibernar usando o Web Studio.

Criar um catálogo de máquinas para gerenciar VMs existentes com capacidade de hibernação

Se você já tem VMs com capacidade de hibernação e quer suspendê-las e retomá-las, crie um catálogo de máquinas para importar essas VMs para gerenciamento de energia.

Observação:

Você pode criar um catálogo de máquinas contendo VMs com e sem capacidade de hibernação. No entanto, se você deseja funcionalidade relacionada à hibernação, deve criar o catálogo de máquinas apenas com VMs com capacidade de hibernação.

Para criar um catálogo para VMs existentes com capacidade de hibernação usando o Web Studio, siga as instruções na tela para concluir as etapas e preste atenção às seguintes configurações principais:

  1. Na página “Gerenciamento de Máquinas”, selecione “Máquinas com gerenciamento de energia” e, em seguida, selecione “Outro serviço ou tecnologia” como a forma de implantar as máquinas.
  2. Na página “Máquinas Virtuais”, adicione ou importe apenas as VMs com capacidade de hibernação.

Criar um catálogo de máquinas usando comandos PowerShell

Depois de atender a todos os requisitos para usar a hibernação, você pode criar um catálogo de máquinas com capacidade de hibernação usando o comando New-ProvScheme. Para obter informações sobre como criar um catálogo usando o SDK do Remote PowerShell, consulte New-ProvScheme.

Ao criar o catálogo, você pode verificar se um tamanho de VM e um perfil de máquina suportam hibernação ou não usando os seguintes comandos PowerShell:

  • Para o tamanho da VM, execute o seguinte comando e verifique se a propriedade supportsHibernation é True. Por exemplo,

     Get-ChildItem -AdminAddress "MyDDC.MyDomain.local" -LiteralPath @("XDHyp:\HostingUnits\ <VirtualNetwork> \serviceoffering.folder") | select Name, AdditionalData | ConvertTo-Json
     <!--NeedCopy-->
    
  • Para o perfil da máquina, execute o seguinte comando e verifique se a propriedade supportsHibernation é True. Por exemplo,

     Get-ChildItem -AdminAddress "MyDDC.MyDomain.local" -LiteralPath @("XDHyp:\HostingUnits\ <VirtualNetwork> \machineprofile.folder\abc.resourcegroup")|select Name, AdditionalData|ConvertTo-Json
     <!--NeedCopy-->
    

Se você quiser editar um catálogo de máquinas, considere as seguintes restrições:

  • Se o catálogo de máquinas atual suporta hibernação, você não pode:
    • Alterar o tamanho da VM para um que não seja capaz de hibernar.
    • Alterar o perfil da máquina para um que não seja capaz de hibernar.
  • Se o catálogo de máquinas atual não suporta hibernação, você não pode:
    • atualmente, alterar o perfil da máquina para um que seja capaz de hibernar usando o Web Studio.

Para obter informações sobre como modificar o tamanho da VM e o perfil da máquina de um catálogo usando o SDK do Remote PowerShell, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/MachineCreation/Set-ProvScheme/.

Verificar a propriedade de hibernação

Você pode verificar a propriedade de hibernação de um catálogo de máquinas, VM e uma máquina broker usando os comandos PowerShell:

  • Para verificar a propriedade de hibernação de um esquema de provisionamento, execute os seguintes comandos PowerShell. O parâmetro HibernationEnabled deve ser True.

     (Get-ProvScheme -provisioningSchemeName <YourSchemeName>).VMMetadata -join "" |  ConvertFrom-Json | Select HibernationEnabled
     <!--NeedCopy-->
    
  • Para verificar a propriedade de hibernação de uma VM de provisionamento, execute os seguintes comandos PowerShell. O parâmetro SupportsHibernation deve ser True.

     (Get-ProvVM -VMName <YourVMName>).CustomVmData | ConvertFrom-Json | Select SupportsHibernation
     <!--NeedCopy-->
    
  • Para verificar a capacidade de hibernação de uma máquina broker, execute os seguintes comandos PowerShell. As ações de energia “Suspender” e “Retomar” indicam capacidade de hibernação.

     (Get-BrokerMachine -MachineName <YourMachineName>).SupportedPowerActions
     <!--NeedCopy-->
    

Gerenciamento de energia de VMs com capacidade de hibernação

Você pode realizar as seguintes operações de gerenciamento de energia em VMs com capacidade de hibernação:

  • Suspender a VM do estado de execução
  • Retomar a VM do estado suspenso
  • Desligar forçadamente a VM de um estado suspenso
  • Reiniciar forçadamente a VM do estado suspenso

Consulte o seguinte para obter mais informações:

Suspender

Você pode suspender uma VM de uma das seguintes maneiras:

  • Manualmente usando o Web Studio
  • Automaticamente usando a política de tempo limite: Para obter mais informações, consulte Configurações diversas.

Para suspender uma VM manualmente:

  1. Clique com o botão direito do mouse na VM e selecione “Suspender”. Clique em “Sim” para confirmar a ação. O “Estado de Energia” muda de “Suspensão” para “Suspenso”.

    Suspender uma VM com capacidade de hibernação

Você pode verificar o status da VM no portal do Azure.

Verificar o status da VM no portal do Azure

Retomar

Para retomar uma VM hibernada, use uma das seguintes maneiras:

  • Manualmente:

    • Os administradores podem retomar a VM usando o Web Studio.

      Retomar a VM usando o Web Studio

    • Os usuários finais podem iniciar a VM usando o menu Citrix Workspace™ depois de clicar no ícone da área de trabalho.

      Retomar a VM usando o Citrix Workspace

  • Automaticamente:

    • O Autoscale™ pode ligar automaticamente as máquinas hibernadas se você configurar os horários de pico corretamente. Você pode definir os horários de pico em intervalos de 30 minutos clicando na programação de horários. Cada quadro azul representa um slot de tempo marcado como horário de pico. Os horários de pico podem ter slots de tempo consecutivos e não consecutivos.

      • Slots de tempo consecutivos

        Slots de tempo de pico consecutivos

      • Slots de tempo não consecutivos

        Slots de tempo de pico não consecutivos

Observação:

Em “Gerenciar Autoscale > Configurações baseadas em carga”, se a “Ação” estiver configurada como “Suspender”, certifique-se de que todas as VMs dentro desse grupo de entrega tenham capacidade de hibernação. Caso contrário, as VMs que não podem hibernar continuarão em execução.

Gerenciar configurações baseadas em carga do Autoscale

Mais informações

Para obter mais informações sobre a hibernação do Citrix Azure, consulte o artigo da Citrix Tech Zone.

Gerenciar energia de VMs do Azure