仮想化エンジニア奮闘記

Citrix や VMware といったサーバー・デスクトップ仮想化の最新技術や設計情報の検証結果を共有します。(本ブログは個人のものであり、所属する会社とは関係ありません。)

XenDesktop / XenApp サイジング(7)ーProvisioning Services

皆さまお疲れ様です。

この記事ではProvisioning Services のサイジングを記事にします。

 

ポータルへ戻る場合はこちら

次:NetScalerサイジング 

 

⑧Provisioning Services

PVSではvDisk(ブートイメージ)の情報をメモリキャッシュ上に保持する(ストレージからのReadを減らす)ため、メモリのサイジングが重要となります。

 

CPU:4vCPU

VDI Handbook上では下記が指標となっています。

約500VMまでは4vCPU、それ以上の場合は8vCPUが推奨

 

上記の指標はあるものの、PVSではCPU使用率が集中することはないので、基本的に4vCPUで十分かと思います。(CPUを多くするより、PVSをスケールアウトさせた方がよい。)

 

但し、CPU数はストリーミングの最適化に影響を与えます。PVSの最大同時ストリーミング数は下記の計算式で計算できます。

Max Number of Streams = # of Ports × # of Threads / Port

 

メモリ:vDisk数に応じて変化

4GB [OS使用分] + DesktopOS イメージ数 × 2GB + ServerOS イメージ数 × 10GB

 

PVSの最初でも記載した通り、PVSではメモリのサイジングが重要となります。

ネットワールド社の資料を参考にすると

デスクトップOS:イメージ数 × 2GB

サーバーOS:イメージ数 × 10GB

をOS分に上乗せします。

 

例えば、XenDesktop用のイメージ1つ、XenApp用のイメージ1つであれば、

4GB + 1 × 2GB + 1 × 10GB = 16GB

となります。

 

※VDI Handbook上では下記の計算式となっていますが、OSは4GBを見ておいた方がよく、かつServerOSのvDiskは10GBで見ておいた方がよいです。

Total Server RAM = 2GB + (# of vDisks × 2GB)

 

なお、ターゲットデバイス側の Write Cache のサイジングは以下が指針となります。

f:id:kenta53682:20170925201859p:plain

※DesktopOSはスケール重視か、エクスペリエンス重視かでRAMサイズが変わります。

 

・ディスク:vDisk配置に応じて変化

vDiskをローカルに配置する場合は、その分の空き容量が必要となります。

vDiskの保管世代数は企業のポリシーに依存しますが、更新作業を想定して

最低でもvDiskの2~3倍の容量

は空けておいた方がよいです。

 

勿論、vDiskが共有フォルダ上にある環境(複数台のPVSサーバー環境)では、ファイルサーバー側にvDiskの2~3倍の空き容量が必要となります。

 

 

SQLデータベース:250MB (XenDesktopと同一インスタンスでOK)

Provisioning Services にも 設定値などを保存するため、データベースが必要となります。基本的にはDelivery Controller の データストアSQLサーバーと相乗りでOKです。(同じインスタンスで別DB)

 

Provisioning Services のSystem Requirementsから、おおよそ250MBをデータベースで見込んでおけばよいようです。

Provisioning Services - System requirements

→ 250 MB for the database

 

 

・ネットワーク:OSおよびターゲットデバイス数に応じて変化

Provisioning Services は PXEブートをベースにしたものなので、ネットワークIOが大きいです。そのため下記に注意した構成にすべきです。

・イメージストリーミング用のNICを用意する

・ストリーミング用のNICは10Gbps以上で構成する

・vDisk格納場所とProvisioning Services間も1Gbps以上で構成する

 

OSのブートサイズの平均サイズは下記の通りとなっています。

f:id:kenta53682:20170925200308p:plain

 

ターゲットデバイス数、およびネットワーク帯域幅に応じたOS起動時間は大よそ下記の通りとなります。

Seconds to Boot = (Number of Targets × MB Usage) / Network Throughput

 

VDI Handbook上ではWindows 10 x64 500台を起動する時間について、1Gbps と 10Gbpsで比較しています。やはり10Gbpsだとブート時間もかなり早くなります。

f:id:kenta53682:20170925200921p:plain

 

 

本日は以上となります。ありがとうございました。