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

VMware

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

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

まず、vSphere ESXiにおいて、iSCSIストレージを利用する場合、”iSCSI ポートバインド”を利用するケースがありますが、これは全てのiSCSIストレージが対象ではありません。

キーポイントは2種類のアレイのiSCSI ターゲットポートのあり方の違いにあります。

ESX/ESXi でソフトウェア iSCSI ポート バインディングを使用する際の考慮事項 (2080447)

これは、iSCSIターゲット側のストレージにて、IPアドレスの利用形態が”シングルサブネット”か”マルチサブネット”によって変わります。

以下のKBには、次のような記載があります。
同じサブネット上に複数の VMkernel ポートがある場合にネットワークのデフォルトの VMkernel ゲートウェイ インターフェイスを変更する (2093988)

つまり、単一のESXiホスト上に複数のvmkernelポートを同一サブネット上に設ける場合、基本的にはそのうちの1つしか使われないという原則があるわけです。

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

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

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

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

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

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

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

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

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

コメント