続いてLoad Based Teaming(以降LBTと略記)を紹介する。ESXでは従来より、複数の物理NICをまとめて取り扱うことで、帯域の確保と冗長性を提供する機能「NIC Teaming」が提供されている。複数の物理NICでリンクを構成するのに伴い、各トラフィックがどのように物理NICを選択して利用するかを決定するアルゴリズムが必要になる。このときのロードバランシングアルゴリズムとして、「Port ID Based」「Source MAC Based」「IP Hash」の3種類を利用することができた。vSphere 4.1ではこれらに加えて、「Load Based」と呼ばれるロードバランシングアルゴリズムを選択できるようになった。LBTは分散仮想スイッチのみで提供される機能である。従ってESXホストはEnterprise Plusのライセンスを保有している必要がある。
既存のアルゴリズムも含め、vSphere 4.1で利用可能なロードバランシングアルゴリズムについて解説しておこう。
(1)Port ID Based(発信元の仮想ポートに基づいたルート)
デフォルトで利用されるアルゴリズムがPort ID Basedである。ここでPort IDとは仮想スイッチ内のPort IDのことである。仮想NICが接続されている仮想ポートごとに、利用する物理NICが決定される(標準仮想スイッチの場合、Port IDは内部的に管理されているため、ユーザーはその仮想NICが何番の仮想ポートに割り当てられているかを確認することはできない)。結局、単一の仮想NICを単一の物理NICに対応させる方式であるが、複数の仮想マシンがある環境では、ある程度の負荷分散を期待することができる。
(2)Source MAC(発信元MACハッシュに基づいたルート)
トラフィックのソース側のMACアドレス、すなわち仮想NICのMACアドレス情報を基にしたハッシュ値を用いて利用する物理NICを決定するのがこのアルゴリズムである。単一の仮想NICが最終的に単一の物理NICに対応するという点ではPort ID Basedと共通である。多くの場合においてPort ID Basedの負荷分散は有効に機能するが、稀に運用形態によっては物理NICの利用率が均一にならない場合がある。例えば物理NIC x 2でTeamingされている仮想スイッチに20台の仮想マシンが接続されている状況を想定してみよう。そのシステムの運用の特性上、通常は奇数番目の仮想マシンがアクティブに動作し、偶数番目の仮想マシンは待機しているといった状況を考えてみる。この場合、負荷分散アルゴリズムにPort ID Basedを利用すると結果的に片側の物理NICにトラフィックが集中してしまう。このような場合はSource MACを利用することで両方の物理NICが均一に利用される状況を期待することができる。
(3)IP Hash(IPハッシュに基づいたルート)
IP Hashでは、各トラフィックのソースIPアドレス、デスティネーションIPアドレスのペアを元にハッシュ値を計算し、利用する物理NICを決定する。このため複数の通信先がある場合、単一の仮想NICが複数の物理NICを利用する状況を期待できる。IP Hashを利用するときは、物理スイッチ側でIEEE 802.3ad Link Aggregationを有効化しておく必要がある。従ってこの機能を保有する物理スイッチを用いていることが必須条件となる。
(4)Load Based(物理NIC負荷に基づいたルート)
物理NICの帯域利用状況に応じて、動的に仮想ポートと物理NIC間の対応付けを変更する。初期配置はPort ID Basedと同じ方式で構成されるが、運用中負荷に偏りが見受けられる場合は自動的にそのマッピングを変更する。vSphere 4.1から提供された機能で、分散仮想スイッチでのみ提供されている。
分散仮想スイッチが構成済みであれば、LBTは簡単に利用できる。ポートグループの設定画面で「チーミングおよびフェイルオーバー」を選択し、ロードバランシングを「物理NIC負荷に基づいたルート」に設定する。これにより該当ポートグループはLBTを利用して負荷分散を行うようになる。
LBTを選択すると、物理NICの負荷状況に応じて仮想ポートと物理NICのマッピングを自動的に変更するようになる。このときの判断基準は、デフォルトでは「物理NICの帯域利用が75%を超える状況が30秒以上継続的に発生した場合、その物理NICを過負荷と判断する」というものである。
当然のことながら、ネットワークトラフィックには瞬間的なものや継続的なものがある。あまりに過敏にマッピングの変更を行ってしまうと逆効果となる場合があるため、vSphere 4.1では上記のようなアルゴリズムを採用している。
推奨はされていないが、異なるリンク速度の物理NICを用いてNIC Teamingを構成した場合でもLBTは適切に動作する。上記のように、各物理NICごとに帯域利用率を見て、過負荷状態にあるかどうかを判断しているためである。
今回はvSphere 4.1のネットワークに関する新機能について紹介した。Network I/O Control、Load Based TeamingはどちらもEnterprise Plusライセンスが必要となるが、ユニファイド・ファブリックを本格的に利用することを検討した場合は必須となる機能であり、重要な機能拡張ととらえることができる。
次回はvSphere 4.1のストレージに関する新機能を紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.