「vSAN では、ロード バランシングに NIC チーミングは使用されません。」という説明文の解釈
vSANはNICチーミングのロードバランシング設定を無視する?
vSAN関連のドキュメントに以下の記載に関連していろいろと調べてみた。
「vSAN では、ロード バランシングに NIC チーミングは使用されません。」
上記の記載は以下のドキュメントで確認できる。
Basic NIC Teaming (vmware.com)
日本語の説明だけ読むと、以下の誤解が生まれそうな記載である。
誤解①:
vSANはNIC Teamingでロードバランシングポリシーが設定されていても常にActive/Standbyで動作をする
誤解②:
vSANのロードバランシングはNIC Teaming以外の機能を利用する
きちんと原文(英語)で前後の文脈を考慮するとそういうことではないと判断できる。
そもそもvSANの仕組みをよく知らない人のためにNIC Teamingのロードバランシング設定がどのような形で反映されるのかを確認しておく。
①各仮想マシンが自分でvSAN データストアに直接IOリクエストをするわけではなく、仮想マシンは稼働しているESXiに対しSCSIのリクエストを送信する
②ESXiは仮想マシンからのSCSIリクエストをvSANデータストアへのIOとして処理する
③ESXiはvSANのIOを処理するためにvSAN vmkernel portを利用する
④vSAN vmkernel port はvDSにつながっていて、dvport ID に紐づいている
⑤vDSのロードバランシングはdvport id 単位で実施されるため、該当のdvport id がどのUplinkを利用するかはロードバランシングポリシーによって決まる
つまり、ESXi上で稼働するVMからvSAN
データストアへのIOリクエストは単一のvsan vmkernel port
によって処理され、単一のdvport id に紐づいた単一のUplinkのみを利用して通信を実施する。そのため、NICチーミングでロードバランシングが設定されていようとも、vSANトラフィックは常に単一のUplinkしか使用しないため、vSAN トラフィックのロードバランスとしては機能しない、ということになる。
ここで冒頭の文章に戻ると、原文では「vSAN does not use NIC teaming for load balancing.」となっており、文脈を考慮して意訳をすると、「vSANトラフィックのロードバランシングを目的としてNICチーミングを利用することはなく、NICチーミング自体は物理NICポートや接続先ネットワークの分散を考慮した機能である」と解釈できる。
なお、冒頭のドキュメントをきちんと読んだ人ならば説明は不要だと思うが、”IP Hashに基づいたルート”を選択した場合はdvport単位ではなくパケット単位で負荷分散されるため、その場合はvSAN トラフィックもパケット単位でUplinkが決まるため負荷分散がされることになるが、そもそもLAGが必要となるので一般的ではない。
LAGに関しても、VCFでは利用ができないことや、VMEでの有識者のセッションを聞く限り、VMwareとしても推奨はしてないようなので、vSANにおいては今後も広く利用されることはないと考えられる
コメント
コメントを投稿