あなたのネットワークにVMware NSXは必要ですか? - (3)

勢いで(3)です。...といっても、2週間ぶりですかね。(1)はこちら(2)はこちら。なお、おきまりのお約束ですが、ここは個人ブログ。会社の見解などは含まれていませんし、情報の正確性も保証されませんのでそこのところはよろしく。

さて、(1), (2), と多分に推測や個人的な認識を元に色々と自由気ままに書いてきましたが、先々週に ipSpace.net で NSX Architecture というタイトルでWebinarがあり、さらに参加者向けにVMworld2013資料の公開も始まるなど、だいぶNSXの仕様などについて理解を深めることができましたので、(3)として書くことにします。なお、WebinarのプレゼンターはipSpaceを管理しているIvan Pepelnjakさん( @ioshints )に加え、VMwareのBrad Hedlund( @bradhedlund / Blog )さんとScott Lowe( @scott_lowe / Blog )さんでした。

まずは、やはりNSXは以下の2つがあるようです。将来的には統合される方向性であることは間違いありませんが、まずはそんなかたちでリリースされそうです。

  • NSX for Multi-Hypervisor ...Nicira NVPベース
  • NSX for vSphere ...Nicira NVP + vCNS

APIレベルではNicira NVPとvCNSを統合したNSX APIとなるようですが、管理性や機能についても違いがある模様。元々vCNSの機能であった、同一サブネット内Firewall機能や、L/B、NAT、VPN機能などは NSX for vSphere に限られるようです。

NSX for Multi-Hypervisorの場合、KVMおよびXenに対しては拡張されたOpen vSwitch、ESXiに対してはNSX vSwitchを使用します。これまでのNicira NVPで対応していた「拡張された」Open vSwitchに加えて、NSX ControllerはESXiのVMkernelレベルでの実装として新たにNSX vSwitchが追加されてESXiの管理にも対応することになります(おそらく標準ではなくVIBとしてインストールすることになるのでは、と思いますが…)。また、オーバーレイ方式としてはSTTおよびGREに加えて、VXLANも使用できる様になります。スイッチベンダー各社がNSX対応を表明したHardware VTEPについては、こちらのNSXのみが対応し、Hypervisor間についてはTCPセグメンテーションオフロードなどが有効なSTTが引き続き使用される仕様となる模様です。

対してNSX for vSphereの場合、だいぶvCNSからの移行/継続性が強く意識された仕様となるようです。これまでの仮想スイッチの仕様を残しながらNSXにも対応するために、VMkernelレベルでTCPスタックを2種類用意し、これまで通りの使い方と、NSX Controllerからの管理に対応した機能それぞれに対応します。分散Firewall機能および分散L3フォワーディング機能がVMkernelレベルの機能として追加されますが、こちらはNSX vSwitchを使用するのではなく、分散仮想スイッチの拡張となる模様。よって、分散仮想スイッチが使用できるESXi Editionと、vCenter Serverが必ず必要となると思われます。

NSX Controllerに対するAPIはオープンとなる予定のため、NSXを管理するCMP (Cloud Management Platform) については汎用的な対応とされていますが、基本的にはNSX for Multi-HypervisorについてはOpenStackが、NSX for vSphereについてはvCloud Director / vCloud Automation Center が主に想定されて開発が進められていると思われます。この辺りについても、VMware自身が開発をリードしVMwareフルスタックとなるvCD/vCACに対して、OpenStackの場合はNetworkモジュールであるNeutronに対するPlug-inとしての対応となることとなるため、全ての機能をOpenStackを通じて管理・制御できることにはならないかもしれません。

…今回のエントリーではあまりNSXの技術的な中身に入っていかずに、NSX for Multi-HypervisorとNSX for vSphereの違いについてフォーカスしちゃいましたね…。
そんなわけで、つづく!?のかな…