vSphere の標準スイッチにはチーミングの機能があり、チームに複数の物理 NIC を含めることで物理 NIC にハードウェア障害が発生した場合にフェイルオーバー機能を利用することができます。
ロードバランシング(負荷分散)の方法
物理 NIC の負荷分散の方法を決めます。
下図のように4種類の中から選択することができます。
- IP ハッシュに基づいたルート
- 発信元 MAC ハッシュに基づいたルート
- 発信元ポート ID に基づいたルート
- 明示的なフェイルオーバー順序を使用
発信元の仮想ポートに基づいたルート(デフォルト)
「デフォルト」の設定です。
仮想スイッチが仮想 NIC に割り当てた「仮想ポート ID(ポート固有の ID)」に基づいてアップリンクを選択します。
仮想スイッチは、仮想マシンまたは VMkernel アダプタのアップリンクを選択すると、必ずこの仮想マシンまたは VMkernel アダプタと同じアップリンクを介してトラフィックを転送します。
そのため、仮想マシンの数が多くなるとロードバランスが有効に働きますが、数が少ない場合は特定の物理 NIC に処理が偏る可能性があります。
このオプションはデフォルトでオーバーヘッドが最も少ないです。
IP ハッシュに基づいたルート
「発信元 IP アドレス」と「送信先 IP アドレス」のハッシュの結果を利用して、使用する物理 NIC を選択します。
1台の仮想マシンでも、送信先 IP アドレスが異なれば複数の物理 NIC が使われる可能性があるためロードバランスがうまく機能する可能性があります。
ただし対向の物理スイッチの複数のポートで、同一 MAC アドレスのフレームを受信するため、物理スイッチの MAC アドレステーブルが頻繁に更新されてしまいます。
そのため、リンクアグリゲーションを有効にする必要があります。
リンクアグリゲーションに対応した物理スイッチが必要になります。
※リンクアグリゲーションとは複数の物理リンクを束ねて1つの大きなリンクとする機能です。この機能により帯域幅を増やすことができます。
発信元 MAC ハッシュに基づいたルート
仮想 NIC が持つ MAC アドレスのハッシュの結果を利用して、使用する物理 NIC を選択します。
仮想 NIC ごとに使用する物理 NIC が決まるため、結果的に「発信元の仮想ポートに基づいたルート」とロードバランスの構成は同じになります。
明示的なフェイルオーバー順序を使用
ポートグループごとにアクティブ/スタンバイのネットワークアダプタを手動で設定します。
この方法は物理 NIC の帯域を特定のポートやポートグループに占有させたい場合でも仮想スイッチを分ける必要がありません。
どのトラフィックがどのポートを通過しているのかを把握することができます。
更に特定のサービスにどのポートを占有させるかを指定することもできます。
そのためうまく設定できれば分散効率を最大限に高めることが可能です。
フェイルオーバーの検出方法
「ネットワークのフェイルオーバー検出」は下図のようにドロップダウンメニューから「仮想スイッチ」が使用する方法を選択します。
以下の2つから選択できます。
- リンク状態のみ
- ビーコンのみ
リンク状態のみ
「デフォルト」の設定です。
「リンク状態のみ」の仕様ですが、物理 NIC の「リンクステータス」のみに依存します。
もっとシンプルに言うと「ケーブルが刺さっているかどうか」だけです。
- 物理 NIC の場合 ← 「自分の所に電気が流れているかどうか」← ケーブルが刺さってないと電気も流れてこない
- 光ファイバーの場合 ← 「自分の所から光が見えるかどうか」← ケーブルが刺さってないと光が来ない
このオプションでは、取り外されたケーブルや物理スイッチの電源障害などの障害が検出されます。
しかし直接接続されていない上位のネットワークエラーは検知できません。
例えば物理ポートがスパニング・ツリープロトコル(STP)によってブロックされた場合や、スイッチの VLAN の設定ミスによるネットワークエラーの場合は、電機が流れてリンクがアップしているためフェイルオーバーしません。
この方法はオーバーヘッドはなくデフォルトの設定になっています。
ビーコンのみ
「リンク状態のみ」の設定では上位ネットワークの障害が検知できません。
例えば上位の L2 ~ L3 間のネットワーク障害が発生した場合、ホストがつながっている L2 のポートは「UP」しているためフェイルオーバーはしません。
そのような場合に「ビーコン」を利用することで「リンクのステータス」ではなく「毎秒のフレームの送信」で判断することができます。
具体的には NIC チーミングを構成するすべての物理 NIC 間で死活を確認するために「ビーコン」と呼ばれるイーサネットブロードキャストフレームを定期的に送受信します。
特定の物理 NIC からのフレームが受信できないと窓外が発生したとみなしフェイルオーバーを行ないます。
ただし VMware は推奨をしていないので「リンク状態のみ」を選択して上位ネットワークに関してはネットワーク側で冗長構成を取ることがベストだと思います。
また、VMware は仮に「ビーコンのみ」を選択する場合は物理 NIC を3つ割り当てることを推量しています。
フレームとは?(パケットと何が違うのか?)
簡単に言うと
- フレーム ← レイヤー2
- パケット ← レイヤー3
のプロトコルです。
【参考】
- レイヤー2のプロトコル ← イーサネット、PPP(Point to Point Protocol)、HDLC(ハイレベル・データ・リンク制御手順)など
- レイヤー3のプロトコル ← IP
ネットワークのリンクステータスの確認方法
ESXi ホストの物理 NIC のリンクステータスの確認方法ですが、コマンドからも確認することが可能です。
ESXi ホストにログインして以下のコマンドを実行します。
# esxcfg-nics -l |
Link 列は、ネットワーク アダプタと物理スイッチ間のリンクのステータスを指定し、Up または Down のいずれかになります。
コメント