10GbEは単なる1GbEの高速化規格…なだけじゃない? - アダプタ編

※いろいろと情報収集しながら、自分のまとめのために書いているので、間違えや認識違いが含まれている可能性が高いです。識者の方、ご指摘頂けると嬉しいです。このエントリーは間違えを修正したり、追記したりを継続的に行っていきたいと思っています。※

すでに各社から10GbE NICがリリースされていますが、面白くなりそうなのはこれからです。それは、今後登場してくるNICが単なるNICではなくCNA (Converged Network Adapter)によるDCB (Data Center Bridging) *1中心の市場に移行していくことになっていくであろうから。ただし、標準的なEthernetと拡張Ethernet仕様とも言えるDCBは仕様として多くの違いがあるため普通には共存できません。また、DCBは完全にL2レベルの仕様となりますので、Routingすることはできません。DCB普及の最大の課題はこの壁を乗り越えるだけの価値を提供できるかどうかといえるのかもしれません。

すでにQLogic 8200シリーズや、Broadcom 87712シリーズなど、各社から続々と新世代NICがリリースされています。HBAをメインで扱っていたベンダー(QLogicなど)とNICをメインで扱っていたベンダー(Broadcomなど)、さらにはInfiniband市場をリードしているMellanoxなどまでが直接的に競合するようになり、市場シェアを巡る争いは熾烈です。いずれの製品もFCoEおよびiSCSIの完全オフロードに対応。当然ながらTCP/IPも使えますし、それらのプロトコルのオフロード処理を同時に行うことができるので、これ1枚でLANとSANのI/Oをすべて統合できます。

ところでCNAをFCoEのためのアダプタであると誤解している方が多いようなのですが、どちらかといえば逆で、FCoEがDCBを必要としていうほうが正しいような気がします。FCoEはプロトコルとしてはFCのままで足回りをFibre Channelから拡張されたEthernetに変更した規格と言えますので、通信は非常にセンシティブ。ロスレス・低遅延が求められますのでどうしてもCNAが必要なわけです。よって、DCBはiSCSIなどを使う場合であっても同様のメリットをもたらします。

  • QLogic 8200シリーズ


http://ascii.jp/elem/000/000/560/560092/

物理的には主に光ファイバーケーブルを使用(銅線の場合もある)しますのでFCのHBAのようですが、ベースはEthernetであり、その中にはFCoEであったり、iSCSIであったり、TCP/IPだったりが流れる…まさに統合インターフェイスです。

このQlogic 8200シリーズのポイントが、NPAR機能を搭載している点。NPARとはNIC Partitioningの略称で、その名の通り、10GbEの1つのインターフェイスを論理的に複数の帯域幅を指定したインターフェイスに区分してしまうことができます*2。OSからはそれぞれの論理インターフェイスがPCIeインターフェイスとして認識されますので、OS側に特別な対応は不要(ドライバは必要!)。どんなOSであっても使用することができます(QLogic 8200の場合は1ポートを最大で4つまで分割することができるようです。Dualポートのカードなので、カード当たり8つに分割できるということになります。)。

CNAはOS側からはネットワークアダプタとストレージアダプタの両方で認識されます。ストレージアダプタの場合、BIOSで構成することによってFCoEとiSCSIそれぞれのアダプタとして認識させることができます。
ちなみにHPのCNAはVirtual Connect FlexFablicと組み合わせることによって再起動したりすることなく帯域幅の再調整が可能であるメリットがありますが、QLogicはダイナミックな帯域調整までは現時点でできない模様。そのかわり、アダプタ側だけで機能していますので、どのベンダーのどのスイッチであっても組み合わせて使用することができます*3

NPARとSR-IOV (Single Root I/O Virtualization)の違いはどこにあるのでしょうか?最大のポイントは、OSもしくはHypervisor側に対応を求めるかどうかという点。NPARはOSに対して透過的なアダプタ側だけで実装されている機能ですので、どのようなOSであっても対応ドライバさえ使用することができればOS側からは単なる複数のアダプタとして可能ですが、SR-IOVは対応OS/Hypervisorとの組み合わせの場合でのみ使用することができる実装となっています。その代わり、SR-IOVはデバイスあたりに構成できる仮想インターフェイス数が128/256と、NPARの4/8よりもかなり柔軟性が高くなっています。「用途毎の通信を区分けする」ことをターゲットとしているNPARに対して、SR-IOVは「仮想マシン毎の通信を区分けする」ことを目的にしていると言えます(仮想マシンごとにSR-IOVによって用意された仮想的なアダプタを割り当て、Hypervisorを経由せずに直接的なI/Oを行う)。ちなみに、QLogic 8200はSR-IOVにも対応しています(その他、NIV(VNtag)、VEPA/VEBなど、とりあえずなんでも対応(^_^;))。

QLogicやBroadcomがCNAをリリースすることには多くのメリットがあります。最大のメリットは、各社からOEM提供されるということでしょうか。CiscoのM81KRなどはとてもよいアダプタだと思いますが、いかんせんCisco UCSでしか使用できないアダプタでした。対して、主にOEMによる販売を主軸とするQLogicやBroadcomなどがCNAの提供を始めれば、爆発的に普及していくことになるでしょう。来年は、DCB元年になるはずです。

次回はDCBを構成する要素である、TRILL、802.1Qxxなどの規格について考えてみたいと思います。
(メモリ管理シリーズもやめた訳じゃないんですが…ちょっと忙しくて止まってしまっています)

12/11 0:40 修正・追記。
12/11 0:54 修正・追記。

*1:ベンダーによってはCEE (Converged Enhanced Ethernet)と呼んだりもする

*2:当然ながら、その合計は10GbEである必要がありますが

*3:その他、FCoEやらiSCSI Boot、VLANサポート数、VLAN構成などの面でいろいろ違うみたいですが。