InfiniBand探検隊リターンズ【後編】~広帯域I/Oを必要とする仮想化やDB分野で強く期待されるInfiniBand
21世紀の到来とほぼ時期を同じくして登場したInfiniBand。当初、InfiniBandはHPC(High Performance Computing)を中心に、金融証券市場や自動車関連の製造業など、特定の分野でのみ採用されるにとどまった。
しかし、最近になってHPC以外の環境(non-HPC環境)でも採用が始まってきている。例えば、仮想化や高性能DBの世界では、I/Oのボトルネックを解消するためにInfiniBandのような広帯域・低レイテンシのI/Oインターコネクト技術が強く求められるようになった。
後編では、non-HPC環境の中でも特にエンタープライズIT分野におけるInfiniBandの最新動向と、その具体的なソリューションを取り上げる。
■仮想化や高性能DBの躍進によって再びInfiniBandに注目が集まっている
non-HPC分野では、これまでどちらかというとユーザーからあまり見えない部分でInfiniBandを採用するケースがほとんどだった。その最たる例が、EMC IsilonスケールアウトNASである。EMC Isilonは、クラスタを構成するノード間を接続するインターコネクトとして、発売当初から(Ethernetと)InfiniBandを採用している。ただし、クライアント(サーバーコンピュータやクライアントPC)との接続口となるフロントエンド部分はGigabit Ethernetや10Gbit Ethernetが使用されているため、ユーザーがEMC Isilonを使用する上でInfiniBandの存在を意識することは基本的にない。
このように、InfiniBandはnon-HPC分野においても広帯域・低レイテンシが求められる特定の領域でピンポイント的に使われてきたわけだが、近年ではサーバー仮想化やデータベースなどの進化、そしてApache Hadoopのような新しい分散システム技術の登場により、多くのエンタープライズIT環境において広帯域・低レイテンシといった要件が求められている。この結果、InfiniBandが再び脚光を浴びるようになったのだ。
最近では、クラスタ型のデータベース(Oracle Exadata Database Cluster)をはじめ、InfiniBandが効果を発揮している事例がいくつか登場しているが、その中でも特に今後のエンタープライズIT環境において活躍しそうなのがInfiniBandによるI/O統合である。
■性能向上とともにケーブル類の簡素化や運用管理コストの削減にもつながるI/O統合
データセンター内のサーバーは、基本的にLANに接続するためのI/Oポートとストレージに接続するためのI/Oポートを備えている。こうしたI/Oポートには、Gigabitもしくは10Gbit Ethernetポートのほか、Fibre Channel(FC) SANにつなぎこむためのFibre Channelポートなどが用いられている。そして、パスの冗長化や帯域幅の確保を目的として複数のI/Oポートをグループ化して利用するケースも多い。
近年では、マルチコアCPUや大容量メモリを搭載する高性能サーバーの処理能力を生かすソリューションとして、サーバー仮想化技術が急速に普及している。1台の物理サーバーに多数の仮想サーバーを集約できるようになった反面、それぞれの仮想サーバーがやり取りするデータの入出力も1カ所に集約されるために、物理サーバーのI/O部分が大きなボトルネックとなってしまっている。
こうしたボトルネックを軽減するには、I/Oポートの数を増やすのが手っ取り早い。しかし、システムの規模が大きくなるにつれて、ケーブル類がスパゲティ状に絡んでいき、システム全体の複雑さが増す。この結果、トラブルが発生しやすくなったり、パフォーマンスの最適化に時間がかかるなど、管理コストの増大を招いている。
そこで注目されているのが、広帯域I/Oインターコネクト技術を活用したI/O統合である。十分に高速なインターコネクト上でLANトラフィックやストレージトラフィックを同時に扱うことで、インターコネクトの構成を大幅に簡素化しようというアプローチだ。
最近では、FCoE(Fibre Channel over Ethernet)やIEEE 802.1 Data Center Bridging(DCB)に代表されるように、ロスレスの10Gbit EthernetをベースとしたI/O統合を推進する動きが活発化しているが、より広帯域(FDR InfiniBand 4xは56Gbps)と低レイテンシを求めるならInfiniBandによるI/O統合が威力を発揮する。
データセンター内のIT基盤では、サーバー仮想化の普及によってI/Oが大きなボトルネックとなってしまっている(出典:メラノックス テクノロジーズ ジャパン株式会社、以下同様)。そこで注目されているのが、InfiniBandによるI/O統合である |
■EthernetやFibre Channel間とのブリッジを行うゲートウェイ装置を活用
InfiniBandは、物理的なInfiniBandリンクの中に論理的な通信リンクを設ける仮想レーン(VL)をサポートしている。1本の物理リンクには、最大15本の仮想レーン(VL0~14)と1本の管理用仮想レーン(VL15)を内包でき、それぞれの仮想レーンはサービスレベルに基づくQoS(Quality of Service)機能によって信号帯域幅の配分なども柔軟に行える。まさしくI/O統合に最適なインターコネクト技術といえる。
ただし、最終的には既存のEthernet LAN環境やFibre Channel SAN環境につなぎこむ必要があることから、InfiniBandとこれらのインターコネクト間の変換を行う装置が求められる。Mellanox Technologiesは、InfiniBandとEthernet/Fibre Channelとのブリッジを行う自社開発のゲートウェイチップ(BridgeX Virtual Protocol Interconnect)を提供しており、このチップを搭載したゲートウェイ装置(BridgeX BX5020)も発売している。
エンタープライズIT環境では、Xsigo SystemsのXsigo I/O仮想化コントローラを使用する事例も多い。Xsigo I/O仮想化コントローラは、基本構成においてInfiniBandとEthernet間の高度なブリッジをサポートする。また、I/Oモジュールの増設によって、Fibre Channel間とのブリッジ機能も追加できる。I/O仮想化と呼ばれるように、サーバー側には仮想化されたNICやHBAを見せる形となるため、足回りはInfiniBandでありながら従来の物理的なI/Oリソースと同じように運用できる点が大きなメリットだ。
■InfiniBandのパフォーマンスを最大限に引き出すための環境整備が不可欠
このように、InfiniBandによるI/O統合は、データセンター内のファブリック全体を統合するのではなく、とりわけ広帯域と低レイテンシが求められる部分、そして特に多数のケーブルを必要とする部分をInfiniBandで置き換えようというものだ。先述のData Center Bridgingは、もう少し広い範囲を広帯域のEthernet技術で統合しようというものなので、同じI/O統合のソリューションとはいえ、毛色が多少異なる。
業界の中ではInfiniBandとEthernetのどちらでI/O統合を行うべきかという議論が少なからずあるが、筆者はどちらか一方に絞るスタンスではなく、適材適所で上手に使い分けるのがベターではないかと考えている。I/O統合において特にInfiniBandが向く領域は、やはり末端の物理サーバーを接続する口となる部分である。InfiniBandであれば、Ethernet(現時点では10Gbit Ethernet)よりも広帯域かつ低レイテンシのポートを安価に手に入れられるため、I/Oパフォーマンスの向上とコスト削減を同時に達成できる。
そして、InfiniBandを利用するのであれば、InfiniBandの能力を最大限に引き出せる使い方(専用プロトコル、RDMAサポート)が望ましい。旧来であれば、ネットワーク系の用途で使用されるSDP(Sockets Direct Protocol)、ストレージ分野で使用されるSRP(SCSI RDMA Protocol)が注目されていた。しかし、これらはオープンソース技術であるため、すべてを自前で解決することが求められる。
このため、近年ではメーカーによるサポートを受けられるものを積極的に採用しようとする動きが強い。例えば、オラクルによって開発された高速プロセス間通信(IPC:Inter Process Communication)技術のRDS(Reliable Datagram Sockets)、Windows Server 8世代のRDMAサポートなどが強く期待されている。InfiniBandはLinux環境を中心に採用されてきた背景があるが、WindowsがRDMA機能を正式にサポートすることで、今後はWindows環境での採用も増えていくだろう。
また、ストレージ分野ではiSER(iSCSI Extensions for RDMA)の採用が目立つ。iSERは、RDMA機能をサポートするiSCSIの拡張規格である。後述するMellanox TechnologiesのStorage Accelerator(VSA)のように、iSERを正式にサポートするソフトウェアソリューションを組み合わせることで、ユーザーはiSERを安心して使用できる。
主にLinuxベースのシステムでInfiniBandを活用した場合のレイヤ概念図(筆者が作成)。ソケットAPIは、LinuxであればLibcに相当する。iSER使用時のレイヤを構成するCMA(Connection Manager Abstraction)は、InfiniBandなどのRDMA技術をiSERで透過的に利用できるようにする中間レイヤである |
■InfiniBandとの組み合わせで効果を発揮するMellanoxのStorage Accelerator(VSA)
InfiniBandの活躍が期待される中で、やはり最も立ち上がりがよさそうなのがストレージ関連のソリューションである。ここでは、InfiniBandを活用した具体的なストレージソリューションを2つほどご紹介していく。
まず1つ目が、Mellanox Technologiesのストレージソフトウェア「Storage Accelerator(VSA)」である。VSAは、それが動作するコンピュータ(例えばIAサーバー)にストレージシステムとしての機能を与えるソフトウェアだ。
同じようなコンセプトに基づくソリューションとしては、DataCore SoftwareのSANsymphonyやFalconStor SoftwareのFalconStor NSSなどがある。これらに対し、VSAは、フラッシュベースの高速ストレージをキャッシュメモリとして活用したり、同社らしくInfiniBandのメリットを最大限に生かしたりする設計によって、パフォーマンスを徹底的に追求している点が大きな特徴といえよう。
VSAは、Linux上で動作するソフトウェアであり、接続元のコンピュータ(イニシエータ)に対してiSCSIのターゲット機能を提供する。つまり、VSAが動作するコンピュータは、iSCSI接続のストレージシステムのように振る舞う。インターコネクトにはEthernetのほか、InfiniBandを選択できる。また、ストレージプロトコルとして通常のiSCSIとRDMA転送に対応したiSERをサポートする。
VSAは、自身が管理するディスクストレージを仮想化し、イニシエータに対してそのストレージリソースを見せる。ここでは、VSAが動作するハードウェア本体に直結されているディスクストレージを利用するDASモードと、FC SAN上のディスクストレージをiSCSI接続のストレージのように見せるゲートウェイモードが用意されている。また、VSAが動作するストレージシステム間のレプリケーションにも対応し、EthernetもしくはInfiniBandを活用してDRBD(Distributed Replicated Block Device)に基づくブロックベースのレプリケーションを行える。
Mellanox Technologiesが提供する本格的なストレージソフトウェア「Storage Accelerator(VSA)」。VSAは、フラッシュベースの高速ストレージをキャッシュメモリとして活用しながら、同時に同社らしくInfiniBandのメリットを最大限に生かした設計によって、パフォーマンスを徹底的に追求している |
■InfiniBandによる接続で10Gbit Ethernetをはるかに上回るスループットを達成
VSAは、高いストレージパフォーマンスを実現するために、フラッシュベースの高速ストレージをキャッシュメモリとして活用する。VSAのキャッシュ機能は、Facebookが開発したFlashcacheを採用しており、FIFO(First In First Out)を含む、4種類のキャッシュアルゴリズムをサポートする。キャッシュ用の高速ストレージには、通常のストレージインターフェイス(SATA/SAS)を搭載したSSDのほか、Fusion-io ioDriveのようなPCI Expressスロットに装着するタイプの超高速ストレージ(SSS:Solid Sate Storage)を利用できる。Mellanoxは、より高いキャッシュ効果を得るために後者のSSSを強く推奨している。
インターコネクトとしてEthernetとInfiniBandを採用したときのパフォーマンス差が気になるところだが、Mellanox Technologiesの日本国内におけるテクニカルアライアンスパートナーである日本仮想化技術株式会社が、簡易計測の速報値を筆者に提供してくれた。同社のテスト環境は、キャッシュメモリとしてFusion-io ioDriveを搭載し、10Gbit Ethernetの計測にはWindowsベースのイニシエータ(iSCSI)を、QDR InfiniBandの計測にはLinuxベースのイニシエータ(iSER)をそれぞれ採用している。
同社 取締役 最高技術責任者(CTO)の伊藤宏通氏は、簡易計測の結果を「十分にチューニングを済ませた環境で計測したものではないので、あくまでも参考データとしてとらえていただきたいのですが、キャッシュを有効にした場合、10Gbit Ethernetで接続時のスループットは約400MB/秒にとどまりますが、QDR InfiniBandで接続したら約1.5GB/秒にまで向上しました。1.5GB/秒というスループットは10Gbit Ethernetでは絶対に達成できない数字ですから、InfiniBandの利用価値は大いにあるといえます。IOPS(1秒あたりのI/O数)もInfiniBandのほうが高い数字が得られていますが、これはインターコネクト自身の性能よりもイニシエータやターゲット側の性能が律速要因となりますので、あまり話が単純ではありません。今回のテスト環境では数割程度の向上にとどまりましたが、システム全体で最適化を図ることで、さらに差を広げられるはずです」と説明している。
ちなみに、Mellanox Technologiesが自社のテスト環境で実測した結果によれば、キャッシュとしてFusion-io製品を組み合わせたときにIOPSが100万を超えたという。十分に高速なキャッシュ用ストレージとシステム全体の最適化がなされていれば、従来のストレージシステムでは得られないパフォーマンスを達成できるわけだ。
■InfiniBand接続によって高スループットを実現したニューテックのストレージ製品
もうひとつのストレージソリューションが、株式会社ニューテックのUnified Storageシリーズである。Unified Storageシリーズは、同社ブランドとして発売されているNAS製品(Supremacy II NASとCloudy NAS)の後継モデルとして、OSを64ビット版Linuxベースに刷新したものだ。また、Unifiedという名が付くことからも分かるように、NFS、CIFS、AFP、FTP、HTTPといったファイルベースのプロトコルをサポートするほか、iSCSIおよびFCターゲットの機能も併せ持つ。
Unified Storageシリーズは、自社開発による3UサイズのSupremacy II iX(3.5型HDD×16台)、2UサイズのCloudy 2U iX(3.5型HDD×12台)、1UサイズのCloudy 1U iX(3.5型HDD×4台)から構成される。Supremacy II iXは、内蔵ドライブのほかに、3UサイズのJBOD筐体(3.5型HDD×16台)を6台まで増設できる。これにより、ビッグデータへの対応も容易になっている。
株式会社ニューテック 執行役員 営業部長の柳瀬博文氏は、ビッグデータへの訴求力について「32ビットOSを搭載した従来モデルは最大ボリュームサイズが16TBでしたが、Unified Storageシリーズは64ビット版Linuxの搭載によって16EB(エクサバイト)に拡張され、サイズの制限がほぼ撤廃されました。Supremacy II iXはJBOD拡張もサポートし、例えば4台のSupremacy II iXと24台のJBOD筐体を組み合わせると、約1PBのシングルボリュームを作成できます。このため、計測装置から時々刻々と送られてくる大量のデータを受け止めるストレージとして、研究機関などにも訴求できると考えています」と語っている。
Unified Storageシリーズは、標準で複数のGigabit Ethernetポートを搭載しているが、本体内のPCI Expressスロットに10Gbit Ethernet NIC、Fibre Channel HBA、InfiniBand HCAなどを装着することで、さまざまな種類のポートを増設できる。InfiniBand HCAを装着した場合にはInfiniBandによる接続が可能になり、IPoIBを通じてCIFS、NFS、iSCSIでのアクセスをサポートする。
広帯域のInfiniBandを足回りとして生かしながら、CIFS、NFS、iSCSIといったストレージプロトコルを活用するなら、IPoIBベースでの通信が基本となる(出典:株式会社ニューテック) |
■InfiniBandを活用した筐体間の高速ボリュームレプリケーションにも対応
Unified Storageシリーズは、サーバーコンピュータやクライアントPCとのフロント接続をサポートするほか、バックエンドで筐体間を相互に接続して筐体間レプリケーションを実施することも可能だ。もはや数十TBという大容量ストレージのデータバックアップを実現することは容易ではないことから、ニューテック自身も筐体間レプリケーションによるデータ保護を顧客に推奨している。
この筐体間レプリケーションは、ファイルベースのデータレプリケーション(rsyncによる非同期レプリケーション)とブロックベースのボリュームレプリケーション(DRBDによる同期・非同期レプリケーション)をサポートする。データレプリケーションはNASボリュームのみ、ボリュームレプリケーションはNAS、iSCSI、FCすべてのボリュームに対応している。
筐体間の接続は、データレプリケーションとボリュームレプリケーションともに標準搭載のGigabit Ethernetポートと増設した10Gbit Ethernetポートを利用可能だが、特に後者のボリュームレプリケーションはInfiniBand(IPoIB:IP over InfiniBand)による接続もサポートする。
ニューテックが計測した結果によれば、ボリュームレプリケーション実行時のスループットは、Gigabit Ethernetで接続時には100MB/秒前後だったのに対し、InfiniBandで接続した場合には約500MB/秒にまで向上した。1TBのデータ同期を30分程度で行える計算になることから、数十TBのデータであればイニシャルの同期に丸1日かからない。
今回は、10Gbit Ethernetによる計測をまだ実施していないが、「これまでの実績ベースで話すと、10Gbit Ethernetの実効スループットはもろもろの要因から数Gbps程度、IPoIBはRDMAのチューニングなどをせずとも、SDR 10Gbps InfiniBandの環境で6~7Gbpsは確実に出る」(メラノックス テクノロジーズ ジャパン株式会社 日本地区担当ジェネラルマネージャーの津村英樹氏)ことから、おおむね200~300MB/秒ではないかと推察される。
同社は、このような筐体間レプリケーションを手軽に導入してもらう目的で、Cloudy 2U iXを2台セットにして発売する「Cloudy iXレプリケーションモデルキャンペーン」を実施している。このセット商品は、2台のCloudy 2U iX、2セットのMellanox製InfiniBand HCA(シングルポートQDR)、2本のQSFPケーブル(長さ2メートル)から構成される。単体で購入するよりも値ごろ感のある価格に設定することで販売拡大を狙っている。
※図2-7
ボリューム単位でデータの複製を行うボリュームレプリケーションでは、InfiniBandによる超高速転送がサポートされる(出典:株式会社ニューテック)。1TBのデータ同期を30分程度で実行できるという
このようにnon-HPC環境に向けた具体的なソリューションがすでに登場し、InfiniBandが本当の意味で船出を迎えたように感じられた。今後、サーバー仮想化や高性能データベース、分散型のストレージ技術などで、これまで以上に広帯域のI/Oが求められることは間違いなく、そのような中でInfiniBandが果たす役割はますます広がっていきそうだ。
QLogicがインテルにInfiniBandの資産を売却したり、マイクロソフトがWindows 8世代でRDMAをサポートするなど、InfiniBandが置かれる環境も大きく変化しそうだ。しかし、古くからInfiniBandを追ってきた筆者から言わせてもらえば、「それっていわゆるご都合主義ですか?」という気持ちもなくはない。
当時、InfiniBandの最大かつ最強のサポーターだったインテルがInfiniBand用チップの市場から撤退することを発表し、それに追い打ちをかけるかのようにMicrosoftがWindows Server 2003でInfiniBandをネイティブサポートしないことを発表した。そもそも、華々しくデビューを飾ったInfiniBandが、うまく市場を立ち上げられなかったのは、偉大なる両社がInfiniBandを見放したからではなかろうか。
とはいえ、このような新しい流れができたことで、InfiniBandにも非常に大きな『可能性』が生まれたことは間違いない。今度こそ、InfiniBandが躍進してくれることを願ってやまない。2月下旬には、Mellanox Technologies Ltd.のエグゼクティブが来日すると聞いており、ワンオンワンのインタビューをお願いする方向で話が進んでいる。インテルのInfiniBand再参入に対する印象とその対策も含め、いろいろ質問をぶつけてみたいところだ。近い将来、このインタビューの模様も本誌にてまたお届けできたらと思っている。