Citrix Virtual Apps and Desktops 7 2402 LTSR

电源管理 Azure 虚拟机

有关所需权限的信息,请参阅所需的 Azure 权限

Azure 按需预配

借助 Azure 按需预配,仅当 Citrix Virtual Apps and Desktops™ 启动开机操作后,在预配完成后才创建虚拟机。

当您使用 MCS 在 Azure Resource Manager 中创建计算机目录时,Azure 按需预配功能具有以下特点:

  • 降低您的存储成本
  • 加快目录创建速度

创建 MCS 目录时,Azure 门户会显示资源组中的网络安全组、网络接口、基础映像和身份磁盘。

Azure 门户不会显示虚拟机,直到 Citrix Virtual Apps and Desktops 启动其开机操作。有两种类型的计算机,它们之间存在以下差异:

  • 对于池化计算机,操作系统磁盘和回写式缓存仅在虚拟机存在时才存在。当您在控制台中关闭池化计算机时,该虚拟机在 Azure 门户中不可见。如果您定期关闭计算机(例如,在工作时间之外),则可以显著节省存储成本。
  • 对于专用计算机,操作系统磁盘在虚拟机首次开机时创建。Azure 门户中的虚拟机将保留在存储中,直到计算机身份被删除。当您在控制台中关闭专用计算机时,该虚拟机在 Azure 门户中仍然可见。

注意:

对在按需预配功能之前创建的 Azure 目录(“旧版”目录)的支持已弃用。因此,请重新创建 Azure 旧版目录虚拟机。然后,这些目录将按需预配,从而节省存储成本。

在电源循环时保留已预配的虚拟机

选择在电源循环时是否保留已预配的虚拟机。使用 PowerShell 参数 New-ProvScheme CustomProperties。此参数支持一个额外的属性 PersistVm,用于确定已预配的虚拟机在电源循环时是否持久存在。将 PersistVm 属性设置为 true 以在关机时保留虚拟机,或将该属性设置为 false 以确保在关机时不保留虚拟机。

注意:

PersistVm 属性仅适用于启用了 CleanOnBootUseWriteBackCache 属性的预配方案。如果未针对非持久性虚拟机指定 PersistVm 属性,则这些虚拟机在关机时会从 Azure 环境中删除。

在以下示例中,New-ProvScheme CustomProperties 参数将 PersistVm 属性设置为 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-->

在以下示例中,New-ProvScheme CustomProperties 参数通过将 PersistVM 设置为 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-->

提示:

PersistVm 属性确定是否保留预配的虚拟机。PersistOsdisk 属性确定是否保留操作系统磁盘。要保留预配的虚拟机,请首先保留操作系统磁盘。请勿在未首先删除虚拟机的情况下删除操作系统磁盘。您可以使用 PersistOsdisk 属性,而无需指定 PersistVm 参数。

自定义存储类型更改失败时的开机行为

开机时,托管磁盘的存储类型可能由于 Azure 上的故障而无法更改为所需类型。在这种情况下,VM 将保持关机状态,并向您发送故障消息。但是,您可以选择在存储无法恢复到其配置类型时也打开 VM,或者选择保持 VM 关机。

  • 如果您将自定义属性 FailSafeStorageType 配置为 true(默认设置)或者未在 New-ProvSchemeSet-ProvScheme 命令中指定它:

    • 开机时,VM 将以不正确的存储类型开机。
    • 关机时,VM 将保持关机状态,并使用不正确的存储类型。
  • 如果您在 New-ProvSchemeSet-ProvScheme 命令中将自定义属性 FailSafeStorageType 配置为 false

    • 开机时,VM 将保持关机状态,并使用不正确的存储类型。
    • 关机时,VM 将保持关机状态,并使用不正确的存储类型。

要创建计算机目录:

  1. 打开命令行管理程序窗口。
  2. 运行 asnp citrix* 以加载思杰专用的命令行管理程序模块。
  3. 如果尚未创建,请创建身份池。
  4. New-ProvScheme 中添加自定义属性。例如:

    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. 创建计算机目录。有关如何使用远程 PowerShell SDK 创建目录的信息,请参阅 https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/

更新现有计算机目录以包含 FailSafeStorageType 自定义属性。此更新不影响现有 VM。

  1. Set-ProvScheme 命令中更新自定义属性。例如:
   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-->

要将 Set-ProvScheme 中所做的更改应用于现有 VM,请使用 -StartsNow-DurationInMinutes -1 参数运行 Set-ProvVMUpdateTimeWindow 命令。

  1. 使用 -StartsNow-DurationInMinutes -1 参数运行 Set-ProvVMUpdateTimeWindow 命令。例如:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  2. 重新启动 VM。

创建支持休眠的 VM

在 Azure 环境中,您可以创建支持休眠的 MCS 计算机目录。使用此功能,您可以挂起 VM,然后在用户再次登录时重新连接到 VM 的先前状态。

休眠功能适用于以下几种情况:

  • 单会话操作系统
  • 永久性和非永久性 VM
  • 静态和随机(池化)VDI 桌面

无论 VDI 桌面是静态还是随机的,在休眠虚拟机后,您都可以恢复到同一会话。

在本节中,请参阅以下内容:

使用休眠的先决条件

要使用休眠,请务必完成以下任务:

  • 在 Windows 和 Linux 的主映像上安装 Azure VM 代理。Windows 映像的页面文件可以位于临时磁盘上。当在计算机目录上启用休眠时,MCS 会将页面文件位置设置为基本磁盘中的 C: 驱动器。
  • MCS 会自动为所生成的资源设置休眠属性。您无需对主资源进行任何属性配置,即可使其支持休眠功能。
  • 在您的订阅中使用支持休眠的虚拟机大小。
  • 创建支持休眠的计算机配置文件(虚拟机或模板规范),以便虚拟机继承休眠功能。要创建虚拟机,请参阅 休眠入门

    注意:

    根据 Microsoft 的说法,您可以从 OS 磁盘部署启用休眠的 VM。此功能目前支持某些区域,并将很快适用于所有区域。有关详细信息,请参阅从 OS 磁盘部署启用休眠的 VM。

    要创建模板规范,请执行以下操作:

    1. 打开 Azure 门户。选择要在模板中使用的 VM 配置。在左侧窗格中选择导出模板
    2. 清除包括参数复选框。复制上下文并将其保存为 JSON 文件,例如 VMExportTemplate.json
    3. 确保模板上的参数 hibernationEnabledtrue。如果参数不是 true,请检查您使用的 VM 配置。您可以在模板文件中指定支持的 VM 大小。但是,您也可以在创建目录时指定计算机大小。
    4. 将网络接口资源的模板添加到 JSON 文件 VMExportTemplate.json。因此,您将拥有一个包含两个资源的 ARM 模板文件。
    5. 选择Azure 门户 > 模板规范 > 导入模板 > 选择本地模板文件以将此模板文件作为 ARM 模板规范导入。
    6. 创建 ARM 模板规范后,您可以将其用作计算机配置文件。

    注意:

    同步到 Citrix Studio 可能需要几分钟。

有关详细信息,请参阅 Microsoft 文档使用休眠的先决条件

局限性

  • 仅支持单会话操作系统计算机目录(持久和非持久)。
  • 临时 OS 磁盘和 MCS I/O 功能不支持 Azure 休眠。
  • 休眠在自动 Windows 更新期间可能会失败。

有关详细信息,请参阅 Microsoft 文档

创建和管理支持休眠的计算机目录

要创建支持休眠的 VM,您可以使用以下方式创建和管理支持休眠的计算机目录:

使用 Web Studio 创建目录

  1. 选择 创建计算机目录。目录创建向导将打开。
  2. 计算机类型 页面上,为此目录选择 单会话操作系统 计算机类型。
  3. 计算机管理 页面上,按如下所示选择设置:

    1. 选择 已进行电源管理的计算机(例如,虚拟机或刀片式 PC)
    2. Select Citrix Machine Creation Services™ (MCS).
  4. 桌面体验 页面上,根据需要选择随机或静态桌面体验。
  5. 映像 页面上,选择一个主映像。选中复选框 使用计算机配置文件 并选择支持休眠的计算机配置文件。单击工具提示以了解计算机配置文件是否支持休眠。
  6. 存储和许可证类型 页面上,为此目录选择要使用的存储和许可证。
  7. 在“虚拟机”页面上,选择 VM 数量、VM 大小和可用区。

    注意:

    只有支持休眠的计算机大小才会显示出来,供您选择。

  8. 在“NIC”页面上,添加您希望 VM 使用的 NIC。
  9. 在“磁盘设置”页面上,选择回写缓存磁盘的存储类型和大小。
  10. 在“资源组”页面上,选择要预配 VM 的资源组。
  11. 在“计算机身份”页面上,选择“创建新的 Active Directory 帐户”。然后,指定帐户命名方案。
  12. 在“域凭据”页面上,单击“输入凭据”。输入您的域凭据以在目标 Active Directory 域中执行帐户创建。
  13. 在“摘要”页面上,输入计算机目录的名称,然后单击“完成”。

MCS 计算机目录创建完成后,在目录列表中找到该目录,然后单击“模板属性”选项卡。参数“休眠”的值必须为“支持”。

如果要编辑计算机目录,请考虑以下限制:

  • 如果当前计算机目录支持休眠,则不能:
    • 将 VM 大小更改为不支持休眠的大小。
    • 将计算机配置文件更改为不支持休眠的配置文件。
  • 如果当前计算机目录不支持休眠,则不能:
    • 目前,使用 Web Studio 将计算机配置文件更改为可休眠的配置文件。

创建用于管理现有可休眠 VM 的计算机目录

如果您已有可休眠的 VM 并希望暂停和恢复它们,请创建一个计算机目录以导入这些 VM 进行电源管理。

注意:

您可以创建包含可休眠和不可休眠 VM 的计算机目录。但是,如果您需要与休眠相关的功能,则必须仅使用可休眠 VM 创建计算机目录。

要使用 Web Studio 为现有可休眠 VM 创建目录,请按照屏幕上的说明完成步骤,并注意以下关键设置:

  1. 计算机管理页面上,选择已进行电源管理的计算机,然后选择其他服务或技术作为部署计算机的方式。
  2. 虚拟机页面上,仅添加或导入可休眠的 VM。

使用 PowerShell 命令创建计算机目录

满足所有使用休眠的要求后,您可以使用 New-ProvScheme 命令创建可休眠的计算机目录。有关如何使用远程 PowerShell SDK 创建目录的信息,请参阅 New-ProvScheme

创建目录时,您可以使用以下 PowerShell 命令检查 VM 大小和计算机配置文件是否支持休眠:

  • 对于 VM 大小,运行以下命令并检查属性 supportsHibernation 是否为 True。例如,

     Get-ChildItem -AdminAddress "MyDDC.MyDomain.local" -LiteralPath @("XDHyp:\HostingUnits\ <VirtualNetwork> \serviceoffering.folder") | select Name, AdditionalData | ConvertTo-Json
     <!--NeedCopy-->
    
  • 对于计算机配置文件,运行以下命令并检查属性 supportsHibernation 是否为 True。例如,

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

如果要编辑计算机目录,请考虑以下限制:

  • 如果当前计算机目录支持休眠,则不能:
    • 将虚拟机大小更改为不支持休眠的大小
    • 将计算机配置文件更改为不支持休眠的配置文件
  • 如果当前计算机目录不支持休眠,则无法:
    • 目前,使用 Web Studio 将计算机配置文件更改为支持休眠的配置文件。

有关如何使用远程 PowerShell SDK 修改目录的虚拟机大小和计算机配置文件的信息,请参阅 https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/MachineCreation/Set-ProvScheme/

检查休眠属性设置

您可以使用 PowerShell 命令检查计算机目录、虚拟机和代理计算机的休眠属性:

  • 要检查预配方案的休眠属性,请运行以下 PowerShell 命令。HibernationEnabled 参数必须为 True

     (Get-ProvScheme -provisioningSchemeName <YourSchemeName>).VMMetadata -join "" |  ConvertFrom-Json | Select HibernationEnabled
     <!--NeedCopy-->
    
  • 要检查预配虚拟机的休眠属性,请运行以下 PowerShell 命令。SupportsHibernation 参数必须为 True

     (Get-ProvVM -VMName <YourVMName>).CustomVmData | ConvertFrom-Json | Select SupportsHibernation
     <!--NeedCopy-->
    
  • 要检查代理计算机的休眠容量,请运行以下 PowerShell 命令。挂起恢复电源操作表示休眠功能。

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

支持休眠的虚拟机的电源管理

您可以对支持休眠的虚拟机执行以下电源管理操作:

  • 从运行状态挂起虚拟机
  • 从挂起状态恢复虚拟机
  • 从挂起状态强制关闭虚拟机
  • 从挂起状态强制重启虚拟机

有关详细信息,请参阅以下内容:

挂起

您可以通过以下方式之一挂起虚拟机:

  • 手动通过 Web Studio 管理
  • 使用超时策略自动:有关详细信息,请参阅杂项设置

要手动挂起虚拟机:

  1. 右键单击虚拟机,然后选择挂起。单击以确认操作。电源状态正在挂起变为已挂起

    挂起支持休眠的虚拟机

您可以在 Azure 门户中检查虚拟机的状态。

在 Azure 门户中检查虚拟机的状态

恢复

要恢复已休眠的虚拟机,请使用以下方式之一:

  • 手动:

    • 管理员可以使用 Web Studio 恢复虚拟机。

      使用 Web Studio 恢复虚拟机

    • 最终用户在单击桌面图标后,可以使用 Citrix Workspace™ 菜单启动虚拟机。

      使用 Citrix Workspace 应用程序恢复虚拟机

  • 自动:

    • 如果您正确配置了高峰时段,Autoscale™ 可以自动开启休眠的计算机。您可以通过单击时间表以 30 分钟为间隔设置高峰时段。每个蓝色框代表一个标记为高峰时段的时间段。高峰时段可以包含连续和非连续的时间段。

      • 连续的时间段

        连续高峰时段

      • 非连续的时间段

        非连续高峰时段

注意:

管理 Autoscale > 基于负载的设置 中,如果 操作 配置为 挂起,则确保该交付组中的所有虚拟机都具有休眠功能。否则,无法休眠的虚拟机将继续运行。

管理 Autoscale 基于负载的设置

更多信息

有关 Citrix Azure 休眠的更多信息,请参阅 Citrix 技术专区文章

电源管理 Azure 虚拟机