Compartilhar via


Compactação de disco VHD

O VHD Disk Compaction é um processo que é executado sempre que um usuário sai. O processo de compactação foi projetado para diminuir automaticamente a quantidade de armazenamento do contêiner de um usuário, dependendo de um limite predefinido. Durante a fase de logout, o FSLogix avalia o disco para determinar se deve executar a compactação de disco.

Observação

A compactação de disco VHD afeta contêineres de perfil e ODFC (incluindo configurações do Cache de Nuvem)

A Compactação de Disco VHD está habilitada por padrão. Se você quiser desabilitá-lo, consulte Desabilitar Compactação de Disco VHD.

O processo de compactação depende do serviço Otimizar Drives (defragsvc). Esse serviço determina o tamanho mínimo com suporte consultando a API de MSFT_Partition , usando o parâmetro SizeMin do método GetSupportedSize . Essa operação leva em conta o local dos arquivos imóveis (ou seja, arquivos que não podem ser movidos). Para obter mais informações, consulte o método GetSupportedSize da classe MSFT_Partition.

Importante

  • Se o StartupType do serviço Optimize Drives (defragsvc) estiver definido como Desabilitado, a Compactação de Disco VHD falhará ao consultar o tamanho mínimo com suporte e o processo não será executado. O serviço StartupType deve ser definido como Manual ou Automático , independentemente de o status do serviço estar em execução ou parado.

  • Você deve usar a expansão dinâmica de discos rígidos virtuais; discos rígidos virtuais de tamanho fixo não podem ser compactados.

Determinando quando a Compactação de Disco VHD é executada

O FSLogix determina se o processo de compactação deve ser executado sempre que um usuário sai. Se os seguintes critérios forem atendidos, a Compactação de Disco VHD será executada:

  • O tamanho do contêiner deve ser maior que 1 GB (tamanho em disco).
  • Diferença(C) entre o tamanho consumido em disco(A) e o tamanho mínimo consultado(B). A diferença deve ser maior ou igual a 20% do tamanho consumido dentro do contêiner(A).

A diferença é calculada da seguinte maneira:

  • A - B = C
    • Se c ≥ (A x 0.2), a compactação será executada.
    • Se C < (A x 0.2), a compactação não será executada.

Cenários de exemplo

Aqui estão alguns exemplos:

  • Exemplo 1: o tamanho consumido de um contêiner é de 6 GB. Quando chamamos GetSupportedSize, o tamanho mínimo resultante é de 2,5 GB:

    • 6 - 2,5 = 3,5 GB
    • 20% de 6 GB = 1,2 GB
    • 3,5 GB é maior que 1,2 GB, processos de compactação.
  • Exemplo 2: o tamanho consumido de um contêiner é de 12 GB. Quando chamamos GetSupportedSize, o tamanho mínimo resultante é de 10 GB:

    • 12 - 10 = 2 GB
    • 20% de 12 GB = 2,4 GB
    • 2 GB é menor que 2,4 GB, a compactação não é executada.

Tabela de exemplo:

Contêiner Corrigido/Dinâmico Tamanho Configurado Tamanho consumido Tamanho com suporte Será compactado?
<username>profile_.vhdx Dinâmico 30 GB 6 GB 2,5 GB Yes
<username>profile_.vhdx Dinâmico 30 GB 12 GB 10 GB Não
<username>profile_.vhdx Correção 30 GB 30 GB N/A Não

Experiência do usuário

Quando a compactação é executada, os usuários veem a mensagem Aguardando os Serviços de Aplicativos FSLogix por algum tempo. Dependendo do espaço a ser recuperado, o processo de compactação deve levar uma média de 20 a 30 segundos. A primeira operação compacta é a mais longa e baseia-se no espaço recuperável e em outros fatores de recurso de computação.

Cada logout subsequente deve ser mais rápido, pois a quantidade de dados para compactar deve diminuir. A Compactação de Disco VHD pode ser executada por um máximo de 5 minutos. Se esse máximo for atingido, a operação terminará e o logout continuará. Durante o próximo logout, a operação será retomada do estado anterior.

Eventos do Winlogon

O VHD Disk Compaction funciona quando o usuário sai, que faz parte do Winlogon processo. O Winlogon processo cria um evento de aviso sempre que um processo causa que o tempo de logout exceda 60 segundos. Esses avisos são normais e esperados. O processo de compactação pode exceder 60 segundos, dependendo do tamanho do VHD(x) e do espaço a ser recuperado. O Winlogon limite é um valor fixo e não pode ser alterado.

Consulte Avisos de atraso do Winlogon (saída) para uma consulta no Log Analytics que mostra o número de operações que excedem o limite de 60 segundos e suas durações.

Próximas etapas