Compattazione dischi VHD

VHD Disk Compaction è un processo che viene eseguito ogni volta che un utente si disconnette. Il processo di compattazione è progettato per ridurre automaticamente la quantità di spazio di archiviazione del contenitore di un utente, a seconda di una soglia predefinita. Durante la fase di disconnessione, FSLogix valuta il disco per determinare se deve essere eseguita la compattazione del disco.

Nota

La compattazione del disco VHD influisce sui contenitori Profile e ODFC (incluse le configurazioni di Cache cloud)

La compattazione del disco VHD è Abilitata per impostazione predefinita. Per disabilitarla, vedere Disabilitare la compattazione del disco VHD.

Il processo di compattazione si basa sul servizio Ottimizza unità (deframsvc). Questo servizio determina le dimensioni minime supportate eseguendo una query sull'API MSFT_Partition , usando il parametro SizeMin dal metodo GetSupportedSize . Questa operazione tiene conto del percorso dei file rimovibili, ovvero i file che non possono essere spostati. Per altre informazioni, vedere Metodo GetSupportedSize della classe MSFT_Partition.

Importante

  • Se startupType del servizio Ottimizza unità (deframsvc) è impostato su Disabilitato, la compattazione del disco VHD non riuscirà a eseguire una query sulle dimensioni minime supportate e il processo non verrà eseguito. Il tipo di avvio del servizio deve essere impostato su Manuale o Automatico indipendentemente dal fatto che lo stato del servizio sia In esecuzione o Arrestato.

  • È necessario usare l'espansione dinamica dei dischi rigidi virtuali; i dischi rigidi virtuali di dimensioni fisse non possono essere compattati.

Determinazione del momento in cui viene eseguita la compattazione del disco VHD

FSLogix determina se eseguire il processo di compattazione ogni volta che un utente si disconnette. Se vengono soddisfatti i criteri seguenti, vHD Disk Compaction viene eseguito:

  • Le dimensioni del contenitore devono essere maggiori di 1 GB (dimensioni su disco).
  • Differenza (C) tra le dimensioni utilizzate su disco (A) e le dimensioni minime richieste (B). La differenza deve essere maggiore o uguale al 20% delle dimensioni utilizzate all'interno del contenitore(A).

La differenza viene calcolata come segue:

  • A - B = C
    • Se C ≥ (A x 0.2), la compattazione viene eseguita.
    • Se C < (A x 0.2), la compattazione non viene eseguita.

Scenari di esempio

Ecco alcuni esempi:

  • Esempio 1: la dimensione utilizzata di un contenitore è 6 GB. Quando chiamiamo GetSupportedSize, la dimensione minima risultante è 2,5 GB:

    • 6 - 2,5 = 3,5 GB
    • 20% di 6 GB = 1,2 GB
    • 3,5 GB è maggiore di 1,2 GB, viene eseguita la compattazione.
  • Esempio 2: la dimensione utilizzata di un contenitore è 12 GB. Quando chiamiamo GetSupportedSize, la dimensione minima risultante è 10 GB:

    • 12 - 10 = 2 GB
    • 20% di 12 GB = 2,4 GB
    • 2 GB è minore di 2,4 GB, la compattazione non viene eseguita.

Tabella di esempio:

Contenitore Correzione/dinamica Dimensioni configurate Dimensioni utilizzate Dimensioni supportate Will Compact?
<username>profile_.vhdx Dinamico 30 GB 6 GB 2.5 GB
<username>profile_.vhdx Dinamico 30 GB 12 GB 10 GB No
<username>profile_.vhdx Fisso 30 GB 30 GB N/D No

Esperienza utente

Durante l'esecuzione della compattazione, gli utenti visualizzano il messaggio Waiting for FSLogix Apps Services per un certo periodo di tempo. A seconda dello spazio da recuperare, il processo di compattazione deve richiedere una media di 20 - 30 secondi. La prima operazione compatta è la più lunga e si basa sullo spazio recuperabile e su altri fattori di risorse di calcolo.

Ogni disconnesso successivo deve essere più rapido perché la quantità di dati da compattare dovrebbe diminuire. La compattazione dischi VHD può essere eseguita per un massimo di 5 minuti. Se viene raggiunto questo valore massimo, l'operazione termina e la disconnessa continua. Durante la disconnessa successiva, l'operazione riprenderà dallo stato precedente.

Eventi di Winlogon

VHD Disk Compaction opera alla disconnessione dell'utente, che fa parte del Winlogon processo. Il Winlogon processo crea un evento di avviso ogni volta che un processo causa un timeout di disconnesso superiore a 60 secondi. Questi avvisi sono normali e previsti. Il processo di compattazione può superare i 60 secondi a seconda delle dimensioni del disco rigido virtuale (x) e dello spazio da recuperare. La Winlogon soglia è un valore fisso e non può essere modificata.

Vedere Avvisi di ritardo di Winlogon (disconnesso) per una query di Log Analytics per visualizzare il numero di operazioni che superano la soglia di 60 secondi e le relative durate.

Passaggi successivi