VHD ディスク圧縮
VHD ディスク圧縮は、ユーザーがサインアウトするたびに実行されるプロセスです。圧縮プロセスは、事前定義済みのしきい値に応じて、ユーザーのコンテナーのストレージ量を自動的に減らすように設計されています。 サインアウト フェーズ中に、FSLogix はディスクを評価して、ディスク圧縮を実行する必要があるかどうかを判断します。
Note
VHD ディスクの圧縮がプロファイル コンテナーと ODFC コンテナーに影響する (Cloud Cache 構成を含む)
VHD ディスク圧縮は既定で "有効" になっています。 無効にする場合は、「VHD ディスク圧縮を無効にする」を参照してください。
圧縮プロセスは、"Optimize drives" サービス (defragsvc) に依存します。 このサービスは、"MSFT_Partition" API に対して "GetSupportedSize" メソッドの "SizeMin" パラメーターを使用してクエリを実行することで、サポートされる最小サイズを決定します。 この操作は、固定ファイル (つまり、移動できないファイル) の場所を考慮します。 詳細については、「 MSFT_Partition クラスの GetSupportedSize メソッド」を参照してください。
重要
"Optimize drives" サービス (defragsvc) の "スタートアップの種類" が [無効] に設定されている場合、VHD ディスク圧縮はサポートされている最小サイズのクエリに失敗し、プロセスは実行されません。 サービスの "スタートアップの種類" は、サービスの状態が [実行中] か [停止] かに関係なく、[手動] または [自動] に設定する必要があります。
動的に拡張する仮想ハード ディスクを使用する必要があります。固定サイズの仮想ハード ディスクを圧縮することはできません。
VHD ディスク圧縮を実行するタイミングを決定する
FSLogix は、ユーザーがサインアウトするたびに圧縮プロセスを実行するかどうかを決定します。次の条件を満たすと、VHD ディスク 圧縮が実行されます。
- コンテナーのサイズが、1 GB (ディスク上のサイズ) を超える必要があります。
- ディスク上で使用されたサイズ (A) とクエリされた最小サイズ (B) の差異 (C)。 この差異はコンテナー (A) 内で使用されたサイズの 20% 以上である必要があります。
差の計算は次のようになります。
- A - B = C
- C ≥ (A x 0.2) の場合、圧縮が実行されます。
- C < (A x 0.2) の場合、圧縮は実行されません。
シナリオ例
いくつかの例を次に示します。
例 1: コンテナーで消費されたサイズは 6 GB です。 GetSupportedSize を呼び出すと、結果の最小サイズは 2.5 GB になります。
- 6 - 2.5 = 3.5 GB
- 6 GB の 20% = 1.2 GB
- 3.5 GB は 1.2 GB より大きいため、圧縮が実行されます。
例 2: コンテナーで消費されたサイズは 12 GB です。 GetSupportedSize を呼び出すと、結果の最小サイズは 10 GB になります。
- 12 - 10 = 2 GB
- 12 GB の 20% = 2.4 GB
- 2 GB は 2.4 GB 未満であるため、圧縮は実行されません。
テーブルの例
コンテナー | 固定/動的 | 構成されたサイズ | 消費されたサイズ | サポートされるサイズ | 圧縮するかどうか |
---|---|---|---|---|---|
profile_<username> .vhdx |
動的 | 30 GB | 6 GB | 2.5 GB | はい |
profile_<username> .vhdx |
動的 | 30 GB | 12 GB | 10 GB | いいえ |
profile_<username> .vhdx |
固定 | 30 GB | 30 GB | 該当なし | いいえ |
ユーザー エクスペリエンス
圧縮が実行されると、ユーザーに「FSLogix Apps Services を待機しています」というメッセージがしばらくの間表示されます。 回復するスペースに応じて、圧縮プロセスには平均 20 から 30 秒かかります。 最初の圧縮の操作が最も長くなり、回復可能な領域やその他のコンピューティング リソース要因に基づきます。
以降の各サインアウトでは、圧縮するデータの量が減るため、より迅速になります。 VHD ディスク圧縮は、最大 5 分間実行される可能性があります。 この最大値に達すると、操作は終了し、サインアウトが続行されます。 次のサインアウト中に、操作は前の状態から再開されます。
Winlogon イベント
VHD ディスク圧縮は、ユーザーのサインアウト時に Winlogon
プロセスの一部として動作します。 任意のプロセスのサインアウト時間が 60 秒を超えるたびに、Winlogon
プロセスによって警告イベントが作成されます。 これらの警告は正常であり、想定されています。 VHD(x) のサイズと回復される領域によっては、圧縮プロセスが 60 秒を超える場合があります。 Winlogon
のしきい値は固定値であり、変更できません。
60 秒のしきい値を超える操作の数とその期間を表示するには、Log Analytics クエリの「Winlogon (サインアウト) の遅延警告」をご覧ください。