Citrix DaaS

Gerenciamento de energia de VMs do Azure

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

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 inicialização, após a conclusão do provisionamento.

Quando você usa o MCS para criar catálogos de máquina no Azure Resource Manager, o recurso de provisionamento sob demanda do Azure:

  • Reduz os custos de armazenamento
  • Oferece criação de catálogos mais rápida

Quando você cria um catálogo MCS, o portal do Azure exibe os grupos de segurança de rede, as interfaces de rede, as imagens base e os 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 inicialização para ela. Em seguida, o status da VM na interface Full Configuration muda para On. Existem dois tipos de máquinas com as seguintes diferenças:

  • No caso de uma máquina em pool, o disco do sistema operacional e o cache de write-back existem somente quando a VM existe. Quando você desliga uma máquina em pool no console, a VM não fica visível no portal do Azure. Há uma economia significativa nos 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 armazenada até que a identidade da máquina seja excluída. Quando você encerra uma máquina dedicada no console, a VM ainda fica visível no portal do Azure.

Preservação de uma máquina virtual provisionada durante o ciclo de energia

Escolha se deseja preservar uma máquina virtual provisionada durante o ciclo de energia. Use o parâmetro do PowerShell New-ProvScheme CustomProperties. Esse parâmetro oferece suporte a uma propriedade extra, PersistVm, usada para determinar se uma máquina virtual provisionada persiste quando a energia é desligada. 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.

Nota:

A propriedade PersistVm só se aplica 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 New-ProvScheme CustomProperties parâmetro preserva o cache de gravação PersistVM definindo 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 de SO deve ser mantido. Para preservar uma máquina virtual provisionada, primeiro preserve o disco de SO. Você não pode excluir o disco de SO sem primeiro excluir a máquina virtual. Você pode usar a propriedade PersistOsdisk sem usar a especificação do parâmetro PersistVm.

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

Ao ligar, o tipo de armazenamento de um disco gerenciado pode apresentar falha ao mudar para o tipo desejado devido a uma falha no Azure. Nesses cenários, a VM permanece desligada e uma mensagem de falha é enviada a você. No entanto, você pode optar por ligar a VM, mesmo quando o armazenamento não pode 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 a especificar nos comandos New-ProvScheme ou Set-ProvScheme:

    • Na ativação, a VM é ligada com o tipo de armazenamento incorreto.
    • Na desativação, 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:

    • Na ativação, a VM permanece desligada com o tipo de armazenamento incorreto.
    • Na desativação, 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 o comando asnp citrix* para carregar os módulos do PowerShell específicos da 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 Remote PowerShell SDK, 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 que inclua a propriedade personalizada FailSafeStorageType. Essa 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 Request-ProvVMUpdate.

  1. Execute o comando Request-ProvVMUpdate. Por exemplo:

    Request-ProvVMUpdate -ProvisioningSchemeName <String> -VMName <List-Of-Vm-Names>
    <!--NeedCopy-->
    
  2. Reinicie as VMs.

Criar VMs com capacidade de hibernação (prévia)

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

Nota:

O recurso de hibernação se aplica somente a catálogos de máquinas de SO de sessão única (persistentes e não persistentes).

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:

  • Ative o recurso para sua assinatura do Azure. Consulte Habilitando o recurso de hibernação para sua assinatura.
  • Ative as seguintes opções em DaaS > Home > Preview features:

    • Provision VMs that can be hibernated in Azure
    • Autoscale support for hibernation

    Alternância do recurso de hibernação do Azure no DaaS

  • Instale o Azure VM Agent 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 a localização do arquivo de página como a unidade C: no disco base quando a hibernação está 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 principais para dar suporte à hibernação.

  • Use um tamanho de VM em sua assinatura que ofereça suporte à hibernação.
  • Crie um perfil de máquina com capacidade de hibernação (especificação de modelo ou VM) para que as VMs herdem a capacidade de hibernação. Para criar a VM, consulte Introdução à hibernação.

    Nota:

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

    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 Export template no painel esquerdo.
    2. Desmarque a caixa de seleção Include parameters. 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 compatível 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 da interface de rede ao arquivo JSON VMExportTemplate.json. Como resultado, você tem um arquivo de modelo ARM com duas funções.
    5. Selecione Azure Portal > Template specs > Import template > Choose local template file para importar esse arquivo de modelo como uma especificação de modelo ARM.
    6. Depois que a especificação do modelo ARM for criada, você poderá usá-la como um perfil de máquina.

    Nota:

    Pode levar alguns minutos para sincronizar com o Citrix Studio.

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

Limitações

  • Somente catálogos de máquinas de SO de sessão única (persistentes e não persistentes) são suportados.
  • Os discos de SO efêmero e os recursos MCS I/O não oferecem suporte à 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 a interface Full Configuration

  1. Faça login no Citrix Cloud. No menu superior esquerdo, selecione My Services > DaaS.
  2. Em Manage > Full Configuration, selecione Machine Catalogs no painel esquerdo.
  3. Selecione Create Machine Catalog. O assistente de criação de catálogo é aberto.
  4. Na página Machine Type selecione o tipo de máquina Single-session OS para esse catálogo.
  5. Na página Machine Management, selecione as configurações da seguinte forma:

    1. Selecione Machines that are power managed (for example, virtual machines or blade PCs).
    2. Selecione Citrix Machine Creation Services (MCS).
  6. Na página Desktop Experience, selecione a experiência de área de trabalho aleatória ou estática, conforme necessário.
  7. Na página Image, selecione uma imagem mestre. Marque a caixa de seleção Use a machine profile e selecione um perfil de máquina que suporte a hibernação. Clique na dica de ferramenta para saber se um perfil de máquina suporta hibernação.
  8. Na página Storage and License Types, selecione o armazenamento e a licença a serem usados neste catálogo.
  9. Na página Virtual Machines, selecione a contagem de VMs, o tamanho da VM e a zona de disponibilidade.

    Nota:

    Os tamanhos de máquinas que suportam a hibernação são exibidos somente para a sua seleção.

  10. Na página NICs, adicione as NICs que você deseja que as VMs usem.
  11. Na página Disk Settings, selecione o tipo de armazenamento e o tamanho do disco de cache de write-back.
  12. Na página Resource Group, selecione o grupo de recursos para provisionar VMs.
  13. Na página Machine Identities, selecione Create new Active Directory accounts. Em seguida, especifique um esquema de nomenclatura de conta.
  14. Na página Domain Credentials, clique em Enter credentials. Insira suas credenciais de domínio para realizar a criação da conta no domínio do Active Directory de destino.
  15. Na página Summary, insira um nome para o catálogo de máquinas e clique em Finish.

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 Template Properties. O valor do parâmetro Hibernation deve ser Supported.

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

  • Se o catálogo de máquinas atual suportar a hibernação, você não pode:
    • Alterar o tamanho da VM para um que não tenha capacidade de hibernar.
    • Mudar o perfil da máquina para um que não tenha capacidade de hibernar.
  • Se o catálogo de máquinas atual não oferecer suporte à hibernação, você não pode:

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 deseja suspendê-las e retomá-las, crie um catálogo de máquinas para importar essas VMs para o gerenciamento de energia.

Nota:

Você pode criar um catálogo de máquinas contendo VMs com capacidade e sem capacidade de hibernação. No entanto, se você quiser funcionalidades relacionadas à hibernação, deverá criar o catálogo de máquinas somente com VMs com capacidade de hibernação.

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

  1. Na página Machine Management, selecione Machines that are power managed e Other service or technology como a forma de implantar máquinas.
  2. Na página Virtual Machines, adicione ou importe somente as VMs com capacidade de hibernação.

Criar um catálogo de máquinas usando comandos do 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 Remote PowerShell SDK, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

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

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

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

     Get-ChildItem -AdminAddress "localhost:19097" -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 suportar a hibernação, você não pode:
    • Alterar o tamanho da VM para um que não tenha capacidade de hibernar
    • Mudar o perfil da máquina para um que não tenha capacidade de hibernar
  • Se o catálogo de máquinas atual não oferecer suporte à hibernação, você não pode:

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

Habilite a hibernação em VMs provisionadas por MCS existentes

Você pode habilitar a hibernação do Azure em:

  • VMs provisionadas pelo Windows MCS de um catálogo de máquinas criado sem um disco temporário.
  • VMs provisionadas pelo Linux MCS de um catálogo de máquinas criado com e sem um disco temporário.

Nota:

  • As VMs provisionadas pelo MCS existentes devem ter um agente de VM do Azure instalado.
  • Atualmente, você só pode usar o comando PowerShell para ativar esse recurso.

Para isso:

  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos do PowerShell específicos da Citrix.
  3. Verifique a configuração das máquinas existentes. Por exemplo:

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  4. Ative a hibernação neste catálogo de máquinas usando o comando Set-ProvScheme. Por exemplo:

    Set-ProvScheme -provisioningSchemeName xxxx
    -machineprofile <path-to-machineprofile-with-hibernation-enabled>
    -serviceoffering "XDHyp:\HostingUnits\msc-dev\serviceoffering.folder\Standard_D4as_v5.serviceoffering"
    <!--NeedCopy-->
    
  5. Solicite a atualização das VMs existentes em um catálogo de máquinas.

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeUid xxxx -VMName <String[]
    <!--NeedCopy-->
    
  6. Reinicie as VMs para disparar atualizações nas VMs existentes. Por exemplo:

    New-BrokerHostingPowerAction -machinename "<name>" -Action Restart
    <!--NeedCopy-->
    

Verificar propriedade de hibernação

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

  • Para verificar a propriedade de hibernação de um esquema de provisionamento, execute os seguintes comandos do 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 do 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 intermediária, execute os seguintes comandos do PowerShell. As ações de energia Suspend e Resume indicam a 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 nas VMs com capacidade de hibernar:

  • Suspender a VM do estado em execução
  • Retomar a VM do estado de suspensão
  • Forçar o desligamento da VM do estado de suspensão
  • Forçar a reinicialização da VM do estado de suspensão

Consulte o seguinte para obter mais informações:

Suspend

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

  • Manualmente, usando a interface Full Configuration
  • Automaticamente, usando a política de tempo limite: para obter mais informações, consulte Configurações diversas.

Para suspender manualmente uma VM:

  1. Clique com o botão direito na VM e selecione Suspend. Clique em Yes para confirmar a ação. Power State muda de Suspending para Suspended.

    Suspender uma VM com capacidade de hibernação

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

Verifique o status da VM no portal do Azure

Resume

Para retomar uma VM em hibernação, você pode fazê-lo:

  • Manualmente:

    • Os administradores podem retomar a VM usando a interface Full Configuration.

      Retomar a VM usando a interface Full Configuration

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

      Gerenciar configurações com base na carga do AutoScale

  • 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 no cronograma. Cada moldura azul representa um intervalo de tempo marcado como horário de pico. Os horários de pico podem ter intervalos de tempo consecutivos e não consecutivos.

      • Intervalos de tempo consecutivos

        Intervalos de horário de pico consecutivos

      • Intervalos de tempo não consecutivos

        Intervalos de horário de pico não consecutivos

Nota:

Em Manage Autoscale > Load-based Settings, se Action estiver configurado como Suspend, 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 continuam em execução.

Gerenciar configurações com base na 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.

Gerenciamento de energia de VMs do Azure