Profile Management

启用 VHD 磁盘压缩

VHD 磁盘压缩是一个通过删除空白以及合并文件中的数据来减小 VHD 文件大小的过程。使用 Enable VHD disk compaction(启用 VHD 磁盘压缩)策略,您可以为 Profile Management 启用 VHD 磁盘压缩。满足特定条件时,Profile Management 创建的 VHD 文件会在用户注销时自动压缩,从而节省中央存储或云存储空间。

本文提供了有关启用 VHD 磁盘压缩以及调整默认压缩设置和行为的指导。

概述

VHDX 磁盘压缩适用于 Profile Management 中的以下 VHDX 文件:

启用 Enable VHD disk compaction(启用 VHD 磁盘压缩)策略后,当满足以下条件之一时,VHDX 文件将在用户注销时自动压缩:

  • VHD 文件的可用空间比率超过指定值(默认情况下为 20%)

    可用空间比率 = (当前 VHD 文件大小 — 所需的最小 VHD 文件大小*) ÷ 当前 VHD 文件大小

    * 使用 MSFT_Partition 类的 GetSupportedSize 方法从 Microsoft Windows 操作系统中获得。有关详细信息,请参阅获取 VHD 文件所需的最小大小

  • 自上次压缩以来的注销次数达到指定值(默认情况下为 5)

    注意:

    当用户注销时,压缩 VHD 磁盘的过程与注销过程并行发生。因此,磁盘压缩不会延长注销时间。如果用户尝试重新登录时 VHD 磁盘压缩过程未完成,Profile Management 会阻止登录尝试。

根据您的需求和可用资源,可以使用 Advanced settings(高级设置)中的以下策略调整这些默认设置:

  • 触发 VHD 磁盘压缩的可用空间比率
  • 触发 VHD 磁盘压缩的注销次数

启用 VHD 磁盘压缩后,首先使用 Windows 内置的 defrag 工具对 VHD 磁盘文件进行碎片整理,然后进行压缩。VHD 磁盘碎片整理可产生更好的压缩结果,而将其禁用可以节省系统资源。如果需要,可以在 Advanced settings(高级设置)中使用以下策略禁用碎片整理:

  • 对 VHD 磁盘压缩禁用碎片整理

启用 VHD 磁盘压缩

启用 VHD 磁盘压缩后,可以节省配置文件容器、OneDrive 容器和文件夹镜像容器消耗的存储空间。

要使用 GPO 启用 VHD 磁盘压缩,请执行以下步骤:

  1. 打开组策略管理编辑器。
  2. 访问 Policies(策略)> Administrative Templates: Policy definitions (ADMX files)(管理模板: 策略定义(ADMX 文件))> Citrix Components(Citrix 组件)> Profile Management > Profile Container settings(配置文件容器设置)
  3. 双击 VHD disk compaction(VHD 磁盘压缩)策略。
  4. 在出现的策略窗口中,选择 Enabled(已启用),然后单击 OK(确定)。

配置优先级如下所示:

  1. 如果未使用 GPO、Studio 或 Workspace Environment Management (WEM) 配置此设置,则使用 .ini 文件中的值。
  2. 如果未在任何位置配置此设置,该功能将处于禁用状态。

更改压缩设置和行为

启用 VHD 磁盘压缩可以节省存储空间,但也会消耗系统 I/O 和网络带宽。可以在压缩过程中监视系统和网络资源使用情况,以确定是否调整以下设置:

  • 触发 VHD 磁盘压缩的可用空间比率
  • 触发 VHD 磁盘压缩的注销次数
  • 对 VHD 磁盘压缩禁用碎片整理

要使用 GPO 更改默认压缩设置和行为,请执行以下步骤:

  1. 打开组策略管理编辑器。
  2. 访问 Policies(策略)> Administrative Templates: Policy definitions (ADMX files)(管理模板: 策略定义(ADMX 文件))> Citrix Components(Citrix 组件)> Profile Management > Advanced settings(高级设置)
  3. 要更改可用空间比率以触发压缩,请执行以下步骤:
    1. 双击 Free space ratio to trigger VHD disk compaction(触发 VHD 磁盘压缩的可用空间比率)策略。
    2. 在出现的策略窗口中,选择 Enabled(已启用),根据需要输入百分比,然后单击 OK(确定)。
  4. 要更改(自上次压缩以来的)注销次数以触发压缩,请执行以下步骤:
    1. 双击 Number of logoffs to trigger VHD disk compaction(触发 VHD 磁盘压缩的注销次数)策略。
    2. 在出现的策略窗口中,选择 Enabled(已启用),根据需要输入一个值,然后单击 OK(确定)。
  5. 要禁用 VHD 磁盘压缩的碎片整理,请执行以下步骤:
    1. 双击 Disable defragmentation for VHD disk compaction(对 VHD 磁盘压缩禁用碎片整理)策略。
    2. 在出现的策略窗口中,选择 Enabled(已启用),然后单击 OK(确定)。

配置优先级如下所示:

  • 触发 VHD 磁盘压缩的可用空间比率
    1. 如果未使用 GPO、Studio 或 WEM 配置此设置,则将使用 .ini 文件中的值。
    2. 如果未在任何位置配置此设置,则将使用默认值 20 (%)。
  • 触发 VHD 磁盘压缩的注销次数
    1. 如果未使用 GPO、Studio 或 WEM 配置此设置,则将使用 .ini 文件中的值。
    2. 如果未在任何位置配置此设置,则将使用默认值 5。
  • 对 VHD 磁盘压缩禁用碎片整理
    1. 如果未使用 GPO、Studio 或 WEM 配置此设置,则将使用 .ini 文件中的值。
    2. 如果未在任何位置配置此设置,碎片整理功能默认处于启用状态。

获取 VHD 文件所需的最小大小

详细步骤如下所示:

  1. 确保 VHD 文件已连接到操作系统。
  2. 以管理员身份运行此 PowerShell 命令:

    Get-WmiObject -Class MSFT_Partition -Namespace ROOT\Microsoft\Windows\Storage

    此时将显示当前桌面的所有分区。

  3. 找到与 VHD 文件对应的分区,然后使用 GetSupportedSize 方法获取所需的最小大小 (SizeMin)。
启用 VHD 磁盘压缩