仮想化エンジニア奮闘記

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

XenDesktop / XenApp サイジング(4)ーXenDesktop(VDA)

皆さまお疲れ様です。

この記事ではXenDesktop(VDA)のサイジングを記事にします。

 

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

次:XenApp(VDA)サイジング

 

④XenDesktop (VDA)

VDIの肝、Virtual Delivery Agentのサイジングです。

今回は XenDesktop (VDA for Desktop OS) のサイジングとなります。

 

 

 

・CPU

VDI Handbook 上では、VDI当たり2vCPU以上を推奨しているとのことです。

(複数スレッドが同時に実行できる。1vCPUは軽いワークロードには耐えられるが、セッションがハングする可能性が高く、かつ、軽いワークロードであればXenAppの方が適している。)

 

そして、ネットワールド社のセミナ―資料では、VDIのvCPUの計算式として、下記を指針としています。

1VMのクロック数(MHz):物理CPUのクロック数(MHz) = 物理コア(pCPU):仮想コア(vCPU)

 

例えば、Xeon E5-2680 v3 × 2ソケット搭載した物理サーバーがあり、

1VMの1vCPU当たりのクロック数を500MHzで試算した場合、下記の通りになります。

(物理コアについては、Hypervisor用2コア を引いた値を使用します。)

 

500(MHz):2500(MHz) = (12*2-2):x

x = 110

→従って、1vCPU(500MHz)なら110台 、 2vCPU(1000MHz) なら55台のような計算になります。

→CPUコアの集約率としては、5VM/pCPU となります。

 

1VM当たりのクロック数はお客様の環境にもよりますが、私個人の実績値としては 400MHz~500MHz をサイジングの基準としています。

 

VDIでは、1コア当たりの集約率も焦点になりますが、1物理コア(pCPU)当たり、5VMが集約率としては妥当な線とのことです。

 

Citrix ではありませんが、VMware View でもCPU集約率のスタートラインとして、6VM/pCPUと記載がされています (p.5) ので、5VM/pCPU前後が集約率の妥当な線なのかと思われます。

Server and Storage Sizing Guide for Windows 7 Desktops in a Virtual Desktop Infrastructure

 

 

・メモリ

 導入するアプリケーションにもよりますが、Windows 7 では 2GB、Windows 10 では 4GB が割り当てメモリの指針となるかと思います。最近のOSになるに従って、メモリの使用量は増加する傾向にあります。

 

VDI Handbook および ネットワールド社セミナー資料でメモリのオーバーコミットは推奨されていないため、HWに準備するメモリ量も

1VM当たりのメモリ量 × VM総数 + Hypervisor + Buffer

を指針とします。

 

例えば、Windows 10 で考えると下記のようになるかと思います。

4GB × 110(CPUの計算式より) + 4(Hypervisor) < 444GB 以上

→例えば、32GB RDIMM × 14枚 = 448GB 以上など

(メモリも32GBとなると定価で1枚25万程度と結構高くつきますね。)

 

 

・ディスク IOPS

VDIにおいてIOPSが最も必要な動作は、マシンの起動時となります。

1VM当たりのIOPSも、最近のOSになるに従って高くなる傾向になっています。

 

VDI Handbook上で、Windows 10であれば1ユーザー当たり 20~35IOPSであり、Read:Write = 8:2 となります。

f:id:kenta53682:20170914194234p:plain

 

従って、ストレージのIOPS(1ホスト当たり)は

35(IOPS) × 110台(CPUの計算式より) = 3,850 IOPS

例えばESXiホストが10台(1,100ユーザー分)あれば

3,850 IOPS × 10ESXi = 38,500 IOPS (Read 30,800、Write 7,700)

となり、エントリーストレージ (例:Lenovo Storwize V3700 V2 で 27,000 IOPS) だと性能不足となってきます。

 

1点注意ですが、上記の20~35IOPSはあくまで最低ラインとして考えて下さい。

IOPSの上限が大きいほど、処理速度は向上します

 

 

・ディスク サイズ

ディスクサイズはプロビジョニング方式に依存します。フルクローンを使用すれば1VM当たりのディスクサイズ × VM数 分のディスクサイズが消費されますが、今はストレージに Deduplication 機能が備わっているので、Deduplication 機能を使用すればある程度の容量削減が望めるかと思います。(Deduplication の割合はストレージに依存すると思いますのでこちらでは議題に上げません。)

 

ここではMCSを使用した場合のディスクサイズを記載します。

VDI Handbook上で、Windows 10であれば1ユーザー当たり 15~20GBが差分ディスクとして使用されます

f:id:kenta53682:20170914195637p:plain

 

従って、ストレージのディスクサイズは

マスターVM:50GB × マスター数

プロビジョニングVM:15GB × VM

例えばマスター数3台、VM数1,000台であれば

(50GB × 3VM) + (15GB × 1,000) = 15TB 程度

となります。

 

 

・ネットワーク

PVSはPXEブートでネットワーク帯域を使用しますが、通常のICA通信で使用される帯域は下記にある資料が参考になります。Office、IE、印刷、動画再生でどの程度ネットワーク帯域が使用されるかの指標を記載している資料となります。 

Performance Assessment and Bandwidth Analysis for Delivering XenDesktop to Branch Offices

 

HD動画再生や大容量ファイルの印刷を頻繁に行う業務でなければ、数百Kbps/1ユーザーとなるため、1Gpbsで事足りると思われます。

 

それでは本日は以上となります。

ありがとうございました。