Microsoft Hyper-VのためのsFlowエージェント

仮想化とクラウド・コンピューティングは、動的、効率的、かつ、弾力性に優れたサービスの実現を約束するものです。これらのメリットを実現するには、ネットワークやシステム・パフォーマンスの完全な可視化が必要です。システム・アドミニストレーターが、CPUやメモリ使用量ばかりに目を向け、ネットワーク管理者が、ネットワークのコア部分のパフォーマンスだけを注目していれば良い時代は終わりました。

 例えば、仮想マシンは、サーバー負荷のバランスを取るため、あるいは、ダウンタイムを生じることなくメンテナンスを実行するため、サーバー間を移行できます。ところが、仮想マシンと、そのアプリケーションとの間の依存関係が分かっていないと、仮想マシンが別のサーバーに移る際に、ネットワーク・トラフィックが、同じ仮想スイッチ上の仮想マシン間ではなく、ネットワークのコア部分を流れてしまう場合があります。トラフィック・パターンに、このような劇的な変化が生じると、クラウド全体のパフォーマンスに問題を引き起こす可能性があります。 

sFlow規格は、パフォーマンスについて、統合的なエンド・ツー・エンド・ビューを実現します。コヒーレント(緊密に結び付いた)なフレームワークを明らかにし、ネットワークやサーバー、アプリケーションのパフォーマンスを統合的にモニタリングできます。sFlowアーキテクチャーは、生の測定値を中央のコレクターに送る多くのsFlowエージェントで構成されています。ハイスピード・スイッチ・ファブリックからのトラフィック測定値、サーバーからのシステム・マネージメント・メトリクス、仮想スイッチからの仮想マシン間トラフィック測定値、ハイパーバイザーからの仮想マシン・パフォーマンス・メトリクス、さらに、アプリケーション・トランザクション・モニタリングが連携することで、データセンター全体やクラウドのパフォーマンスについて、詳細に把握することができます。 

Microsoft Hyper-V用のsFlowエージェントは、sFlow規格を完全に実装しています。Microsoft Hyper-Vの拡張可能スイッチと一体化することで、仮想ネットワーク・トラフィックについても、物理ネットワーク・トラフィックと同様にモニタリングできます。さらに、sFlowエージェントは、物理システムや仮想マシンのパフォーマンス・メトリクスをエクスポートし、新規の仮想マシンを自動的に発見、モニタリングします。sFlowエージェントは、パフォーマンスに影響を及ぼすことなく、データセンター全体にデプロイできるよう、設計されています。Microsoft System Center Virtual Machine Managerと統合されることで、sFlowエージェントは、容易にデータセンター全体にデプロイできます。Microsoft Hyper-V用sFlowエージェントが画期的なのは、統合的かつコヒーレントなパフォーマンス・データを提供できるだけでなく、データセンター内のあらゆるリソースをモニタリングできる拡張性を備えている点です。

 Microsoft Hyper-V用sFlowエージェントは、パフォーマンスの問題を解決するのに必要な、あらゆるデータを提供してくれます。例えば、ユーザーから、アプリケーションの動きが遅いとの苦情があったとします。sFlowのデータを使って、そのアプリケーションをホスティングしているサーバーのディスク・パフォーマンスが悪くなっていることを確認し、ディスク・パフォーマンスと遅いファイル・サーバーをリンクさせ、そのファイル・サーバーにアクセスする他のクライアントを特定し、そして最後に、一つのリソースにアクセスしようと、全てのリクエストが競合していることを突き止めます。このように明確な情報に基づいたアクションを取ることで、問題が解決できます。

 パブリック・クラウドやプライベート・クラウドの運営者にとって、Microsoft Hyper-V用sFlowエージェントは、運営コストを最小限に抑える負荷状況の最適化や課金のための使用量計算に必要な拡張性に優れた統合的な可視化環境を実現してくれます。

 下記のチャートは、Microsoft Hyper-V拡張可能スイッチを通る上位のネットワーク接続を示しています。

 

 Windowsファイル共有に関わるトラフィックが大半を占めることが、すぐに分かります。このチャートは、ネットワーク・アクティビティーについて、分ごとのビューを提供するものです。

 下記のチャートは、物理サーバーのCPU使用率を示しています。

 

プロセッサー使用率は、一時的に40%にまで上昇していますが、平均して15%を若干下回っています。このチャートからは、仮想マシンを追加して実行するのに十分なキャパシティーがあるように思われます。

 最後のチャートは、サーバーと各仮想マシンのディスク・アクティビティーを示しています。

 

下記の図は、Microsoft Hyper-V用sFlowエージェントが、Microsoft Hyper-V Extensible Switch内に、どのように組み込まれているかを示すものです。

 

 sFlow extensionは、パケット送信パスに挿入され、仮想スイッチを通過するパケットをランダムにサンプリングします。パケット・サンプリング・メカニズムは、非常に軽く、送信パフォーマンスへの影響を最小限に抑えながら、詳細な可視化を実現しています。サンプリングされたパケットは、Userspace sFlowエージェントに送られ、同エージェントは、サンプリングされたパケットのヘッダーを、物理および仮想NICインターフェース・カウンター、サーバーおよび仮想マシンCPU、メモリ、I/Oのパフォーマンスと共に、sFlowコレクターにエクスポートします。

  

 sFlowエージェントのダウンロードとインストール

 Windows Server 2012のRC版が、ダウンロードできるようになりました。Windows Server 2012では、仮想化やクラウド・コンピューティングのサポートが大幅に強化されました。ここでは、大規模なWindows Server 2012クラウド・デプロイメントのパフォーマンスを管理するため、sFlow規格モニタリングをインストール、設定する方法について説明します。

 sFlowモニタリングでは、各サーバーから、パフォーマンス測定値が中央の解析アプリケーションに送ります。この例では、sFlowアナライザーのアドレスは10.0.0.50で、各Windows2012サーバーは、このアドレスに、sFlowを送信するよう設定されています。

 最初に、host-sflow.sourceforge.netから、hsflowd-win2012-X.XX.X-x64.msiファイルをダウンロードします。ファイルをダブルクリックして、インストーラーを立ち上げます:

 

 Next(次へ)ボタンをクリックします。

 

 チェックボックスをクリックしてライセンスに同意し、Nextボタンをクリックします。

  

 デフォルトの場所にインストールするには、そのまま、Nextボタンをクリックします。

  

sFlow collector(sFlowコレクター)のIPアドレス、Counter polling interval(カウンター・ポーリング・インターバル)、Sampling rate(サンプリング・レート)を入力します。上図では、sFlowコレクターのアドレスは、10.0.0.50です。デフォルトのポーリング・インターバルは20秒、デフォルトのサンプリング・レートは1/256です。ほとんどの場合、この値を変更する必要はありません。サンプリングやポーリングの設定について、詳しくはSampling ratesをご覧下さい。

 Nextボタンをクリックして、設定を確定します。

  

Install(インストール)ボタンをクリックして、インストールを開始します。しばらく待つと、ネットワーク・モニタリング・ドライバーのインストールを促すプロンプトが表示されます。Hyper-V extensible virtual switch(Microsoft Hyper-V拡張可能仮想スイッチ)をご覧下さい。

  

「InMon Corpからのソフトウェアを常に信頼する」のボックスにチェックを入れて、Installボタンをクリックし、ドライバーをインストールします。インストールが完了すると、下図のウィンドウが表示されます。

  

Finish(完了)ボタンをクリックして、インストールを完了します。

 最後にもう一つ、仮想スイッチのモニタリングを設定します。スタート画面で、hyper-v managerと入力し、Hyper-V Managerアプリケーションを起動します。

  

右側のActions欄で、Virtual Switch Manager...(仮想スイッチ・マネージャー...)をクリックし、Virtual Switch Managerを起動します。

  

 各仮想スイッチを展開し、Extensions(拡張)をクリックして、sFlow packet sampling filter(sFlowパケット・サンプリング・フィルター)(この図ではvSwitch1)を有効にします。これによって、sFlowソフトウェアのインストールと設定の手順が、全て完了し、sFlowアナライザーで、データを確認できるようになります。

 sFlowの設定(sFlow アナライザーのIP アドレス、ポーリング・インターバル、パケット・サンプリング・レート)を変更するには、Registry Editor(レジストリエディタ)を使います。スタート画面でregeditと入力し、レジストリエディタを起動します。

  

設定をダブルクリックして、値を編集します。変更した設定を有効にするには、sFlowエージェントを再起動します。

 スタート画面で、servicesと入力し、Servicesマネージャーを立ち上げます。

 

 Host sFlow Agentサービスを選択し、Restart(再起動)リンクをクリックします(または、右ボタン・メニュー・オプションを用います)。

 下図のチャートは、フリー(無償)のsFlowTrendツールを用いて、Windows Server2012からレポートされたパフォーマンス・メトリクスを表示しています。この他にも、オープンソース、あるいは、市販のsFlow解析アプリケーションが、数多くあります。詳しくは、sFlow Collectorsをご覧下さい。

 下図のチャートは、仮想スイッチを通る上位のネットワーク接続を表示しています。

 

 Windowsファイル共有に関わるトラフィックが大半を占めることが、すぐに分かります。このチャートは、ネットワーク・アクティビティーについて、仮想スイッチにインストールされたドライバーが測定した測定値に基づき、分ごとのビューを提供するものです。

 次のチャートは、サーバーのCPU使用率を示しています。

  

プロセッサー使用率は、一時的に40%にまで上昇していますが、平均して15%を若干下回っています。このチャートからは、仮想マシンを追加して実行するのに十分なキャパシティーがあるように思われます。

 この例の最後のチャートでは、サーバーと各仮想マシンのディスク・アクティビティーを表示しています。

  

全ての物理サーバー、仮想マシンが、ディスク・パフォーマンスや使用率についての主要なメトリクスと共に、表示されています。これを見ても、仮想マシンを追加しても、パフォーマンスに影響しないことが分かります。ディスクの使用率は26%にとどまり、仮想マシンは3つしかデプロイされておらず、ディスクIOアクティビティーもほとんどありません。

 sFlow規格は、スイッチ・ベンダーらに広くサポートされています。Windows Server 2012 extensible virtual switchのモニタリングにsFlowを用いることで、物理ネットワーク、仮想ネットワークの両方のパフォーマンスのモニタリングに、共通のツールを利用できるようになり、マネージメントを簡略化できます。パフォーマンス・マネージメントは、さらに簡略化が可能です。というのは、sFlowが、サーバーや仮想マシンの統計値をモニタリングする有効な手段を提供してくれるからです。ネットワークとシステムのモニタリングを一体化することで、コーディネーティッド(協調的)マネージメントに必要な統合的なパフォーマンス・ビューが実現されます。このことは、仮想化環境において、極めて重要です。データセンター・リソースのモニタリングに加え、sFlowは、パブリック・クラウド内のパフォーマンスのモニタリングにも利用できます(Rackspace cloudserversおよびAmazon EC2を参照して下さい)。これは、ハイブリッド・クラウド環境で負荷状況を最適化し、運営コストを最小限に抑えるのに必要な、統合的な可視化を実現するものです。

 パブリック・クラウド、プライベート・クラウドの運営者にとって、Hyper-V 拡張可能スイッチやOpen vSwitchがsFlowをサポートすることで、主要な商用ハイパーバイザー(Microsoft Hyper-VやCitrix XenServer)、オープンソース・ハイパーバイザー(Xen Cloud Platform (XCP)、Xen、KVM、Proxmox VE、VirtualBox)、クラウド・マネージメント・システム(OpenStack、OpenQRM、OpenNebula)に可視性が組み込まれ、料金計算や課金、運営管理管理コストに必要な、拡張性に優れた可視性が実現されます。

Windowsファイル共有に関わるトラフィックが大半を占めることが、すぐに分かります。このチャートは、ネットワーク・アクティビティーについて、分ごとのビューを提供するものです。

※ 本ソフトウェアを利用することにより生じた損害について一切の責任を負いかねますので、あらかじめご了承のうえご利用ください。