Citrix Virtual Apps and Desktops

Gestire l’alimentazione delle VM di Azure

Per informazioni sulle autorizzazioni richieste, vedere Autorizzazioni di Azure richieste.

Provisioning su richiesta di Azure

Con il provisioning su richiesta di Azure, le VM vengono create solo quando Citrix Virtual Apps and Desktops™ avvia un’azione di accensione, dopo il completamento del provisioning.

Quando si utilizza MCS per creare cataloghi di macchine in Azure Resource Manager, la funzionalità di provisioning su richiesta di Azure:

  • Riduce i costi di archiviazione
  • Fornisce una creazione più rapida del catalogo

Quando si crea un catalogo MCS, il portale di Azure visualizza i gruppi di sicurezza di rete, le interfacce di rete, le immagini di base e i dischi di identità nei gruppi di risorse.

Il portale di Azure non mostra una VM finché Citrix Virtual Apps and Desktops non avvia un’azione di accensione per essa. Esistono due tipi di macchine con le seguenti differenze:

  • Per una macchina in pool, il disco del sistema operativo e la cache di write-back esistono solo quando la VM esiste. Quando si spegne una macchina in pool nella console, la VM non è visibile nel portale di Azure. Si ottiene un significativo risparmio sui costi di archiviazione se si spengono regolarmente le macchine (ad esempio, al di fuori dell’orario di lavoro).
  • Per una macchina dedicata, il disco del sistema operativo viene creato la prima volta che la VM viene accesa. La VM nel portale di Azure rimane in archiviazione finché l’identità della macchina non viene eliminata. Quando si spegne una macchina dedicata nella console, la VM è ancora visibile nel portale di Azure.

Nota:

Il supporto per i cataloghi di Azure creati prima della funzionalità di provisioning su richiesta (cataloghi “legacy”) è deprecato. Pertanto, ricreare le VM del catalogo legacy di Azure. I cataloghi vengono quindi sottoposti a provisioning su richiesta, il che consente di risparmiare sui costi di archiviazione.

Mantenere una macchina virtuale sottoposta a provisioning durante il ciclo di alimentazione

Scegliere se mantenere una macchina virtuale sottoposta a provisioning durante il ciclo di alimentazione. Utilizzare il parametro PowerShell New-ProvScheme CustomProperties. Questo parametro supporta una proprietà aggiuntiva, PersistVm, utilizzata per determinare se una macchina virtuale sottoposta a provisioning persiste durante il ciclo di alimentazione. Impostare la proprietà PersistVm su true per mantenere una macchina virtuale quando è spenta, o impostare la proprietà su false per assicurarsi che la macchina virtuale non venga mantenuta quando è spenta.

Nota:

La proprietà PersistVm si applica solo a uno schema di provisioning con le proprietà CleanOnBoot e UseWriteBackCache abilitate. Se la proprietà PersistVm non è specificata per le macchine virtuali non persistenti, queste vengono eliminate dall’ambiente Azure quando vengono spente.

Nell’esempio seguente, il parametro New-ProvScheme CustomProperties imposta la proprietà PersistVm su 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-->

Nell’esempio seguente, il parametro New-ProvScheme CustomProperties mantiene la cache di write-back impostando PersistVM su 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-->

Suggerimento:

La proprietà PersistVm determina se mantenere una macchina virtuale sottoposta a provisioning. La proprietà PersistOsdisk determina se mantenere il disco del sistema operativo. Per mantenere una macchina virtuale sottoposta a provisioning, mantenere prima il disco del sistema operativo. Non eliminare il disco del sistema operativo senza prima eliminare la macchina virtuale. È possibile utilizzare la proprietà PersistOsdisk senza specificare il parametro PersistVm.

Personalizzare il comportamento di accensione in caso di errore di modifica del tipo di archiviazione

All’accensione, il tipo di archiviazione di un disco gestito potrebbe non riuscire a cambiare nel tipo desiderato a causa di un errore su Azure. In questi scenari, la VM rimarrebbe spenta con un messaggio di errore inviato all’utente. Tuttavia, è possibile scegliere di accendere la VM anche quando l’archiviazione non può essere ripristinata al tipo configurato o scegliere di mantenere la VM spenta.

  • Se si configura la proprietà personalizzata FailSafeStorageType come true (impostazione predefinita) o non la si specifica nei comandi New-ProvScheme o Set-ProvScheme:

    • All’accensione, la VM si accende con il tipo di archiviazione errato.
    • Allo spegnimento, la VM rimane spenta con il tipo di archiviazione errato.
  • Se si configura la proprietà personalizzata FailSafeStorageType come false nei comandi New-ProvScheme o Set-ProvScheme:

    • All’accensione, la VM rimane spenta con il tipo di archiviazione errato.
    • Allo spegnimento, la VM rimane spenta con il tipo di archiviazione errato.

Per creare un catalogo di macchine:

  1. Aprire una finestra PowerShell.
  2. Eseguire asnp citrix* per caricare i moduli PowerShell specifici di Citrix.
  3. Creare un pool di identità se non è già stato creato.
  4. Aggiungere la proprietà personalizzata in New-ProvScheme. Ad esempio:

    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. Creare il catalogo di macchine. Per informazioni su come creare un catalogo utilizzando l’SDK PowerShell remoto, vedere https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

Per aggiornare un catalogo di macchine esistente in modo da includere la proprietà personalizzata FailSafeStorageType. Questo aggiornamento non influisce sulle VM esistenti.

  1. Aggiornare la proprietà personalizzata nel comando Set-ProvScheme. Ad esempio:
   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-->

Per applicare la modifica apportata in Set-ProvScheme alle VM esistenti, eseguire il comando Set-ProvVMUpdateTimeWindow con i parametri -StartsNow e -DurationInMinutes -1.

  1. Eseguire il comando Set-ProvVMUpdateTimeWindow con i parametri -StartsNow e -DurationInMinutes -1. Ad esempio:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  2. Riavviare le VM.

Creare VM in grado di ibernazione

Negli ambienti Azure, è possibile creare un catalogo di macchine MCS che supporta l’ibernazione. Utilizzando questa funzionalità, è possibile sospendere una VM e quindi riconnettersi allo stato precedente della VM quando un utente effettua nuovamente l’accesso.

La capacità di ibernazione si applica a quanto segue:

  • Sistema operativo a sessione singola
  • VM persistenti e non persistenti
  • Desktop VDI statici e casuali (in pool)

È possibile riprendere la stessa sessione dopo aver ibernato una VM, indipendentemente dal fatto che il desktop VDI sia statico o casuale.

In questa sezione, vedere quanto segue:

Prerequisiti per l’utilizzo dell’ibernazione

Per utilizzare l’ibernazione, assicurarsi di completare le seguenti attività:

  • Installare l’agente VM di Azure sull’immagine master sia per Windows che per Linux. Il file di paging dell’immagine Windows può trovarsi sul disco temporaneo. MCS imposta la posizione del file di paging sull’unità C: nel disco di base quando l’ibernazione è abilitata sul catalogo di macchine.
  • MCS imposta automaticamente la proprietà di ibernazione per le risorse generate. Non è necessario configurare le proprietà delle risorse master per supportare l’ibernazione.
  • Utilizzare una dimensione di VM nella propria sottoscrizione che supporti l’ibernazione.
  • Creare un profilo di macchina in grado di ibernazione (VM o specifica del modello) in modo che le VM ereditino la capacità di ibernazione. Per creare la VM, vedere Introduzione all’ibernazione.

    Nota:

    Secondo Microsoft, è possibile distribuire VM abilitate all’ibernazione da un disco del sistema operativo. Questa funzionalità è attualmente supportata per alcune regioni e sarà presto disponibile per tutte le regioni. Per maggiori informazioni, vedere Deploy hibernation enabled VMs from an OS disk.

    Per creare la specifica del modello, eseguire le seguenti operazioni:

    1. Aprire il portale di Azure. Scegliere una VM la cui configurazione si desidera utilizzare nel modello. Selezionare Esporta modello nel riquadro sinistro.
    2. Deselezionare la casella di controllo Includi parametri. Copiare il contesto e salvarlo come file JSON, ad esempio VMExportTemplate.json.
    3. Assicurarsi che il parametro hibernationEnabled sia true nel modello. Se il parametro non è true, controllare la configurazione della VM utilizzata. È possibile specificare una dimensione di VM supportata nel file del modello. Tuttavia, è anche possibile specificare la dimensione della macchina durante la creazione del catalogo.
    4. Aggiungere il modello per la risorsa dell’interfaccia di rete al file JSON VMExportTemplate.json. Di conseguenza, si avrà un file di modello ARM con due risorse.
    5. Selezionare Portale di Azure > Specifiche del modello > Importa modello > Scegli file di modello locale per importare questo file di modello come specifica del modello ARM.
    6. Dopo la creazione della specifica del modello ARM, è possibile utilizzarla come profilo di macchina.

    Nota:

    Potrebbero essere necessari alcuni minuti per la sincronizzazione con Citrix Studio.

Per maggiori informazioni, vedere il documento Microsoft Prerequisiti per l’utilizzo dell’ibernazione.

Limitazioni

  • Sono supportati solo cataloghi di macchine con sistema operativo a sessione singola (persistenti e non persistenti).
  • I dischi del sistema operativo effimeri e le funzionalità I/O di MCS non supportano l’ibernazione di Azure.
  • L’ibernazione potrebbe fallire durante gli aggiornamenti automatici di Windows.

Per maggiori informazioni, vedere il documento Microsoft.

Creare e gestire un catalogo di macchine in grado di ibernazione

Per creare VM in grado di ibernazione, è possibile creare e gestire un catalogo di macchine in grado di ibernazione utilizzando:

Creare un catalogo utilizzando Web Studio

  1. Selezionare Crea catalogo di macchine. Si apre la procedura guidata di creazione del catalogo.
  2. Nella pagina Tipo di macchina, selezionare il tipo di macchina Sistema operativo a sessione singola per questo catalogo.
  3. Nella pagina Gestione macchine, selezionare le impostazioni come segue:

    1. Selezionare Macchine con gestione dell’alimentazione (ad esempio, macchine virtuali o PC blade).
    2. Selezionare Citrix Machine Creation Services™ (MCS).
  4. Nella pagina Esperienza desktop, selezionare l’esperienza desktop casuale o statica secondo necessità.
  5. Nella pagina Immagine, selezionare un’immagine master. Selezionare la casella di controllo Usa un profilo macchina e selezionare un profilo macchina che supporti l’ibernazione. Fare clic sulla descrizione comando per sapere se un profilo macchina supporta l’ibernazione.
  6. Nella pagina Tipi di archiviazione e licenza, selezionare l’archiviazione e la licenza da utilizzare per questo catalogo.
  7. Nella pagina Macchine virtuali, selezionare il numero di VM, la dimensione della VM e la zona di disponibilità.

    Nota:

    Vengono visualizzate solo le dimensioni delle macchine che supportano l’ibernazione per la selezione.

  8. Nella pagina NIC, aggiungere le NIC che si desidera che le VM utilizzino.
  9. Nella pagina Impostazioni disco, selezionare il tipo di archiviazione e la dimensione del disco della cache di write-back.
  10. Nella pagina Gruppo di risorse, selezionare il gruppo di risorse per il provisioning delle VM.
  11. Nella pagina Identità macchina, selezionare Crea nuovi account Active Directory. Quindi, specificare uno schema di denominazione degli account.
  12. Nella pagina Credenziali di dominio, fare clic su Immetti credenziali. Immettere le credenziali di dominio per eseguire la creazione dell’account nel dominio Active Directory di destinazione.
  13. Nella pagina Riepilogo, immettere un nome per il catalogo di macchine e quindi fare clic su Fine.

Al completamento della creazione del catalogo di macchine MCS, individuare il catalogo nell’elenco dei cataloghi e quindi fare clic sulla scheda Proprietà modello. Il valore del parametro Ibernazione deve essere Supportato.

Se si desidera modificare un catalogo di macchine, considerare le seguenti restrizioni:

  • Se il catalogo di macchine corrente supporta l’ibernazione, non è possibile:
    • Modificare la dimensione della VM in una non in grado di ibernazione.
    • Modificare il profilo macchina in uno non in grado di ibernazione.
  • Se il catalogo di macchine corrente non supporta l’ibernazione, non è possibile:
    • attualmente, modificare il profilo macchina in uno in grado di ibernazione utilizzando Web Studio.

Creare un catalogo di macchine per la gestione di VM esistenti in grado di ibernazione

Se si dispone già di VM in grado di ibernazione e si desidera sospenderle e riprenderle, creare un catalogo di macchine per importare tali VM per la gestione dell’alimentazione.

Nota:

È possibile creare un catalogo di macchine contenente sia VM in grado di ibernazione che non in grado di ibernazione. Tuttavia, se si desidera la funzionalità relativa all’ibernazione, è necessario creare il catalogo di macchine con solo VM in grado di ibernazione.

Per creare un catalogo per VM esistenti in grado di ibernazione utilizzando Web Studio, seguire le istruzioni sullo schermo per completare i passaggi e prestare attenzione alle seguenti impostazioni chiave:

  1. Nella pagina Gestione macchine, selezionare Macchine con gestione dell’alimentazione e quindi selezionare Altro servizio o tecnologia come metodo di distribuzione delle macchine.
  2. Nella pagina Macchine virtuali, aggiungere o importare solo le VM in grado di ibernazione.

Creare un catalogo di macchine utilizzando i comandi PowerShell

Dopo aver soddisfatto tutti i requisiti per l’utilizzo dell’ibernazione, è possibile creare un catalogo di macchine in grado di ibernazione utilizzando il comando New-ProvScheme. Per informazioni su come creare un catalogo utilizzando l’SDK PowerShell remoto, vedere New-ProvScheme.

Durante la creazione del catalogo, è possibile verificare se una dimensione di VM e un profilo macchina supportano l’ibernazione utilizzando i seguenti comandi PowerShell:

  • Per la dimensione della VM, eseguire il seguente comando e verificare se la proprietà supportsHibernation è True. Ad esempio,

     Get-ChildItem -AdminAddress "MyDDC.MyDomain.local" -LiteralPath @("XDHyp:\HostingUnits\ <VirtualNetwork> \serviceoffering.folder") | select Name, AdditionalData | ConvertTo-Json
     <!--NeedCopy-->
    
  • Per il profilo macchina, eseguire il seguente comando e verificare se la proprietà supportsHibernation è True. Ad esempio,

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

Se si desidera modificare un catalogo di macchine, considerare le seguenti restrizioni:

  • Se il catalogo di macchine corrente supporta l’ibernazione, non è possibile:
    • Modificare la dimensione della VM in una non in grado di ibernazione
    • Modificare il profilo macchina in uno non in grado di ibernazione
  • Se il catalogo di macchine corrente non supporta l’ibernazione, non è possibile:
    • attualmente, modificare il profilo macchina in uno in grado di ibernazione utilizzando Web Studio.

Per informazioni su come modificare la dimensione della VM e il profilo macchina di un catalogo utilizzando l’SDK PowerShell remoto, vedere https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/MachineCreation/Set-ProvScheme/.

Verificare la proprietà di ibernazione

È possibile verificare la proprietà di ibernazione di un catalogo di macchine, di una VM e di una macchina broker utilizzando i comandi PowerShell:

  • Per verificare la proprietà di ibernazione di uno schema di provisioning, eseguire i seguenti comandi PowerShell. Il parametro HibernationEnabled deve essere True.

     (Get-ProvScheme -provisioningSchemeName <YourSchemeName>).VMMetadata -join "" |  ConvertFrom-Json | Select HibernationEnabled
     <!--NeedCopy-->
    
  • Per verificare la proprietà di ibernazione di una VM di provisioning, eseguire i seguenti comandi PowerShell. Il parametro SupportsHibernation deve essere True.

     (Get-ProvVM -VMName <YourVMName>).CustomVmData | ConvertFrom-Json | Select SupportsHibernation
     <!--NeedCopy-->
    
  • Per verificare la capacità di ibernazione di una macchina broker, eseguire i seguenti comandi PowerShell. Le azioni di alimentazione Sospendi e Riprendi indicano la capacità di ibernazione.

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

Gestione dell’alimentazione delle VM in grado di ibernazione

È possibile eseguire le seguenti operazioni di gestione dell’alimentazione sulle VM in grado di ibernazione:

  • Sospendere la VM dallo stato di esecuzione
  • Riprendere la VM dallo stato sospeso
  • Spegnere forzatamente la VM da uno stato sospeso
  • Riavviare forzatamente la VM dallo stato sospeso

Vedere quanto segue per maggiori informazioni:

Sospendi

È possibile sospendere una VM utilizzando uno dei seguenti modi:

  • Manualmente utilizzando Web Studio
  • Automaticamente utilizzando la policy di timeout: Per maggiori informazioni, vedere Impostazioni varie.

Per sospendere manualmente una VM:

  1. Fare clic con il pulsante destro del mouse sulla VM e selezionare Sospendi. Fare clic su per confermare l’azione. Lo Stato di alimentazione cambia da Sospensione a Sospesa.

    Sospendere una VM in grado di ibernazione

È possibile controllare lo stato della VM nel portale di Azure.

Controllare lo stato della VM nel portale di Azure

Riprendi

Per riprendere una VM ibernata, utilizzare uno dei seguenti modi:

  • Manualmente:

    • Gli amministratori possono riprendere la VM utilizzando Web Studio.

      Riprendere la VM utilizzando Web Studio

    • Gli utenti finali possono avviare la VM utilizzando il menu Citrix Workspace™ una volta fatto clic sull’icona del desktop.

      Riprendere la VM utilizzando Citrix Workspace

  • Automaticamente:

    • Autoscale™ può accendere automaticamente le macchine ibernate se si configurano correttamente gli orari di punta. È possibile impostare gli orari di punta a intervalli di 30 minuti facendo clic sulla pianificazione oraria. Ogni riquadro blu rappresenta una fascia oraria contrassegnata come orario di punta. Gli orari di punta possono avere fasce orarie consecutive e non consecutive.

      • Fasce orarie consecutive

        Fasce orarie di punta consecutive

      • Fasce orarie non consecutive

        Fasce orarie di punta non consecutive

Nota:

In Gestisci Autoscale > Impostazioni basate sul carico, se l’Azione è configurata come Sospendi, assicurarsi che tutte le VM all’interno di quel gruppo di consegna abbiano la capacità di ibernazione. In caso contrario, le VM che non possono ibernare continueranno a funzionare.

Gestisci impostazioni basate sul carico di Autoscale

Maggiori informazioni

Per maggiori informazioni sull’ibernazione di Citrix Azure, consultare l’articolo di Citrix Tech Zone.

Gestire l’alimentazione delle VM di Azure