RDMA のプロトコル比較 — iSER・SRP・NVMe-oF・IPoIB の違いと選び方

RDMA でストレージを組むとき、最初に迷うのが方式の選択である。iSER、SRP、NVMe-oF、IPoIB という名前が並ぶが、これは並列の選択肢ではない。役割の階層が違うものを、同じ土俵で比べようとすると混乱する。本記事では4つを層で整理し、どの判断軸で選ぶべきかを示す。

目次

RDMA プロトコル比較の結論 — まず SCSI 系か NVMe 系かで分ける

結論を先に置く。選定の第一分岐は、SCSI の系譜を引き継ぐか、NVMe を拡張するかである。

iSER と SRP は SCSI のコマンド体系を RDMA で運ぶ方式であり、既存のストレージ運用と互換性が高い。NVMe-oF は NVMe をそのままファブリックへ広げる方式で、遅延と並列性に優れる。IPoIB はこれらと並ぶ選択肢ではなく、IP を InfiniBand 上へ載せるための土台である。

つまり、比較表を作る前に「SCSI で行くのか NVMe で行くのか」「IP の互換が必要か」を決める。順序を逆にすると、選定の基準が定まらない。

転送路とプロトコルは別の層である

混同しやすい点を先に整理する。RDMA の選定には二つの層がある。

下の層は転送路である。InfiniBand か、Ethernet 上の RoCE か。物理的な経路と、RDMA を成立させる仕組みを指す。

上の層はプロトコルである。iSER、SRP、NVMe-oF がここに入る。どんなコマンド体系でストレージを運ぶかの違いである。IPoIB はこの層ですらなく、IP を通すための別の仕組みである。

この二層を分けて考えると、「InfiniBand か RoCE か」と「iSER か NVMe-oF か」を独立に選べることが分かる。ただし、SRP のように転送路を InfiniBand に固定するプロトコルもある。組み合わせには制約がある。

iSER とは何か — iSCSI を RDMA に載せ替えた方式

iSER は、iSCSI のデータ転送部分を RDMA に置き換えた方式である。SCSI コマンドをそのまま使い、転送路だけを RDMA に変える。

利点は互換性にある。既存の iSCSI 運用の知識が活かせ、ターゲット側の実装も比較的揃っている。Ethernet 上で使う RoCE と組み合わせれば、既存のネットワーク設計の延長で導入できる余地がある。

注意点は、あくまで iSCSI の枠組みであることだ。SCSI のコマンド処理には上限があり、NVMe のような多数の並列キューは前提にしていない。遅延の下限は SCSI 側で決まる。

もう一点、iSER はターゲット側の対応が要る。Linux では LIO(targetcli)などが対応するが、すべてのストレージ機器が iSER を話せるわけではない。既存機器を活かすつもりが、結果として両端を揃える必要が出ることがある。

SRP とは何か — InfiniBand ネイティブの SCSI 転送

SRP は、InfiniBand 上で SCSI を運ぶための方式である。iSER と同じく SCSI の系譜だが、こちらは InfiniBand を前提に設計されている。

InfiniBand の環境では枯れた選択肢であり、実装も安定している。ただし、Ethernet(RoCE)では基本的に使えない。InfiniBand 専用のスイッチとアダプタで組む構成が前提になる。

したがって SRP は、「InfiniBand で組むことは決まっているが、NVMe までは要らない」という場面で意味を持つ。汎用性より、その環境での実績を取る選択である。

設計思想としては、RDMA のネイティブな操作をそのまま使いやすい点が挙げられる。歴史が長く、資料も揃っている。逆に言えば、Ethernet への移行を将来考えているなら、SRP は足かせになる。

NVMe-oF とは何か — NVMe をファブリックへ拡張する

NVMe-oF は、ローカル接続の NVMe をネットワーク越しに使えるよう拡張した規格である。多数の並列キューをハードウェアで処理する前提があり、遅延とスループットの両面で有利になりやすい。

ただし、利点を引き出すには両端の対応が要る。イニシエータ側とターゲット側の双方が NVMe-oF に対応している必要があり、SCSI しか扱えない機器は参加できない。

もう一点、NVMe-oF は転送路を選ばない。RDMA のほかに TCP でも運べる。RDMA を使う場合は、その上で遅延を詰めるという位置づけになる。TCP 版は既存ネットワークで試せるため、まず TCP で検証し、遅延が足りなければ RDMA へ移る、という進め方もできる。

IPoIB とは何か — IP を InfiniBand 上に載せる土台

IPoIB は、InfiniBand の上で IP 通信を行う仕組みである。RDMA のストレージ方式と同列に語られることがあるが、役割は異なる。IPoIB が提供するのは IP の到達性であり、RDMA のメモリ直接転送ではない。

存在意義は互換性にある。InfiniBand しか物理的な経路がない環境で、通常の IP アプリケーションを動かしたいときに使う。管理系の通信や、RDMA 非対応のソフトウェアを同じ網に載せる用途である。

性能を求める場面では、IPoIB ではなく RDMA ネイティブの方式を選ぶ。IPoIB は土台であって、目的ではない。

なお、IPoIB には動作モードの違いがある。データグラムモードとコネクテッドモードで扱える MTU が異なり、設定を誤ると性能が出ない。IPoIB を使う場合でも、この設定は確認しておきたい。

iSER / SRP / NVMe-oF / IPoIB の比較表

方式 系譜 転送路 得意なこと 制約
iSER SCSI RDMA(RoCE / InfiniBand) 既存 iSCSI との互換 SCSI の遅延上限
SRP SCSI InfiniBand 専用 InfiniBand での実績 Ethernet では使えない
NVMe-oF NVMe RDMA / TCP 低遅延・高並列 両端の対応が必要
IPoIB IP InfiniBand IP の互換 RDMA の直接転送は得られない

この表で見るべきは、性能の大小ではなく制約の列である。制約が自分の環境に当てはまるかどうかで、選択肢は自然に絞られる。

RDMA プロトコル選定の判断軸 — 遅延・互換性・運用性

選定の軸は3つある。遅延、互換性、運用性である。

遅延を最優先するなら NVMe-oF が候補になる。ただし両端の対応が前提であり、機器の入れ替えが必要になる場合がある。

互換性を優先するなら iSER が現実的である。既存の SCSI 運用を活かせるため、変更範囲を小さくできる。InfiniBand 専用で組むなら SRP も候補に入る。

運用性は見落とされやすいが、長期では効く。故障時の部品入手、ドライバの保守、設定手順の再現性である。中古機器を使う構成では、この軸の重みが増す。

3つを同時に最大化することはできない。どれを犠牲にするかを先に決めるのが、結果として速い選定になる。

ユースケース別の推奨

判断軸を当てはめると、おおよその推奨が見えてくる。

  • 既存の iSCSI 環境がある: iSER。運用知識をそのまま活かせ、変更範囲が最小になる。
  • InfiniBand を新規導入し、SCSI で十分: SRP。実績があり、構成が単純である。
  • 遅延を最優先し、機器も揃えられる: NVMe-oF(RDMA)。並列性の利点を最大限に取れる。
  • InfiniBand 上で管理通信も通したい: IPoIB を併用。ストレージは RDMA ネイティブ、管理は IP という分担になる。
  • まずは既存 Ethernet で試したい: NVMe-oF(TCP)。RDMA を後から載せ替える前提で検証できる。

いずれの場合も、片方だけでは完結しない。ストレージ方式と転送路の組み合わせで考える。

小さく始めるならどの方式か

段階的に導入する場合、最初から NVMe-oF を狙わない選択がある。iSER で小さく始め、遅延がボトルネックだと実測で確認できた段階で NVMe-oF へ移る順序である。

この順序の利点は、投資の判断を測定後に行えることにある。方式を変えても、下位の転送路(InfiniBand や RoCE)は共通で使い回せる部分がある。土台を先に整え、方式は後から選ぶ。

なお、どの方式を選んでも、機器の対応状況とカーネル側の実装を実機で確認する作業は避けられない。方式の名前だけでは、動くかどうかは決まらない。

よくある誤解

最後に、選定の場面で繰り返し出てくる誤解を整理する。

第一に、「RDMA を使えば必ず速くなる」という誤解である。転送路が速くても、ストレージ側の処理が追いつかなければ効果は出ない。ボトルネックがどこにあるかを先に測る必要がある。

第二に、「プロトコルは後から簡単に変えられる」という誤解である。方式によっては両端の機器対応が必要で、変更は機器の入れ替えを伴う。土台を分けておけば影響は小さくなるが、無コストではない。

第三に、「IPoIB は遅い」という単純化である。IPoIB は目的ではなく土台であり、比較の土俵が違う。管理通信を通す用途では十分な性能が出る。

まとめ — プロトコルは「性能」ではなく「運用」で選ぶ

iSER・SRP・NVMe-oF は、いずれも RDMA でストレージを運ぶ方式だが、層が違う。IPoIB は選択肢ではなく土台である。

第一分岐は SCSI か NVMe か、IP の互換が必要かである。そのうえで、遅延・互換性・運用性のどれを優先するかを決める。

性能表の数値より、制約が自分の環境に当てはまるかを見るほうが、選定の失敗は減る。方式は性能で選ぶより、運用で選ぶほうが長く使える。

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

金重総合研究所の主席研究員。
子供の頃から研究者を目指し、ライフワークとして日々様々な研究をしています。
経営・マネジメント・金融・DXあたりが本職です。
私を採用したい人、私と一緒に働きたい人、一緒に知識を肥やしていきたい人はぜひお声がけ下さい。

目次