EqualLogic Multipathing Extension Moduleのアーキテクチャとメリット

…というこで、前回の続きということでEqualLogic用のvSphere4.1向けマルチパスモジュール"Multipathing Extension Module"(MEM)について書いてみたいと思います。このエントリーは少々VMware vSphereの仕様について知識をお持ちの方向け書いています。PSA, NMP, PSP, SATPなどの用語や機能がわからない場合は、@ITのこちらの記事を先にお読み頂くとよいのではないかと思います。ESXのストレージアーキテクチャについて、非常に詳細に、わかりやすく書かれたよいエントリーです。
ではまずはアーキテクチャから。
MEMは2つのモジュールから構成されています。1つはPath Selection Plugin (PSP)ドライバモジュール。こちらはVMkernelのKernel Modeプラグインとして導入されます。MEMはMPPではないので、PSAによってロードされるモジュールそのものではありません。MEMのPSPドライバモジュールはNMPの中に組み込まれるサブプラグインモジュールとしてロードされます。NMPには標準でVMW_PSP_MRU (最近の使用)、VMW_PSP_FIXED (固定)、VMW_PSP_FIXED_AP (固定AP)、VMW_PSP_RR (ラウンドロビン)の4種類がありますが、そこに追加PSPとしてDELL_PSP_EQL_ROUTEDを追加します。ちなみに、SATPについてはESXには標準でEqualLogic向けに最適化されたSATPモジュール"VMW_SATP_EQL"が含まれているため、それをそのまま使用します。そしてMEMを構成するもう1つのモジュールはEqualLogic Host Connection Manager (EHCM)と名前のつけられた、ユーザモードプロセスとして動作するiSCSIセッション管理のためのCIMプロバイダです。CIMプロバイダとして実装されていることにより、ESXだけでなくESXiであってもMEMの管理モジュールとして使うことができるようになっています。
続いてMEMを導入することによるメリットについて。
EqualLogic MEMのInstallation and User Guideには、MEM導入のメリットとして以下の4点が挙げられています。

  1. 自動コネクション管理
  2. 複数アクティブパスを用いた自動ロードバランシング
  3. 帯域の最大化
  4. ネットワーク遅延の最小化

1.と2.はマルチパスドライバとして標準的なメリットだと思いますが、3.と4.のメリットがなぜMEMによってもたらされるのでしょうか。こちらはEqualLogicという製品が持つ特性によるものといえるかもしれません。
EqualLogicだけではありませんが、最近は分散型ネットワークストレージが次第に普及しつつあります。いわゆるヘッドとなるコントローラの下にディスクノードをぶら下げる形態ではなく、水平にコントローラ付きディスクノードを並べることによって容量の拡張と平行してパフォーマンスの向上もできることをうたったタイプのストレージです。このタイプのストレージはサーバに見せる論理ボリュームが筐体をまたいで構成される(できる)ため、ボリュームのデータを読み書きするには場合によっては複数のノードに対してアクセスする必要があります。たとえばサーバからブロックAのデータを必要としたアクセスが行われた場合に、iSCSIコネクションによって接続した先のノードにブロックAが存在しなかったとすると、接続されたノードはブロックAが存在しているノードと通信を行いブロックAのデータを入手、さらに折り返してサーバ側に対してブロックAのデータを渡す、というやり取りが発生します。このデータのやり取りの部分を最適化できるということがMEMを用いるメリットとなります。MEMはボリュームを構成するブロックが分散配置されたノードそれぞれに対してセッションを張ることによって、ノード間でのデータのやり取りを不要とします。つまりデータを読み書きする処理の中で、MEMを使わなければストレージ間でデータがやり取りされるなどにより余計な帯域を消費していたところが削減でき、結果的に「帯域が最適化する」わけです。また、それは同時に最小限の通信でデータがやり取りされることとなり、「ネットワーク遅延が最小化」するわけです。
ちょっと小難しいネタでしたが、いかがでしたでしょうか?*1

*1:このエントリーではわかりやすく説明するために意図的に正確性を一部曖昧にしています。正確な製品仕様や情報については、ソースを確認頂き、ベンダーへお問い合わせください。