WindowsのRDS(リモートデスクトップサービス)で移動ユーザープロファイルを使用した環境を構築し、運用してしばらく経つと、セッションホストで困った事態になることがあります。
それはセッションホストのCドライブの圧迫問題です。
レジュメ
環境・前提条件
- Windows Server 2016でのRDS環境
- RDセッションホストが複数台あり
- 移動ユーザープロファイルサーバーあり
こんな環境で、だいたい全部のRDセッションホストで問題が起きました。
セッションホストのCドライブの圧迫問題の原因はローカルユーザープロファイル(=移動プロファイルキャッシュ)
移動ユーザープロファイルを使用していますが、今回のCドライブの圧迫の原因はRDセッションホストのローカルのユーザプロファイルフォルダが肥大化していました。
移動ユーザープロファイルの仕組み。ログオンするたびにローカルにコピーされ削除されない
実は、移動ユーザープロファイルはユーザーログオンすると、ローカルのプロファイルフォルダにコピーされ、ログオフしてもそのローカルのプロファイルフォルダは削除されないんです。
なので、例えば、600ユーザーが10台のRDセッションホストを使用していても、均等に分散され時間が経つと、いつかは1台のRDセッションホストに全600ユーザーのプロファイルフォルダを持つことになるのです。
RDセッションホストのディスク両量サイズサイジングがポイント
RDセッションホストを導入する時は、一台のセッションホストのプロファイルフォルダがあるディスク容量のサイズサイジングが重要です。
このプロファイルフォルダが一個当たりどれくらいのサイズで、全部で何ユーザー分作られる可能性があるのか、です。
参考までに、ほとんどデータ保存をしないRDS環境では、ユーザープロファイルは1ユーザー当たり、100MB程度です。
例えば、RDS環境を使用するユーザーが全部で600ユーザーいるとしますと、RDセッションホストに必要になるプロファイルフォルダのディスクサイズは
100MB × 600ユーザー = 60GB
ユーザープロファイルのサイズだけで60GB使用するつもりでディスクサイズのサイジングする必要があります。
ディスク容量を節約したい場合は「移動ユーザープロファイルキャッシュ全体のサイズ制限」というGPO設定項目がある
この設定項目は、「コンピュータの構成」-「管理用テンプレート」-「Windowsコンポーネント」-「リモートデスクトップサービス」-「リモートデスクトップセッションホスト」-「プロファイル」にあります。
設定の意味合いは、セッションホストのローカルに保存される移動ユーザープロファイルの全体サイズを制限するとことが出来、移動ユーザープロファイル全体のサイズが指定の最大サイズを超えると、サイズが制限内に収まるまで、移動ユーザー プロファイルが古いものから順番に削除されます。
このポリシー設定を使用すると、ローカル ドライブの移動ユーザー プロファイル キャッシュ全体のサイズを制限することができます。 このポリシー設定は、リモート デスクトップ セッション ホストの役割サービスがインストールされているコンピューターにのみ適用されます。
注: 個々のユーザー プロファイルのサイズを制限するには、[プロファイルのサイズを制限する] ポリシー設定 (ユーザーの構成\ポリシー\管理用テンプレート\システム\ユーザー プロファイル) を使用します。
このポリシー設定を有効にした場合は、移動ユーザー プロファイル キャッシュ全体の監視間隔 (分) と最大サイズ (GB) を指定する必要があります。監視間隔は、移動ユーザー プロファイル キャッシュ全体のサイズを確認する頻度を決定します。移動ユーザー プロファイル キャッシュ全体のサイズが指定の最大サイズを超えると、サイズが制限内に収まるまで、移動ユーザー プロファイルが古いもの (最近使用されていないもの) から順番に削除されます。
移動ユーザープロファイルがローカルのプロファイルフォルダにキャッシュがあると良いメリット
標準では移動プロファイルを使っているユーザーがログオフすると、移動プロファイルのコピーをコンピューターのハード ディスク上に保存します。これは、ユーザーがもう一度ログオンするときに
- 移動プロファイルが保存されているサーバーが利用できない場合に使われます。
- またローカル コピーは移動ユーザー プロファイルのリモートコピーの読み込みが遅いときにも使用されます。
つまり、ローカルのユーザー プロファイルキャッシュがあると、ログオンに遅さを感じさせないことが出来ます。