注目ブログご紹介

高速仮想ルーティングでOpenStackのコストパフォーマンスを高める


投稿者:Charlie Ashton, 6/14/2016

先日のブログ記事で、OpenStack関連の問題点を解決するウインドリバーの取り組みを、いくつかご紹介しました、これによって、仮想CPEのような通信事業者向けアプリケーションで、仮想マシンのオーケストレーション用ソリューションとして、OpenStackを使えるようになります。このトピックについては、こちらに掲載されているホワイトペーパーでも詳しく取り上げられています。

サービス事業者や企業と話していて、いつも話題に上るOpenStackの懸念がもう1つあります。ネットワーク仮想化やデータセンターなどのアプリケーションで、コスト面で大きなマイナスになりうる問題です。それは、標準のOpenStackディストリビューションに搭載された仮想ルーティング機能のパフォーマンスに制約があることです。

このブログ記事では、この性能の問題について簡単に説明するほか、対策として実証されているソリューションをご紹介します。

Neutron Routerの課題

すべてのOpenStackディストリビューションは、仮想ルータ(vRouter)を搭載しています。通常、Neutron内のカーネル機能として実装されています。このvRouterにより、(同一または異なるコンピュートノード上に存在する)クラウド内の仮想マシン間(「East-West」)や、仮想マシンと外部ネットワーク間(「North-South」)でトラフィックを転送できます。

多くの「シンプルな」アプリケーションの場合、仮想マシンで提供されるvRouterを使ったり、追加のハードウェアとして物理ルータをラックに増設したりする代わりに、Neutron vRouterを使うことが可能です。一見、コスト削減が明らかな、いい話のように思えます。

ここで注意が必要なのは、Neutron vRouterは、通常の物理アプライアンスや仮想化によって提供されるすべての機能を備えているわけではない点です。たとえば、Neutron vRouterは、静的ゲートウェイや静的ルーティング機能との共有サービスです。BGPやOSPFといった、より複雑なプロトコルをサポートしておらず、単一テナントによる所有権もサポートしていません。ネットワーク仮想化の多数のユースケースで、VNFベースのルータが必ず必要になります。

Neutron vRouterが提供する機能の範囲は限られており、Neutron vRouterには重要な制約がいくつかあります。

まず、Neutron vRouterの帯域幅は非常に限られています。通常10Gラインレートのわずか1%です。

次に、Neutron vRouterは、NATとSNAPTをサポートしていますが(低速のカーネルベースの実装ですが)、外部から発信されたトラフィック向けのデスティネーションNAT(DNAPT)はサポートしていません。

こういった制約から、Neutron vRouterは多数のアプリケーションに不向きで、ユーザはVNFベースのルータをインスタンス化するか、物理ルータを設置するかを迫られるということです。どちらの対策も、多大なコストと消費電力の負担が生じます。

Titanium Server

ウインドリバーはこのようなNeutron vRouterの制約に対して、Titanium Serverネットワーク仮想化プラットフォームよって提供されるソリューションを用意しています。

Titanium Server内では、Neutron vRouterは、高速仮想スイッチの一部として実装される高速仮想ルータ(AVR:Accelerated Virtual Router)に置き換えられます(高速仮想スイッチがもたらす運用コストのメリットについては、こちらのブログ記事をご覧ください)。

Titanium ServerのAVRは、関連するすべてのNeutron APIと完全互換なので、それらのAPIを利用して開発されたソフトウェアは、修正の必要なしに、Titanium Server上で正しく動作します。それも大幅に高速に動作します。ベンダロックインのリスクもありません。

250倍の性能アップ

複数のユースケースでテストしたところ、同一のハードウェアプラットフォームで実行するNeutron vRouterと比べて、AVRはスループットが250倍レイテンシが9倍と大幅な向上が確認されました。たとえば、256バイトのパケットでは、平均スループットが10Gラインレートの50%、平均レイテンシが51µ秒です。一方Neutron vRouterは、ラインレートの1%未満、レイテンシは571µ秒です。

機能面では、AVRはNATおよびSNAPT/DNAPTの高速化を完全サポートしています。OpenStackベースのルーティングを利用する際の重要な障害の1つを取り除くことができます。

Neutron vRouterと同様、AVRは分散ルーティングを完全サポートしています。そのため、仮想マシンと同じコンピュートノード上でvRouterを実行でき、ルーティング機能専用のネットワークノードが別途必要になることがありません。

ウインドリバーのお客様は、通信主体の多数のアプリケーションで、AVRが提供するパフォーマンスと機能により、VNFベースのルータや物理ルータが不要になることを確認しています。その結果、コストと消費電力の両面で大幅な削減を図ることができます。

最後に、AVRはリソースの有効活用の点で非常に効率的です。Titanium Server高速仮想スイッチの一部として、AVRを1つのコアプロセッサ上で実行するように構成できるので(仮想マシンに必要な帯域幅によって異なります)、収益性のある仮想マシンの実行に使用できるコアの数を最大化できます。こちらの記事では、仮想マシンの密度を高めることで得られる運用コストのメリットについて考察しています。

コストパフォーマンスが高い仮想ルーティング

結論として、Titanium ServerのAVRにより、幅広いアプリケーションでOpenStackベースのルーティングのコストパフォーマンスを高めることができます。同時に、通常のOpenStackディストリビューションで、標準のNeutron vRouterを利用するように書かれたソフトウェアとの完全互換性を透過的に維持し、ベンダロックインのリスクをなくすことが可能です。