iSCSI ポートバインドを行う理由

VMware

iSCSI ポートバインドを行う理由

今回も、トレーニングで質問を受けた内容から1点紹介です。

自分自身もたまに見返すことがある”iSCSIポートバインド”について、備忘録としての意味合いも込めて投稿しておきたいと思います。

2種類のiSCSI ストレージ(シングルサブネット構成 & マルチサブネット構成)

まず大前提として、世の中にはiSCSIストレージをネットワーク構成レベルで2種類に大別出来ます。

  • シングルサブネット構成のiSCSI ストレージ 例: Dell EMC Equallogic
  • マルチサブネット構成のiSCSI ストレージ  例; Dell EMC PowerVault MD, ME

これらをvSphere ESXiにマウントをする場合ですが、実はESXi上での設定に違いが出ます。
一言で言えば、”iSCSIバインド”と呼ばれる設定が必要な場合と、不要な場合とに別れます。
ESX/ESXi でソフトウェア iSCSI ポート バインディングを使用する際の考慮事項 (2080447)

以下のKBには、次のような記載があります。

ESX/ESXi 上のマルチホーミング (2010877)
同じサブネット上に複数の VMkernel ポートがある場合にネットワークのデフォルトの VMkernel ゲートウェイ インターフェイスを変更する (2093988)

大原則

単一のESXiホスト上に複数のvmkernelポートを、同一サブネット上に設ける場合、基本的にはそのうちの1つしか使われないという原則があるわけです。
つまり冗長性のみは提供されるが、負荷分散は提供されないとなってしまうわけです。(シングルサブネット構成の場合のみの話です)

図で学ぶiSCSI バインド

これを踏まえ、幾つかのiSCSIイニシエーター側のポート構成を考えてみたいと思います。

例1 2つの物理NICポート(vmnic)に対し、1つのvmkernelポートを用意した場合

続いて、複数のvmkernel ポートを単一ホストに準備した場合です。(iSCSIポートバインドを使う場合、使わない場合の2つです)

例2 2つのvmkernel portを準備した場合(iSCSI バインド無効、同一サブネットIP付帯)

例3 2つのvmkernel portを準備した場合(iSCSI バインド有効、同一サブネットIP付帯)

結論

以上の点から、iSCSI ポートバインドを利用することで、vmkernel ポート1つ辺り、1つのvmnicだけをアサインし、ホストレベルでの冗長性と負荷分散を実現するように設定が出来ます。

繰り返しますが、これはあくまでもiSCSIターゲット側(ストレージ側)が、シングルサブネットのIPアドレスだけで構成されるケースに限定され、複数のサブネットマスクが存在するストレージのケースに於いては、バインドは不要となります。

(理由は、別サブネットに対するvmkernel ポートが複数存在する場合は、ESXiはそれらを同時に利用することが出来るからです)

以上です、勿論ストレージ導入の際に、ハードベンダー側での導入ベストプラクティス等がある場合はそれも是非参考に頂けると幸いです。

コメント