管理 Azure VM 的电源
有关所需权限的信息,请参阅所需 Azure 权限。
Azure 按需预配
通过 Azure 按需预配,仅当 Citrix Virtual Apps and Desktops™ 启动开机操作且预配完成后,才会创建 VM。
当您使用 MCS 在 Azure Resource Manager 中创建计算机目录时,Azure 按需预配功能具有以下特点:
- 降低您的存储成本
- 加快目录创建速度
创建 MCS 目录时,Azure 门户会显示资源组中的网络安全组、网络接口、基础映像和身份磁盘。
Azure 门户不会显示 VM,直到 Citrix Virtual Apps and Desktops 启动其开机操作。有两种类型的计算机,它们具有以下区别:
- 对于池化计算机,操作系统磁盘和回写缓存仅在 VM 存在时才存在。当您在控制台中关闭池化计算机时,VM 在 Azure 门户中不可见。如果您定期关闭计算机(例如,在工作时间之外),则可以显著节省存储成本。
- 对于专用计算机,操作系统磁盘在 VM 首次开机时创建。Azure 门户中的 VM 会一直保留在存储中,直到计算机身份被删除。当您在控制台中关闭专用计算机时,VM 在 Azure 门户中仍然可见。
在电源循环时保留已预配的虚拟机
选择在电源循环时是否保留已预配的虚拟机。使用 PowerShell 参数 New-ProvScheme CustomProperties。此参数支持一个额外的属性 PersistVm,用于确定已预配的虚拟机在电源循环时是否持久存在。将 PersistVm 属性设置为 true 以在关机时保留虚拟机,或将该属性设置为 false 以确保在关机时不保留虚拟机。
注意:
PersistVm属性仅适用于启用了CleanOnBoot和UseWriteBackCache属性的预配方案。如果未为非持久性虚拟机指定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-ProvScheme或Set-ProvScheme命令中指定它:- 开机时,VM 以不正确的存储类型启动。
- 关机时,VM 以不正确的存储类型保持关闭状态。
-
如果您在
New-ProvScheme或Set-ProvScheme命令中将自定义属性FailSafeStorageType配置为 false:- 开机时,VM 以不正确的存储类型保持关闭状态。
- 关机时,VM 以不正确的存储类型保持关闭状态。
要创建计算机目录:
- Open a PowerShell window.
- Run
asnp citrix*to load the Citrix-specific PowerShell modules. - 如果尚未创建,请创建身份池。
-
在
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--> - 创建计算机目录。有关如何使用远程 PowerShell SDK 创建目录的信息,请参阅 https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/。
更新现有计算机目录以包含 FailSafeStorageType 自定义属性。此更新不影响现有 VM。
- 在
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 命令。
-
使用
-StartsNow和-DurationInMinutes -1参数运行Set-ProvVMUpdateTimeWindow命令。例如:Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1 <!--NeedCopy--> -
重新启动 VM。
创建支持休眠的 VM
在 Azure 环境中,您可以创建支持休眠的 MCS 计算机目录。使用此功能,您可以暂停 VM,然后在用户再次登录时重新连接到 VM 的先前状态。
此休眠功能适用于以下所列各项:
- 单会话操作系统
- 持久性和非持久性 VM
- 静态和随机(池化)VDI 桌面
休眠 VM 后,无论 VDI 桌面是静态还是随机的,您都可以恢复到同一会话。
在本节中,请参阅以下内容:
使用休眠的先决条件
要使用休眠,请确保完成以下任务:
- 在 Windows 和 Linux 的主映像上安装 Azure VM 代理。Windows 映像的页面文件可以位于临时磁盘上。当计算机目录上启用休眠时,MCS 会将页面文件位置设置为基本磁盘中的 C: 驱动器。
- MCS 会自动为所生成的资源配置休眠属性。因此,您无需额外配置主资源的属性以支持休眠功能。
- 在您的订阅中使用支持休眠的 VM 大小。
-
创建支持休眠的计算机配置文件(VM 或模板规范),以便 VM 继承休眠功能。要创建 VM,请参阅休眠入门。
注意:
根据 Microsoft 的说法,您可以从 OS 磁盘部署启用休眠的 VM。此功能目前在某些区域受支持,并将很快在所有区域可用。有关详细信息,请参阅从 OS 磁盘部署启用休眠的 VM。
要创建模板规范,请执行以下操作:
- 打开 Azure 门户。选择要在模板中使用的 VM 配置。在左侧窗格中选择 导出模板。
- 清除 包含参数 复选框。复制上下文并将其保存为 JSON 文件,例如
VMExportTemplate.json。 - 确保参数
hibernationEnabled在模板上为true。如果参数不是true,请检查您使用的 VM 配置。您可以在模板文件中指定支持的 VM 大小。但是,您也可以在创建目录时指定计算机大小。 - 将网络接口资源的模板添加到 JSON 文件
VMExportTemplate.json。这样,您就拥有了一个包含两个资源的 ARM 模板文件。 - 选择 Azure 门户 > 模板规范 > 导入模板 > 选择本地模板文件 以将此模板文件作为 ARM 模板规范导入。
- 创建 ARM 模板规范后,您可以将其用作计算机配置文件。
注意:
同步到 Citrix Studio 可能需要几分钟时间。
有关详细信息,请参阅 Microsoft 文档 使用休眠的先决条件。
局限性
- 仅支持单会话操作系统计算机目录(持久和非持久)。
- 临时操作系统磁盘和 MCS I/O 功能不支持 Azure 休眠。
- 休眠可能会在 Windows 自动更新期间失败。
有关详细信息,请参阅 Microsoft 文档。
创建和管理支持休眠的计算机目录
要创建支持休眠的 VM,可以使用以下方式创建和管理支持休眠的计算机目录:
使用 Web Studio 创建目录
- 选择 创建计算机目录。目录创建向导随即打开。
- 在计算机类型页面上,为此目录选择单会话操作系统计算机类型。
-
在计算机管理页面上,按如下所示选择设置:
- 选择已进行电源管理的计算机(例如,虚拟机或刀片式电脑)。
- 选择 Citrix 机器创建服务™ (MCS)。
- 在桌面体验页面上,根据需要选择随机或静态桌面体验。
- 在映像页面上,选择一个主映像。选中使用计算机配置文件复选框,然后选择支持休眠的计算机配置文件。单击工具提示以了解计算机配置文件是否支持休眠。
- 在存储和许可证类型页面上,选择要用于此目录的存储和许可证。
-
在虚拟机页面上,选择 VM 数量、VM 大小和可用区。
注意:
将仅显示支持休眠的虚拟机大小,以供您选择。
- 在“NIC”页面上,添加您希望 VM 使用的 NIC。
- 在“磁盘设置”页面上,选择回写缓存磁盘的存储类型和大小。
- 在“资源组”页面上,选择要预配 VM 的资源组。
- 在“计算机身份”页面上,选择“创建新的 Active Directory 帐户”。然后,指定帐户命名方案。
- 在“域凭据”页面上,单击“输入凭据”。输入您的域凭据以在目标 Active Directory 域中执行帐户创建。
- 在“摘要”页面上,输入计算机目录的名称,然后单击“完成”。
MCS 计算机目录创建完成后,在目录列表中找到该目录,然后单击“模板属性”选项卡。参数“休眠”的值必须为“支持”。
如果要编辑计算机目录,请考虑以下限制:
- 如果当前计算机目录支持休眠,则不能:
- 将 VM 大小更改为不支持休眠的大小。
- 将计算机配置文件更改为不支持休眠的配置文件。
- 如果当前计算机目录不支持休眠,则不能:
- 目前,使用 Web Studio 将计算机配置文件更改为支持休眠的配置文件。
创建用于管理现有支持休眠的 VM 的计算机目录
如果您已有支持休眠的 VM,并希望暂停和恢复它们,请创建一个计算机目录以导入这些 VM 进行电源管理。
注意:
您可以创建包含支持休眠和不支持休眠的 VM 的计算机目录。但是,如果您需要与休眠相关的功能,则必须仅使用支持休眠的 VM 创建计算机目录。
要使用 Web Studio 为现有支持休眠的 VM 创建目录,请按照屏幕上的说明完成这些步骤,并注意以下关键设置:
- 在计算机管理页面上,选择已进行电源管理的计算机,然后选择其他服务或技术作为部署计算机的方式。
- 在虚拟机页面上,仅添加或导入支持休眠的 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-->
如果要编辑计算机目录,请考虑以下限制:
- 如果当前计算机目录支持休眠,则不能:
- 将 VM 大小更改为不支持休眠的大小
- 将计算机配置文件更改为不支持休眠的配置文件
- 如果当前计算机目录不支持休眠,则无法执行以下操作:
- 目前,使用 Web Studio 将计算机配置文件更改为支持休眠的配置文件。
有关如何使用远程 PowerShell SDK 修改目录的 VM 大小和计算机配置文件的信息,请参阅 https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/MachineCreation/Set-ProvScheme/。
检查休眠属性设置
您可以使用 PowerShell 命令检查计算机目录、VM 和代理计算机的休眠属性:
-
要检查预配方案的休眠属性,请运行以下 PowerShell 命令。
HibernationEnabled参数必须为True。(Get-ProvScheme -provisioningSchemeName <YourSchemeName>).VMMetadata -join "" | ConvertFrom-Json | Select HibernationEnabled <!--NeedCopy--> -
要检查预配 VM 的休眠属性,请运行以下 PowerShell 命令。
SupportsHibernation参数必须为True。(Get-ProvVM -VMName <YourVMName>).CustomVmData | ConvertFrom-Json | Select SupportsHibernation <!--NeedCopy--> -
要检查代理计算机的休眠容量,请运行以下 PowerShell 命令。暂停和恢复电源操作表示休眠功能。
(Get-BrokerMachine -MachineName <YourMachineName>).SupportedPowerActions <!--NeedCopy-->
支持休眠的 VM 的电源管理
您可以对支持休眠的 VM 执行以下电源管理操作:
- 从运行状态暂停 VM
- 从暂停状态恢复 VM
- 从暂停状态强制关闭 VM
- 从暂停状态强制重新启动 VM
有关详细信息,请参阅以下内容:
暂停
您可以通过以下方式之一暂停虚拟机:
- 通过 Web Studio 手动操作
- 自动使用超时策略:有关详细信息,请参阅其他设置。
要手动暂停虚拟机:
-
右键单击虚拟机,然后选择暂停。单击是以确认操作。电源状态从正在暂停变为已暂停。

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

恢复
要恢复已休眠的虚拟机,请使用以下方式之一:
-
手动:
-
管理员可以使用 Web Studio 恢复虚拟机。

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

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

-
非连续的时间段

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

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