本ブログエントリーはPernixData社のテクノロジーエバンジェリストであるFrank Denneman氏のブログの翻訳版です。 Frank氏について、詳しくはこちらもご参照ください。
本記事の原文はInsights into VM densityで閲覧可能です。
ネットワールドのPernixDataに関する情報はこちら。本ブログのPernixDataの記事のまとめはこちら。
この3ヶ月、私がPernixDataで主にフォーカスしていたのは(現在進行形ですが・・・)PernixCloudプログラムです。PernixData CloudはPernixData Architectの論理的な進化系であり、仮想化データセンタ、そのインフラストラクチャ、そしてアプリケーションについての可視化や解析を提供します。仮想化インフラストラクチャの様々な要素についての真実を描き出すことで、設計者や管理者はデータに基づいて環境を設計できるようになるのです。
前回の記事 「ESXiホストのCPUとメモリの構成についての考察」では、8000ものESXiホストのコンピューティング構成にズームインし、今日VMware vSphereを動作させているデータセンタでどのようなシステムが最もよく利用されているのかを理解することができました。次のステップとしてふさわしいのはこれらのシステム上でどれだけの仮想マシンが平均して動作しているのかを見ることでしょう。データセットが以前よりも大きく膨らんでおり、今では25000以上ものESXiホストの情報が含まれています。
とてつもないデータセットの探検ですが、毎日のように大きくなっているのです。このように膨大な量のデータをどう取り扱っていくのかを学ぶのは大変に面白い体験です。こんなにも大きなデータセットから様々なメトリックを取り出して行くことはチャレンジングなことです。よくあるツールはこうしたデータの量に対応できるようには設計されていません。ですから、全てをカスタムで創りあげなくてはならないのです。そしてデータセットの成長が非常に速いペースであることから、ソフトウェアとハードウェアで、出来売る限りのギリギリを定期的に探検しなくてはいけないのです。
仮想マシンの密度(統合率)
どのようなシステム構成が一般的なのかを学んだあと、そのシステムの上でどれだけの仮想マシンが動作しているかすぐに気になるはずです。ですが、どれだけの詳細のレベルで知りたいでしょうか?設計者や管理者が自身のシステムと比較し、新しいデータセンタの設計に役立てることは出来るのでしょうか?
よく質問を受けるのは仮想CPUと物理CPUの割合です。これはとても興味深いものです。しかし、残念ながら、意味のある結果を得るためにはいくつかの複数のメトリックを考えに入れておく必要があります。もちろん、vCPUとpCPUの割合をマッピングすることは可能です。しかし、仮想化の創世記から脈々と続いている仮想マシンをオーバーサイズにしているという事実をどうすればよいでしょうか? シングルスレッドのプログラムしか動かしておらず、システムがシングル、もしくはダブルのCPUしか必要としていない時にはこうした議論は全く意味が無いものですが、どうすべきでしょうか? ベンダーがソフトウェアが最低、専属の状態で8CPU必要と特記事項に書いているのを何度目にしたでしょうか? ですから、正しい結果を得るためにはCPUの利用率を勘定に入れる必要があり、それによってどの時間帯のデータを利用すれば仮想マシンが適切なサイズになっているか、もしくは殆どの時間でvCPUがただアイドル状態なのかも理解しなくてはなりません。つまり静的なデータ(インベントリ)と移り変わるデータ(利用率)をミックスしなければいけないのです。メモリにも同じことが言えます。
結果についてはホストあたりの仮想マシンの密度(統合率)のみにフォーカスします。仮想化は様々なバリエーションのアプリケーションの挙動と、それらの統合、DRSやVMturboの様な分散メカニズムを前提として仮想と物理のコンピューティング構成を適切に合わせてくれます。ですから、データセンタがシステムをどれだけストレッチして利用しているのか、そして仮想マシンの統合率がどれだけなのかを見ていくことは非常に興味深いものになります。ホストあたりの仮想マシンのスイートスポットを見つけることが出来るでしょうか?
数
以前お見せしたとおり、デュアルソケットのシステムが仮想化データセンタにおいての人気の構成です。ですから、今回私はこのシステムだけにフォーカスします。この構成でデータセットは25,000以上ものESXiホストの情報を持っています。CPUのタイプを見てみましょう。
人気のシステムは合計で12,16,20,24コアを搭載しているものです。ですから、今日人気のCPUは6,8,10そして12コアということになります。しかし、我々がよく想定するようにホストを「クローズドな」システムであるとみなし、ホスト上のCPUのスケジューラーは利用可能な物理CPUに綺麗に分散されているだろうと信じて、全てのチャートはCPUごとではなく、システム内のコア数の合計として集計しています。例えば、16コアのESXiホストは2つの8コアのCPUを搭載しているとしています。
CPU構成のサブセットを見て行く前に、全体での仮想マシンの密度を見てみましょう。
どこをとってみても興味深い結果です。仮想マシンの密度が1ホストあたり0~10から250異常まで多岐にわたっています。幾つかおかしなデータが有りましたので、それは取り除いています。あるシステムは580以上の仮想マシンが16コア、192GBで動作していました。さぁ、CPUの構成毎の仮想マシンの密度を見ていきましょう。
CPU構成毎の仮想マシンの密度
すべてのデュアルソケットCPU構成ではなく、3つのよくある構成のみに絞ってあります。今日では一般的な16コアの構成と私が今年には標準的な構成になると考える20,24コアの構成です。これによって、現在データセンタで動作している平均の値と今後考えられる仮想マシンの密度を比較することができます。
メモリ
ホストメモリは仮想マシンにパフォーマンスを提供する上で不可欠ですから、CPUとメモリの構成から仮想マシンの密度を考えるのは論理的だと思っています。今日の仮想化データセンタにおける、デュアルソケットシステムのメモリの構成の分布はどうでしょうか?
16コアシステムにおけるメモリ構成と仮想マシンの密度(統合率)
16コアのESXiホストのうち、30%が384GBのメモリを搭載しています。この構成内では、21~30VMが一般的な統合率です。
20コアシステムにおけるメモリ構成と仮想マシンの密度(統合率)
20コアのESXiホストのうち、50%は256GBのメモリを搭載しています。この構成では31~40VMが一般的な統合率です。
面白いことに、平均的には16コアのシステムよりもコアあたりのメモリサイズが小さくなっています。(16コアでは24GB/コアでしたが、20コアでは12.8GB/コア)
24コアシステムにおけるメモリ構成と仮想マシンの密度(統合率)
24コアシステムのうち39%が384GBのメモリを搭載しています。この構成では101~150VMというのが一般的な統合率です。
101~150VMと言うのはVDIプラットフォームとしての利用でしょう。このぐらいの値が仮想デスクトップ環境のスイートスポットでしょうか?
結論
仮想マシンの実際の統合率のデータがわかっただけでなく、他にも面白い事実が浮き彫りになりました。こうした数字と格闘している中で気になったのは利用されているメモリ構成です。私が話をしてきた殆どの設計者はホストにメモリを搭載出来るだけ搭載し、償却期間を終えるとシステムをごっそりと入れ替えていました。しかし、私は面白い事実を見つけました。例えば、104GBや136GBというようなメモリ構成です。どうしたら104GBのメモリのシステムを構成できるでしょうか? 4GBのDIMMが実際に転がっていて、それをシステムに突っ込んだのでしょうか? メモリが多い=パフォーマンスが良い これは正しいですか? 是非私のメモリディープダイブシリーズにも目を通してください。パフォーマンスについての考えが間違いであることがわかりますが、これはちょっと脱線ですね。他に面白い事象としてデータベース内の4%もの24コアシステムが128GBのメモリしか搭載していませんでした。コアあたり5.3GB、NUMAノードあたり64GBです。これによって、VMあたりのメモリの平均値やNUMAノードあたりの統合率などへの疑問も出てきます。もっと我々がデータを見ることで、もっと多くの疑問が出てくるでしょう。あなたの疑問をぜひ聞かせてください!
訳注 : 日本語でご質問したい方は以下の私のTwitterアカウントにお気軽にご質問ください。
記事担当者: マーケティング本部 三好哲生 (@pernixdata_netw)