Поделиться через


Сжатие диска VHD

VHD Disk Compaction — это процесс, который выполняется каждый раз, когда пользователь выходит из системы. Процесс сжатия предназначен для автоматического уменьшения объема хранилища контейнера пользователя в зависимости от предопределенного порогового значения. На этапе выхода FSLogix оценивает диск, чтобы определить, следует ли выполнять сжатие диска.

Примечание.

Сжатие диска VHD влияет на контейнеры профилей и ODFC (включая конфигурации облачного кэша )

VHD Disk Compaction по умолчанию включен. Если вы хотите отключить его, см. раздел "Отключить сжатие диска VHD".

Процесс сжатия зависит от службы "Оптимизация дисков" (defragsvc). Эта служба определяет минимальный поддерживаемый размер, запрашивая API MSFT_Partition , используя параметр SizeMin из метода GetSupportedSize . Эта операция учитывает расположение неподвижных файлов (т. е. файлов, которые не могут быть перемещены). Дополнительные сведения см. в методе GetSupportedSize класса MSFT_Partition.

Важно!

  • Если параметр StartupType службы "Оптимизация дисков " (defragsvc) имеет значение "Отключено", VHD Disk Compaction не сможет запрашивать минимальный поддерживаемый размер, и процесс не будет выполняться. Параметр StartupType службы должен иметь значение "Вручную" или "Автоматически", независимо от того, выполняется ли состояние службы или остановлено.

  • Необходимо использовать динамически расширяющиеся виртуальные жесткие диски; Не удается уплотнить виртуальные жесткие диски фиксированного размера.

Определение того, когда выполняется сжатие диска VHD

FSLogix определяет, следует ли запускать процесс сжатия при каждом выходе пользователя. Если выполнены следующие критерии, VHD Disk Compaction выполняется:

  • Размер контейнера должен превышать 1 ГБ (размер на диске).
  • Разница (C) между используемым размером на диске (A) и запрошенным минимальным размером (B). Разница должна быть больше или равна 20 % используемого размера в контейнере (A).<

Разница вычисляется следующим образом:

  • A - B = C
    • Если C ≥ (A x 0.2) выполняется сжатие.
    • Если C < (A x 0.2), сжатие не выполняется.

Пример сценариев

Вот несколько примеров.

  • Пример 1. Используемый размер контейнера составляет 6 ГБ. При вызове GetSupportedSize результирующий минимальный размер составляет 2,5 ГБ:

    • 6 – 2,5 = 3,5 ГБ
    • 20% от 6 ГБ = 1,2 ГБ
    • 3,5 ГБ больше 1,2 ГБ, выполняется сжатие.
  • Пример 2. Используемый размер контейнера составляет 12 ГБ. При вызове GetSupportedSize результирующий минимальный размер составляет 10 ГБ:

    • 12 – 10 = 2 ГБ
    • 20 % от 12 ГБ = 2,4 ГБ
    • 2 ГБ меньше 2,4 ГБ, сжатие не выполняется.

Пример таблицы:

Контейнер Исправлено или динамическое Настроенный размер Потребляемый размер Поддерживаемый размер Уилл Компакт?
<username>profile_.vhdx Динамический 30 ГБ 6 ГБ 2.5 ГБ Да
<username>profile_.vhdx Динамический 30 ГБ 12 ГБ 10 ГБ No
<username>profile_.vhdx Фиксированный 30 ГБ 30 ГБ Н/П No

Взаимодействие с пользователем

При выполнении сжатия пользователи видят сообщение "Ожидание служб FSLogix Apps Services " в течение некоторого времени. В зависимости от места для восстановления процесс сжатия должен занять в среднем 20 –30 секунд. Первая компактная операция является самой длинной и основана на восстанавливаемом пространстве и других факторах вычислительных ресурсов.

Каждый последующий выход должен быть быстрее, так как объем данных для сжатия должен уменьшаться. Сжатие диска VHD может выполняться не более 5 минут. Если достигнуто это максимальное значение, операция завершается, а выход продолжается. Во время следующего выхода операция возобновляется из предыдущего состояния.

События Winlogon

VHD Disk Compaction работает при выходе пользователя, который является частью Winlogon процесса. Процесс Winlogon создает событие предупреждения в любой момент, когда процесс приводит к превышению времени выхода в течение 60 секунд. Эти предупреждения являются нормальными и ожидаемыми. Процесс сжатия может превышать 60 секунд в зависимости от размера VHD(x) и пространства для восстановления. Пороговое Winlogon значение является фиксированным значением и не может быть изменено.

Сведения о количестве операций, превышающих 60-секундное пороговое значение и их продолжительность, см. в статье "Предупреждения о задержке" для запроса Log Analytics (выход).

Следующие шаги