株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

ADSでAHVの仮想マシンをスケジュールすることが何故、他と違うのか? ちょっと解説してみる

本記事はNutanix Advent Calendar 2017への寄稿も兼ねております。是非アドベントカレンダーの他の記事もお楽しみください。

本記事の原文はNutanixコミュニティのブログNutanix Connect Blogの記事の翻訳ヴァージョンです。原文の著者はNutanix社のSr Product Marketing ManagerのMike Wronski氏によるものです。原文を参照したい方はA Quick Explanation of What Makes AHV Virtual Machine Scheduling with ADS So Uniqueをご確認ください。情報は原文の投稿時のままの情報ですので、現時点では投稿時の情報と製品とで差異が出ている場合があります。

当社のNutanix社製品についてはこちら。本ブログのNutanix関連記事のまとめページこちら

ネットワールドのNutanix関連情報はぜひ以下のポータルから取得ください(初回はID、パスワードの取得が必要です)。

Fig298

エンタープライズの仮想化についてよく知っている人であれば誰でも一定の効果を期待しています。その効果の中には仮想化プラットフォームがリソースの利用を最適化し、優れたパフォーマンスを保証する機能を提供するということも含まれています。VMwareにとってはこれはvCenter内の分散リソーススケジューラー(もしくは一般的にDRS)と呼ばれるコンポーネントです。MicrosoftではSystem Center Operations Manager(SCOM)のリソース監視とSystem Center Virtual Machine Monitor(SCVMM)を組み合わせて活用するパフォーマンスリソース最適化(PRO)ということになります。

多くの人がリソース最適化はハイパーバイザーの機能であると誤解しています。が、実際にはこれは管理プレーンからイベントドリブンで発生する自動化機能なのです。必要となる唯一のハイパーバイザーの機能は仮想マシンを別のサーバーへ停止なしに移行させる機能だけです。データの収集し、「悪い状況」の検知、それから何らかのアクションを行うとうことは外部の管理機構が行うもので、ハイパーバイザー自体が行うものではないのです。

Nutanix AcropolisソフトウェアとAcropolis Hypervisor(AHV)を組み合わせたソリューションは他の仮想化ソリューションとは異なります。これは特にAcropolis Dynamic Scheduler(ADS)を利用する場合に顕著です。その理由は:

ロードバランサーではない

なによりも声を大にしてお伝えしなければいけない1つめはADSはリソースの競合を回避するためのエンジンであって、ロードバランサーではないということです。ロードバランサー単体は大した効果を提供してくれるものではありません。仮想マシンクラスタ内のサーバ間で移動させるという作業はパフォーマンスへの影響が出るほとにリソース競合が発生しているときのみに限定すべきです。これは移動自体がリソースを多く消費するからです。ADSは仮想マシンをその移動がその移行に見合うだけの充分な効果を得られると判断した場合にのみ移動させます。

構成不要

ADSの他にはない差別化要素としての1つは管理者が構成すべきものは何一つないというところです。ADSは標準で有効となっており、機械知識ベースの実装によって一切の人的なチューニングを必要としません。Nutanixはこの機械知識の機能をXfitと名付けてグループ化しており、Prism管理ソフトウェア内で複数の機能に渡って利用しています。ADSはConstraint Satisfaction Problem(CSP ー 制約充足問題) ソルバー(解決器)と呼ばれる人工知能アルゴリズムのクラスを利用しています。CSPソルバーは幾つかの変数をベースにモデルを作成し、最終状態の許容範囲を定義してから、変数を繰り返し変更しながら、回答を探し出します。実装の洗練具合によっても違いますが、総当り的なものや、経験則に基づいて特定の部分だけを探す場合や、妥当な回答を導き出しやすくするためにフィードバックループを利用する場合もあります。一般的なCSPのプログラムの例としてあげられるのはパズル数独を解くというものでしょう。AHVの世界では回答とは仮想マシンの移行を計画するということで、クラスタからリソースの競合またはホットスポットを取り除くという事になります。

これまでに無い可視性

我々はスタック全体を提供しています。HCIインフラストラクチャから我々が開発するAHV、管理、そして自動化に至るまで。これによってNutanixは従来型の仮想化のインフラでは持ち得なかった、他にはない知見を得る事ができます。例えば、ADSはAHVから仮想マシンのリソースの利用状況を得るだけではなく、ストレージリソースをCVMコントローラーから得ることができます。従来型の3階層のアーキテクチャのストレージコントローラーを考えてみて下さい。将来的にはネットワークからアプリケーションレベルの知見に至るまで、他の入力についても考慮するようになります。

Fig299

仮想マシンの「アドバイザー」

ADSはリソースの競合の解決に利用されるだけではありません。ADSは新しい仮想マシンの配置自体がリソースの競合を発生させないということを保証し、理想的な配置はどこであるかということを提示します。ADSサービスは定期的に時系列データをチェックし、リソースの競合を見つけ出します。競合を見つけるとCSPソルバーが問題を解消するための回答となる仮想マシンの移行ソリューションを提示します。ソルバーはリソースの競合を入力として考慮する他、守らなければならないすべての仮想マシン、またはホストのアフィニティルールも加えて考慮して、移行に際して消費するリソースを最小に保ちながら最適な回答を導き出すのです。仮想マシンの移行自体がリソースを消費するということを思い出して下さい。消費されるリソースの殆どはアクティブなRAMの以降です。ソルバーは割り当てられているメモリの大きな仮想マシンよりも小さな仮想マシンの移行をオススメしてきます。

回答が見つかったら、仮想マシンが移行され、イベントとしてログに保存されます。最適な回答がない場合には、管理者がそれ以上の対応を行えるようにアラートとアラームがPrismへ発報されます。Prism Proはこれに加えて仮想マシンの移行だけでは解消できない競合を解決するためにリソースの回収とノードの拡張についてのレポートと分析を提示てくれます。ですが、これについては別の記事にしましょう。

ADSの他にはない実装は唯一つの目的だけのために設計されています : 管理者とアプリケーションオーナーの人生をより生きやすい人生に ー 複雑性を取り除くだけでなく、自動化と機械学習を活用することで継続的に最適なアプリケーションパフォーマンスを保証します。Nutanixは今後Software Defined Networking(SDN)やパブリッククラウドの管理へも拡張していきます。他にどんなデータをADSのエンジンに考慮させるべきでしょうか? ぜひフォーラムの我々の会話として継続議論しましょう。

What other metrics could be fed into the ADS engine as Nutanix expands into software defined networking (SDN) and public cloud management? We encourage you to continue that discussion on our forum. 

© 2017 Nutanix, Inc.  All rights reserved. Nutanix, AHV, and the Nutanix logo are registered trademarks or trademarks of Nutanix, Inc. in the United States and other countries. All other brand names mentioned herein are for identification purposes only and may be the trademarks of their respective holder(s).

記事担当者: マーケティング本部 三好哲生 (@Networld_NTNX

Ntc2017_2

ADSの中身をちょっと見てみよう・・・イキナリ出てくるのが制約充足問題です。この制約充足問題というのは実は厄介な問題でして、「一定の条件をクリアできる組み合わせを探しなさい」というたぐいのものです。つまり組み合わせは何種類もあって、もっと良い形もあるかもしれない・・・という問題なわけです。計算もややこしいもの(下手をすれば総当たり的なもの)になりますので、そのリソースも馬鹿になりません。つまり、現実的には「現実的なリソース消費の中で」「現実的な時間内で」「(最高ではないにしろ)なかなかのレベルで」答えを見つけると、こういう話になります。NutanixのCSPソルバーではおそらく様々なヒューリスティック(経験則)をもとにこれを実現しているのだと思います。

しかし、機械学習人工知能盛り上がっていますね。当社も何らかのアクションをということで、現在IBM Watson Application Developerの資格保有者を増やしています。IBMといえばNutanix on Powerも有りますので(Nutanixの機能としてではなく、お客様の業務の効率化のための)人工知能がNutanixの上に今後どんどん乗ってくると思います。

↓ せっかく取れたし、今回AIっぽい内容なので、載せておきます。

Watsonv3appdevprofcertification