Citrix Virtual Apps and Desktops

Administrar un catálogo de Microsoft Azure

Administrar catálogos de máquinas describe los asistentes que administran un catálogo de máquinas. La siguiente información cubre detalles específicos de los entornos de nube de Microsoft Azure Resource Manager.

Nota:

Antes de administrar un catálogo de Microsoft Azure, debes terminar de crear un catálogo de Microsoft Azure. Consulta Crear un catálogo de Microsoft Azure.

Cambiar el tipo de almacenamiento a un nivel inferior cuando una VM está apagada

Puedes ahorrar costes de almacenamiento cambiando el tipo de almacenamiento de un disco administrado a un nivel inferior cuando apagas una VM. Para ello, usa la propiedad personalizada StorageTypeAtShutdown.

El tipo de almacenamiento del disco cambia a un nivel inferior (según lo especificado en la propiedad personalizada StorageTypeAtShutdown) cuando apagas la VM. Después de encender la VM, el tipo de almacenamiento vuelve al original (según lo especificado en la propiedad personalizada StorageType o WBCDiskStorageType).

Importante:

El disco no existe hasta que la VM se enciende al menos una vez. Por lo tanto, no puedes cambiar el tipo de almacenamiento la primera vez que enciendes la VM.

Requisitos

  • Aplicable a un disco administrado. Esto implica que configuras la propiedad personalizada UseManagedDisks en true.
  • Aplicable a un catálogo persistente y no persistente con un disco de SO persistente. Esto implica que configuras la propiedad personalizada persistOsDisk en true.
  • Aplicable a un catálogo no persistente con un disco WBC persistente. Esto implica que configuras la propiedad personalizada persistWBC en true.

Restricción

  • Según Microsoft, solo puedes cambiar el tipo de disco dos veces al día. Consulta el documento de Microsoft. Según Citrix, la actualización de StorageType ocurre cada vez que hay una acción de inicio o desasignación para la VM. Por lo tanto, limita el número de acciones de encendido por VM a dos veces al día. Por ejemplo, una acción de encendido por la mañana para iniciar la VM y una por la tarde para desasignar la VM.

Cambiar el tipo de almacenamiento a un nivel inferior

Antes de continuar con los pasos, consulta los Requisitos y la Restricción.

  1. Agrega la propiedad personalizada StorageTypeAtShutdown, establece el valor en Standard_LRS (HDD) y crea un catálogo usando New-ProvScheme. Para obtener información sobre cómo crear un catálogo usando PowerShell, consulta https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

    Nota:

    Si StorageTypeAtShutdown tiene un valor distinto de vacío o Standard_LRS (HDD), la operación falla.

    Ejemplo de configuración de propiedades personalizadas al crear un catálogo persistente:

    $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="Premium_LRS" />
    <Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
    <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
    <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
    <Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
    <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
    </CustomProperties>'
    <!--NeedCopy-->
    

    Ejemplo de configuración de propiedades personalizadas al crear un catálogo no persistente:

    $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="Premium_LRS" />
    <Property xsi:type="StringProperty" Name="WbcDiskStorageType" Value="Standard_SSD_LRS" />
    <Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
    <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
    <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
    <Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
    <Property xsi:type="BooleanProperty" Name="persistWBC" Value=true />
    <Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true />
    <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
    </CustomProperties>'
    <!--NeedCopy-->
    

    Nota:

    Cuando usas un perfil de máquina, la propiedad personalizada tiene prioridad sobre la propiedad definida en MachineProfile.

  2. Apaga la VM y comprueba el tipo de almacenamiento de la VM en el portal de Azure. El tipo de almacenamiento del disco cambia a un nivel inferior, según lo especificado en la propiedad personalizada StorageTypeAtShutdown.
  3. Enciende la VM. El tipo de almacenamiento del disco vuelve al tipo de almacenamiento mencionado en:
    • Propiedad personalizada StorageType para el disco de SO
    • Propiedad personalizada WBCDiskStorageType para el disco WBC solo si la especificas en CustomProperties. De lo contrario, vuelve al tipo de almacenamiento mencionado en StorageType.

Aplicar StorageTypeAtShutdown a un catálogo existente

Antes de continuar con los pasos, consulta los Requisitos y la Restricción.

Usa Set-ProvScheme para agregar una VM a un catálogo existente. La función se aplica a las nuevas VM agregadas después de ejecutar Set-ProvScheme. Las máquinas existentes no se ven afectadas.

Ejemplo de configuración de propiedades personalizadas al agregar una VM a un catálogo existente:

$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="Premium_LRS" />
<Property xsi:type="StringProperty" Name="WbcDiskStorageType" Value="Standard_SSD_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
<Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
<Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
<Property xsi:type="BooleanProperty" Name="persistWBC" Value=true />
<Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true />
<Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
</CustomProperties>'

$ProvScheme = Get-Provscheme -ProvisioningSchemeName $CatalogName

Set-ProvScheme -ProvisioningSchemeName $ProvScheme.ProvisioningSchemeName -CustomProperties $customProperties
<!--NeedCopy-->

Cambiar el tipo de almacenamiento de las VM existentes a un nivel inferior al apagarse

Antes de continuar con los pasos, consulta los Requisitos y la Restricción.

Puedes ahorrar costes de almacenamiento cambiando el tipo de almacenamiento de las VM existentes a un nivel inferior cuando las VM están apagadas. Para ello, usa la propiedad personalizada StorageTypeAtShutdown.

Para cambiar el tipo de almacenamiento de las máquinas existentes en un catálogo a un nivel inferior cuando las VM están apagadas:

  1. Abre una ventana de PowerShell.
  2. Ejecuta asnp citrix®* para cargar los módulos de PowerShell específicos de Citrix.
  3. Ejecuta Get-Provscheme -ProvisioningSchemeName $CatalogName.
  4. Cambia la cadena de propiedades personalizadas.

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
    </CustomProperties>'
    <!--NeedCopy-->
    
  5. Actualiza el esquema de aprovisionamiento del catálogo existente. La actualización se aplica a las nuevas VM agregadas después de ejecutar Set-ProvScheme.

    Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. Actualiza las VM existentes para habilitar StorageTypeAtShutdown.

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName $CatalogName -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. Cuando enciendas las máquinas la próxima vez, la propiedad StorageTypeAtShutdown de las máquinas se actualizará. El tipo de almacenamiento cambiará en el siguiente apagado.
  8. Ejecuta el siguiente comando para ver el valor de StorageTypeAtShutdown para cada VM en un catálogo:

    Get-ProvVM -ProvisioningSchemeName <catalog-name> | foreach { $vmName = $_.VMName; $storageTypeAtShutdown = ($_.CustomVmData | ConvertFrom-Json).StorageTypeAtShutdown.DiskStorageAccountType; return New-Object psobject -Property @{ "VMName" = $vmName; "StorageTypeAtShutdown" = $storageTypeAtShutdown } }
    <!--NeedCopy-->
    

Actualizar máquinas aprovisionadas al estado actual del esquema de aprovisionamiento

El comando Set-ProvScheme cambia el esquema de aprovisionamiento. Sin embargo, no afecta a las máquinas existentes. Usando el comando de PowerShell Set-ProvVMUpdateTimeWindow, puedes aplicar el esquema de aprovisionamiento actual a una máquina persistente o no persistente existente o a un conjunto de máquinas. También puedes programar un intervalo de tiempo para las actualizaciones de configuración de las máquinas aprovisionadas por MCS existentes. Cualquier encendido o reinicio durante el intervalo de tiempo programado aplica una actualización programada del esquema de aprovisionamiento a una máquina. Actualmente, en Azure, puedes actualizar ServiceOffering, MachineProfile y las siguientes propiedades personalizadas:

  • StorageType
  • WBCDiskStorageType
  • IdentityDiskStorageType
  • LicenseType
  • DedicatedHostGroupId
  • PersistWBC
  • PersistOsDisk
  • PersistVm

Nota:

  • Solo puedes actualizar las propiedades personalizadas StorageType, WBCDiskStorageType e IdentityDiskStorageType para un catálogo que use discos administrados en entornos de Azure.
  • Si ejecutas Set-ProvVMUpdateTimeWindow dos veces, el comando más reciente surte efecto.

Puedes actualizar:

  • Una sola VM
  • Una lista de VM específicas o todas las VM existentes asociadas a un ID de esquema de aprovisionamiento
  • Una lista de VM específicas o todas las VM existentes asociadas a un nombre de esquema de aprovisionamiento (nombre de catálogo de máquinas)

Después de realizar los siguientes cambios en el esquema de aprovisionamiento, la instancia de VM se vuelve a crear para los catálogos persistentes en Azure:

  • Cambiar el MachineProfile
  • Quitar LicenseType
  • Quitar DedicatedHostGroupId

Nota:

El disco del SO de las máquinas existentes, junto con todos sus datos, permanece como está y se adjunta una nueva VM al disco.

Antes de actualizar las VM existentes:

  1. Comprueba la configuración de las máquinas existentes. Por ejemplo,

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Actualiza el esquema de aprovisionamiento. Por ejemplo,

    • Con la VM como entrada de perfil de máquina:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<virtual-machine>.vm"
       <!--NeedCopy-->
      
    • Con la especificación de plantilla como entrada de perfil de máquina:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog"
       -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<template-spec>.templatespec\<template-spec-version>.templatespecversion"
       -ServiceOffering "XDHyp:\HostingUnits\<hosting-unit>\serviceoffering.folder\<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
    • Solo con la oferta de servicio:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering "XDHyp:\HostingUnits\<hosting-unit>\serviceoffering.folder\<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
  3. Comprueba si la propiedad actual de la VM coincide con el esquema de aprovisionamiento actual y si hay alguna acción de actualización pendiente en la VM. Por ejemplo,

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

    También puedes encontrar máquinas con una versión particular. Por ejemplo,

    Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

Para solicitar actualizaciones para que las máquinas existentes se apliquen en el siguiente reinicio:

  1. Ejecuta los siguientes comandos para actualizar las máquinas existentes y que las actualizaciones se apliquen en el siguiente reinicio.
  • Para actualizar todas las máquinas existentes. Por ejemplo,

     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    
  • Para actualizar una lista de máquinas específicas. Por ejemplo,

     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    
  • Para actualizar máquinas basándose en la salida de Get-ProvVM. Por ejemplo,

     Get-ProvVM -ProvisioningSchemeName "my-catalog" | Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    

Nota:

  • StartsNow indica que la hora de inicio programada es la hora actual.
  • DurationInMinutes con un número negativo (por ejemplo, –1) indica que no hay un límite superior en la ventana de tiempo de la programación.
  1. Busca máquinas con una actualización programada. Por ejemplo,

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  2. Reinicia las máquinas. En el siguiente encendido, los cambios de propiedades se aplican a las máquinas existentes. Puedes comprobar el estado actualizado usando el siguiente comando. Por ejemplo,

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

Para programar que una VM se actualice a la configuración de aprovisionamiento más reciente la próxima vez que se inicie dentro de la ventana de tiempo programada:

  1. Ejecuta los siguientes comandos:

    • Para programar una actualización con la hora de inicio como la hora actual

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName vm1 -StartsNow -DurationInMinutes 120
       <!--NeedCopy-->
      
    • Para programar una actualización en un fin de semana

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1” -StartTimeInUTC “10/15/2022 9:00am” -DurationInMinutes (New –TimeSpan –Days 2).TotalMinutes
       <!--NeedCopy-->
      

    Nota:

    • VMName es opcional. Si no se especifica, la actualización se programa para todo el catálogo.
    • En lugar de StartTimeInUTC, usa StartsNow para indicar que la hora de inicio de la programación es la hora actual.
    • DurationInMinutes es opcional. El valor predeterminado es 120 minutos. Un número negativo (por ejemplo, –1) indica que no hay un límite superior en la ventana de tiempo de la programación.
  2. Comprueba el estado de la actualización.

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  3. Enciende la VM. Si enciendes la máquina después de la franja horaria programada, la actualización de la configuración no se aplica. Si enciendes la máquina dentro de la franja horaria programada:

    • Si la máquina está apagada y

      • no enciendes la máquina, la actualización de la configuración no se aplica
      • enciendes la máquina, la actualización de la configuración se aplica
    • Si la máquina está encendida y

      • no reinicias la máquina, la actualización de la configuración no se aplica
      • reinicias la máquina, la actualización de la configuración se aplica

Para cancelar la actualización de la configuración:

También puedes cancelar una actualización de configuración de una sola VM, varias VM o un catálogo completo. Para cancelar una actualización de configuración:

  1. Ejecuta Clear-ProvVMUpdateTimeWindow. Por ejemplo:

    • Para cancelar la actualización de configuración programada para una sola VM:

        Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1”
        <!--NeedCopy-->
      
    • Para cancelar la actualización de configuración programada para varias VM:

       Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       <!--NeedCopy-->
      

      Nota:

      Las VM deben ser del mismo catálogo.

Actualizar propiedades de VM individuales

Puedes actualizar las propiedades de VM individuales en un catálogo de máquinas MCS persistente usando el comando de PowerShell Set-ProvVM. Sin embargo, las actualizaciones no se aplican de inmediato. Debes establecer la ventana de tiempo usando el comando de PowerShell Set-ProvVMUpdateTimeWindow para que se apliquen las actualizaciones.

Esta implementación te ayuda a administrar VM individuales de manera eficiente sin actualizar todo el catálogo de máquinas. Actualmente, esta función solo es aplicable al entorno de Azure.

Actualmente, las propiedades que puedes actualizar son:

  • CustomProperties
  • ServiceOffering
  • MachineProfile

Usando esta función, puedes:

Antes de actualizar las propiedades de una VM:

  1. Abre una ventana de PowerShell.
  2. Ejecuta asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Comprueba la configuración del catálogo de máquinas existente. Por ejemplo:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    
  4. Comprueba la configuración de la VM en la que quieres aplicar las actualizaciones. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

Actualizar las propiedades de una VM

Haz lo siguiente para actualizar las propiedades de una VM:

  1. Apaga la VM en la que quieres aplicar las actualizaciones.
  2. Actualiza las propiedades de la VM. Por ejemplo, si quieres actualizar la propiedad personalizada de tipo de almacenamiento (StorageType) de la VM, ejecuta lo siguiente:

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..."
    <!--NeedCopy-->
    

    Puedes actualizar las propiedades de dos VM en un catálogo de máquinas simultáneamente. Por ejemplo:

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..."
    <!--NeedCopy-->
    
    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine2 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    

    Nota:

    Las actualizaciones no se aplican de inmediato.

  3. Obtén la lista de propiedades que se especifican para actualizar y la versión de configuración. Por ejemplo:

    Get-ProvVMConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Comprueba el valor de la propiedad Version y las propiedades que se van a actualizar (en este caso, StorageType).

  4. Comprueba la versión de configuración. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Comprueba el valor de la propiedad ProvVMConfigurationVersion. La actualización aún no se ha aplicado. La VM sigue en la configuración antigua.

  5. Solicita una actualización programada. Por ejemplo:

     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    

    Para obtener más información sobre las actualizaciones programadas, consulta Actualizar máquinas aprovisionadas al estado actual del esquema de aprovisionamiento.

    Nota:

    También se aplica cualquier actualización pendiente del esquema de aprovisionamiento.

  6. Reinicia la VM. Por ejemplo:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  7. Comprueba la versión de configuración. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Comprueba el valor de la propiedad ProvVMConfigurationVersion. La actualización ya se ha aplicado. La VM ahora tiene la nueva configuración.

  8. Para aplicar más actualizaciones de configuración en la VM, apaga la VM y repite los pasos.

Conservar las propiedades actualizadas en una VM después de actualizar el catálogo de máquinas

Haz lo siguiente para conservar las propiedades actualizadas en una VM:

  1. Apaga la VM en la que quieres aplicar las actualizaciones.
  2. Actualiza el catálogo de máquinas. Por ejemplo, si quieres cambiar el tamaño de la VM (ServiceOffering) y el tipo de almacenamiento (StorageType), ejecuta lo siguiente:

    Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    
  3. Obtén los detalles de configuración del catálogo de máquinas. Por ejemplo:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    

    Ahora, ProvisioningSchemeVersion se incrementa en uno. El tamaño de la VM y el tipo de almacenamiento también se actualizan.

  4. Actualiza las propiedades de la VM. Por ejemplo, proporciona un perfil de máquina a la VM.

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<template-spec>.templatespec\<template-spec-version>.templatespecversion"
    <!--NeedCopy-->
    

    Nota:

    La entrada del perfil de máquina tiene una etiqueta y un tamaño de VM (ServiceOffering) diferente especificados.

  5. Obtén la lista de propiedades que tendrá la VM después de fusionar las actualizaciones de configuración de la VM con las actualizaciones del catálogo de máquinas. Por ejemplo:

    Get-ProvVMConfigurationResultantSet -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Nota:

    Cualquier actualización en la VM anulará las actualizaciones realizadas en el catálogo de máquinas.

  6. Solicita una actualización programada para la VM. Por ejemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. Reinicia la VM. Por ejemplo:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    

    La VM mantiene su tamaño de VM actualizado, derivado del perfil de máquina. Los valores de etiqueta especificados en el perfil de máquina también se aplican a la VM. Sin embargo, el tipo de almacenamiento se deriva del esquema de aprovisionamiento más reciente.

  8. Obtén la versión de configuración de la VM. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Ahora, ProvisioningSchemeVersion y ProvVMConfigurationVersion muestran la versión más reciente.

Revertir las actualizaciones de configuración aplicadas a una VM

  1. Después de aplicar las actualizaciones a una VM, apaga la VM.
  2. Ejecuta el siguiente comando para quitar las actualizaciones aplicadas en la VM. Por ejemplo:

    Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    
  3. Solicita una actualización programada para la VM. Por ejemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. Reinicia la VM. Por ejemplo:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  5. Comprueba la versión de configuración de la VM. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Ahora, el valor de ProvVMConfigurationVersion es la versión de configuración del catálogo de máquinas.

Cambiar el cifrado de disco

Puedes cambiar el cifrado de disco en entornos de virtualización de Azure y hacer lo siguiente:

  • Crea un catálogo de máquinas MCS con un conjunto de cifrado de disco (DES) diferente del DES de la imagen maestra mediante el comando New-ProvScheme. Por ejemplo:

     $customProperties = @"
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="DiskEncryptionSetId" Name="Zones" Value="/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/testrsg/providers/Microsoft.Compute/diskEncryptionSets/test-diskEncryptionSet"/>
     </CustomProperties>
     "@
     New-ProvScheme -CleanOnBoot `
     -ProvisioningSchemeName $provisioningSchemeName `
     -HostingUnitName $hostingUnitName `
     -IdentityPoolName $identityPoolName `
     -InitialBatchSizeHint $numberOfVms `
     -masterImagePath $masterImagePath `
     -NetworkMapping $networkMapping `
     -CustomProperties $customProperties
     <!--NeedCopy-->
    
  • Cambia el tipo de cifrado de disco de una clave DES a otra clave DES de un catálogo de máquinas MCS existente y de las VM existentes mediante los comandos Set-ProvScheme y Set-ProvVMUpdateTimeWindow. Después de reiniciar las VM, puedes ver la clave DES actualizada. Por ejemplo:

     $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/456c683e2ed7/resourceGroups/testrg/providers/Microsoft.Compute/diskEncryptionSets/diskEncryptionSet1" />
     </CustomProperties>'
     Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    
  • Actualiza un catálogo de máquinas MCS y una VM que no estaban habilitados previamente para CMEK para que tengan cifrado de clave de cifrado administrada por el cliente (CMEK) (DES), cifrado de disco en el host o cifrado doble mediante los comandos Set-ProvScheme y Set-ProvVMUpdateTimeWindow. Para obtener información sobre los diferentes tipos de cifrado, consulta Cifrado del lado del servidor de Azure, Cifrado de disco de Azure en el host y Cifrado doble en disco administrado.

  • Actualiza un catálogo de máquinas MCS y las VM existentes para que no estén cifrados, si antes lo estaban, mediante los comandos Set-ProvScheme y Set-ProvVMUpdateTimeWindow. Por ejemplo:

     $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="" />
     </CustomProperties>'
     Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    
  • Habilita el cifrado de disco con un punto de conexión privado (un catálogo de máquinas MCS que usaba una conexión de host habilitada con ProxyHypervisorTrafficThroughConnector). Para obtener información sobre cómo habilitar el cifrado de disco con puntos de conexión privados, consulta Habilitar el cifrado de disco con un punto de conexión privado.

Habilitar el cifrado de disco con un punto de conexión privado

Según la limitación de Azure, actualmente no puedes tener cifrado del lado del servidor con claves administradas por el cliente para puntos de conexión privados. Sin embargo, puedes actualizar un catálogo de máquinas MCS existente y las VM con puntos de conexión privados para que se cifren con la clave DES.

Actualizar un catálogo de máquinas existente con puntos de conexión privados

Los pasos detallados para actualizar un catálogo de máquinas existente con puntos de conexión privados son los siguientes:

  1. Crea un catálogo sin cifrado de disco a través de ProxyHypervisorTrafficThroughConnector.
  2. Ejecuta Set-ProvScheme para actualizar el catálogo con DiskEncryptionSetId.

    Nota:

    DiskEcryptionSetId se puede configurar a través de CustomProperties o MachineProfile. Cuando se define tanto en CustomProperties como en MachineProfile, se aplican las propiedades definidas en CustomProperties.

    Ejemplo al usar CustomProperties:

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/456c683e2ed7/resourceGroups/testrg/providers/Microsoft.Compute/diskEncryptionSets/diskEncryptionSet1"/>
    </CustomProperties>'
    Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
    <!--NeedCopy-->
    

    Ejemplo al usar MachineProfile: Usa una VM que tenga el cifrado de disco habilitado o una especificación de plantilla con la configuración de cifrado de disco:

    Set-ProvScheme -ProvisioningSchemeName azure-catalog -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\testrg.resourcegroup\new-template.vm"
    <!--NeedCopy-->
    

    Alternativamente, puedes actualizar un perfil de máquina mediante Web Studio.

  3. Ejecuta Set-ProvVMUpdateTimeWindow para actualizar las VM del catálogo existentes. Por ejemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. Después de reiniciar las VM, puedes ver el cifrado de disco actualizado en los discos de la VM en el portal de Azure.
  5. Ejecuta Set-ProvScheme para deshabilitar el cifrado de disco antes de agregar nuevas VM al catálogo.

    Nota:

    Este paso es necesario porque estás actualizando un catálogo de puntos de conexión privados. Si no realizas este paso, recibirás errores al intentar agregar nuevas VM al catálogo.

    Por ejemplo:

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="" />
    </CustomProperties>'
    Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. Agrega nuevas VM al catálogo.

Los pasos detallados para actualizar VM individuales del catálogo son los siguientes:

  1. Crea un catálogo sin cifrado de disco a través de ProxyHypervisorTrafficThroughConnector.
  2. Ejecuta Set-ProvVM para actualizar la VM del catálogo con DiskEncryptionSetId.

    Nota:

    DiskEcryptionSetId se puede configurar a través de CustomProperties o MachineProfile.

    Ejemplo al usar CustomProperties:

$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/456c683e2ed7/resourceGroups/testrg/providers/Microsoft.Compute/diskEncryptionSets/diskEncryptionSet1" />
</CustomProperties>'
Set-ProvVM -ProvisioningSchemeName azure-catalog  -VMName azu01 -CustomProperties $customProperties
<!--NeedCopy-->

Ejemplo al usar MachineProfile:


Set-ProvVM -ProvisioningSchemeName azure-catalog  -VMName azu01 -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\testrg.resourcegroup\new-template.vm"

<!--NeedCopy-->
  1. Ejecuta Set-ProvVMUpdateTimeWindow para actualizar las máquinas virtuales de catálogo existentes. Por ejemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  2. Después de reiniciar las máquinas virtuales, puedes ver el cifrado de disco actualizado en los discos de las máquinas virtuales en el portal de Azure.
  3. Agrega nuevas máquinas virtuales al catálogo.

Usar disco temporal como disco WBC para catálogos existentes

Puedes usar un disco temporal de Azure como disco de caché de escritura diferida (WBC) para catálogos de máquinas MCS existentes. Usa el comando de PowerShell Set-ProvScheme para actualizar los catálogos y las máquinas virtuales existentes.

Requisitos previos

El catálogo existente debe cumplir las siguientes condiciones:

Nota:

Si el catálogo existente no cumple los siguientes requisitos, el disco WBC no se ubicará dentro del disco temporal.

  • MCSIO está habilitado: Las propiedades personalizadas WriteBackCacheMemorySize, WriteBackCacheDiskSize y UseWriteBackCache están habilitadas.
  • El disco del SO efímero no está habilitado.
  • WBC no es persistente: PersistWBC es false.
  • UseTempDiskForWBC es nulo o falso.
  • El tamaño del disco temporal debe ser mayor que el tamaño total de (tamaño del disco de caché de escritura diferida + espacio reservado para el archivo de paginación + 1 GB de espacio de búfer).

Importante:

No se permite cambiar una oferta de servicio de una con un disco temporal a una sin él, o viceversa.

Actualizar catálogos existentes

Para actualizar un catálogo existente, ejecuta los siguientes comandos:

  1. Ejecuta Set-ProvScheme en el catálogo existente para actualizar UseTempDiskForWBC a true. Por ejemplo:

    Set-ProvScheme -ProvisioningSchemeName name -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"Standard_LRS`"/><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"True`"/><Property xsi:type=`"StringProperty`" Name=`"ManagedDisksPreview`" Value=`"False`"/><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"False`"/><Property xsi:type=`"StringProperty`" Name=`"UseTempDiskForWBC`" Value=`"True`"/><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"False`"/></CustomProperties>"
    <!--NeedCopy-->
    
  2. Agrega nuevas máquinas al catálogo y enciéndelas. Las nuevas máquinas virtuales tienen un disco WBC dentro del disco temporal.

Recuperar información de máquinas virtuales de Azure, instantáneas, disco del SO y definición de imagen de galería

Puedes mostrar información de una máquina virtual de Azure, incluido el disco y el tipo de SO, la instantánea y la definición de imagen de galería. Esta información se muestra para los recursos de la imagen maestra cuando se asigna un catálogo de máquinas. Usa esta funcionalidad para ver y seleccionar una imagen de Linux o Windows. Se agregó una propiedad de PowerShell, TemplateIsWindowsTemplate, al parámetro AdditionDatafield. Este campo contiene información específica de Azure: tipo de máquina virtual, disco del SO, información de imagen de galería e información de tipo de SO. Establecer TemplateIsWindowsTemplate en True indica que el tipo de SO es Windows; establecer TemplateIsWindowsTemplate en False indica que el tipo de SO es Linux.

Sugerencia:

La información mostrada por la propiedad de PowerShell TemplateIsWindowsTemplate se deriva de la API de Azure. A veces, este campo puede estar vacío. Por ejemplo, una instantánea de un disco de datos no contiene el campo TemplateIsWindowsTemplate porque el tipo de SO no se puede recuperar de una instantánea.

Por ejemplo, establece el parámetro AdditionData de la máquina virtual de Azure en True para el tipo de SO Windows usando PowerShell:


PS C:\Users\username> (get-item XDHyp:\HostingUnits\mynetwork\image.folder\username-dev-testing-rg.resourcegroup\username-dev-tsvda.vm).AdditionalData
Key Value
ServiceOfferingDescription Standard_B2ms
HardDiskSizeGB 127
ResourceGroupName FENGHUAJ-DEV-TESTING-RG
ServiceOfferingMemory 8192
ServiceOfferingCores 2
TemplateIsWindowsTemplate True
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SupportedMachineGenerations Gen1,Gen2

<!--NeedCopy-->

Clonar un catálogo de MCS

Divide un catálogo de MCS persistente y no persistente existente en varios catálogos. Al crear un clon del esquema de aprovisionamiento original, puedes aplicar diferentes políticas y configuraciones a nivel de catálogo a subconjuntos específicos de máquinas virtuales. Esta funcionalidad es particularmente útil cuando diferentes roles funcionales dentro de una organización, como Finanzas o Ejecutivos, requieren diferentes configuraciones de recursos (por ejemplo, límites de copia de seguridad) en comparación con los usuarios estándar.

Ejemplo de uso

Un administrador gestiona un gran catálogo de máquinas virtuales. El equipo ejecutivo requiere un mayor número de copias de seguridad de lo que permite la política estándar. El administrador usa el comando Copy-ProvScheme para clonar el esquema de aprovisionamiento del catálogo existente en un nuevo catálogo. Esto permite al administrador aplicar una política de copia de seguridad dedicada al nuevo catálogo ejecutivo mientras mantiene la configuración original para el resto de la organización.

Aplicabilidad

  • Entornos de Azure
  • Catálogos de MCS persistentes y no persistentes
  • Catálogos de Citrix Provisioning aprovisionados por MCS

Limitaciones

  • Esquema de aprovisionamiento: Solo se copia la última versión del esquema de aprovisionamiento.
  • Programaciones de copia de seguridad: La programación de copia de seguridad no se copia en el nuevo catálogo; el nuevo catálogo debe tener su propia programación de copia de seguridad configurada.
  • Grupos de identidades: Los objetos relacionados con la identidad no se clonan y permanecen compartidos usando el mismo ADAccountIdentityPool.
  • Grupos de entrega: Las operaciones de grupo de entrega y las asignaciones de usuarios no se modifican ni se asocian durante el proceso de clonación.

Consideraciones importantes

  • Grupos de recursos (TargetLocation):

    • Si no proporcionas una TargetLocation (Grupo de recursos de Azure):
      • Para un grupo de recursos gestionado por Citrix, se crea un nuevo grupo de recursos gestionado por Citrix.
      • Para un grupo de recursos BYO (Bring Your Own), los nuevos recursos del esquema de aprovisionamiento se crean en el mismo grupo de recursos.
    • Si proporcionas una TargetLocation:

      • Los recursos se crean en el grupo de recursos proporcionado.
      • El grupo de recursos especificado ya debe existir en Azure.
  • Instantánea del disco base: Siempre se realiza una copia de la instantánea del disco base, independientemente de la configuración del grupo de recursos.

Requisitos previos

  • Debe haber un esquema de aprovisionamiento existente (catálogo de origen) disponible.
  • Si se especifica una ubicación de destino, el grupo de recursos de Azure de destino debe existir.

Configurar usando PowerShell

  1. Abre una ventana de PowerShell.
  2. Ejecuta el comando Copy-ProvScheme usando los parámetros requeridos: SourceProvisioningSchemeName (o SourceProvisioningSchemeUid) y TargetProvisioningSchemeName.

    Ejemplo 1: Copiar un esquema de aprovisionamiento por nombre.

    Este ejemplo copia el esquema llamado “Backup” a un nuevo esquema llamado “TestCopy”.

    Copy-ProvScheme -SourceProvisioningSchemeName Backup -TargetProvisioningSchemeName TestCopy
    <!--NeedCopy-->
    

    Ejemplo 2: Copiar un esquema de aprovisionamiento por Uid a un grupo de recursos específico.

    Este ejemplo copia un esquema usando su Uid y especifica un grupo de recursos de destino llamado “TestRg”.

    Copy-ProvScheme -SourceProvisioningSchemeUid 771e205d-1ee5-4ad2-b044-ecf3d7f24ec7 -TargetProvisioningSchemeName TestCopy -TargetLocation TestRg
    <!--NeedCopy-->
    

Identificar recursos creados por MCS

A continuación, se muestran las etiquetas que MCS agrega a los recursos. Las etiquetas de la tabla se representan como “clave”:”valor”.

Nombre del recurso Etiqueta
Disco de ID “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Imagen “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
NIC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Disco del SO “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
PrepVM “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Instantánea publicada “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Grupo de recursos “CitrixResource” : “Internal”
  CitrixSchemaVersion: 2.0
  “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Cuenta de almacenamiento “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Máquina virtual en catálogo “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Disco WBC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”

Nota:

Una máquina virtual no es visible en el inventario de Citrix si se agrega una etiqueta CitrixResource para identificarla como un recurso creado por MCS. Puedes quitar o cambiar el nombre de la etiqueta para hacerla visible.

Quitar etiquetas

Cuando creas un catálogo o una máquina virtual, se crean etiquetas en los siguientes recursos:

  • Grupo de recursos
  • Máquina virtual
  • Disco del SO
  • Disco de identidad
  • Interfaz de red
  • Cuenta de almacenamiento

Puedes quitar máquinas virtuales y catálogos de máquinas de la base de datos de Citrix y quitar etiquetas. Puedes usar:

  • Remove-ProvVM con el parámetro ForgetVM para quitar máquinas virtuales y etiquetas de una sola máquina virtual o de una lista de máquinas virtuales de un catálogo de máquinas.
  • Remove-ProvScheme con el parámetro ForgetVM para quitar un catálogo de máquinas de la base de datos de Citrix y etiquetas de un catálogo de máquinas completo.

Esta función solo se aplica a las máquinas virtuales persistentes.

Para hacer esto:

  1. Abre una ventana de PowerShell.
  2. Ejecuta asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Ejecuta Remove-ProvVM para eliminar máquinas virtuales de la base de datos de Citrix y etiquetas de las máquinas virtuales. Por ejemplo:

    Remove-ProvVM -ProvisioningSchemeName “ProvisioningSchemeName” -VMName “vmname” -ForgetVM
    <!--NeedCopy-->
    
  4. Ejecuta Remove-ProvScheme para eliminar el catálogo de máquinas de la base de datos de Citrix y las etiquetas de los catálogos de máquinas. Por ejemplo:

    Remove-ProvScheme -ProvisioningSchemeName “ProvisioningSchemeName” -ForgetVM
    <!--NeedCopy-->
    

    Nota:

    Después de usar el parámetro ForgetVM en Remove-ProvScheme, MCS elimina todas las instantáneas, incluida la instantánea del disco base, si el esquema de aprovisionamiento está presente en un grupo de recursos propio (BYORG) o en un grupo de recursos gestionado por Citrix.

Más información