NLB クラスターにおけるピアツーピア通信

NLB クラスターにおけるピアツーピア通信

私はオランダの図書館のシステム管理者です。職員はシンクライアントを使用して、セッションサーバーへのリモートデスクトップセッションを行っています。NLBクラスターに構成されたセッションサーバー(Windows 2008 R2)が2台あります。両方のサーバーは仮想化されています。ハイパーV (RDS01)もう一つはVMWare ESX (RDS03)

NLB クラスターは、ユニキャスト モードで動作するように構成されています。NLB クラスターの両方のサーバーには、2 つのネットワーク アダプターがあります。1 つは NLB クラスター用で、もう 1 つはピアツーピア通信用です。

私たちが抱えている問題は、NLBクラスタへのリモートデスクトップセッションを頻繁に行うことです。失敗する(存在しない IP またはホスト名に接続しようとした場合と同じエラー)。少し調べてみると、RDS03 の NLB マネージャーでクラスターを表示しようとすると、RDS01 の「検出」に失敗することが多いことがわかりました。逆の場合は問題なく動作します (RDS01 から RDS03 へ)。

下の図1は、RDS01上のNLBマネージャーを示しています(成功)。 RDS01 の NLB マネージャー

下の図2は、RDS03上のNLBマネージャーを示しています(失敗)。 RDS03 の NLB マネージャー

最初の写真でわかるように、NLBクラスタ内のRDS03を無効にしました。NLBクラスタ内のアクティブサーバーはRDS01のみです。解決する現時点では NLB クラスターへの接続の問題はありません (したがって、問題は RDS03 周辺にあると想定しています)。

NLB マネージャは ICMP を使用してクラスタ内の他のホストを「検出」することを知りました。そこで、パケット スニファ (Microsoft Network Monitoring) を使用して NLB マネージャから送信されているパケットを検査することにしました。そして、RDS01 から送信されているパケットで、RDS03 のピアツーピア アダプタの IP アドレスが使用されていることに気付きました。さらに、RDS03時々RDS01 の NLB クラスター IP アドレスを使用します。

以下は、RDS01 でキャプチャされたパケットの詳細です。

  Frame: Number = 2812, Captured Frame Length = 74, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-15-5D-63-97-23],SourceAddress:[00-15-5D-63-96-2B]
+ Ipv4: Src = 10.81.129.159, Dest = 10.81.129.161, Next Protocol = ICMP, Packet ID = 8406, Total IP Length = 60
+ Icmp: Echo Request Message, From 10.81.129.159 To 10.81.129.161

次に、RDS03 でキャプチャされたパケットの詳細。NLB マネージャーがこのパッケージを送信すると、検出は失敗します。

  Frame: Number = 211, Captured Frame Length = 74, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[02-BF-0A-51-81-A5],SourceAddress:[00-15-5D-63-97-23]
+ Ipv4: Src = 10.81.129.161, Dest = 10.81.129.167, Next Protocol = ICMP, Packet ID = 11326, Total IP Length = 60
+ Icmp: Echo Request Message, From 10.81.129.161 To 10.81.129.167

最後に、RDS03 でキャプチャされたパケットの詳細。NLB マネージャーがこのパッケージを送信すると、検出は成功します。

  Frame: Number = 2095, Captured Frame Length = 74, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-15-5D-63-96-2B],SourceAddress:[00-15-5D-63-97-23]
+ Ipv4: Src = 10.81.129.161, Dest = 10.81.129.159, Next Protocol = ICMP, Packet ID = 21180, Total IP Length = 60
+ Icmp: Echo Request Message, From 10.81.129.161 To 10.81.129.159

以下は、NLB クラスターとそのサーバーの IP 構成です。

10.81.129.165...NLB クラスター IP
10.81.129.167...RDS01 の NLB IP
10.81.129.169...RDS03 の NLB IP

10.81.129.159...IP RDS01 (ピアツーピア用の 2 番目の NIC)
10.81.129.161...IP RDS03 (ピアツーピア用の 2 番目の NIC)

RDS03 が RDS01 の NLB クラスター IP を使用するのはなぜですか? また、RDS01 のピアツーピア IP も使用するのはなぜですか? この一貫性のない動作の原因は何ですか?

答え1

自分の質問に答えると、問題は DNS ルックアップにありました。RDS03 の DNS キャッシュをクリアした後 (ここで不整合な動作が発生しました)。

ipconfig /flushdns

RDS03 NLB マネージャーでクラスターの更新を実行したところ、RDS01 の DNS ルックアップが実行されていることに気付きました。これで、NLB マネージャーがホスト名を使用して通信していることが確実にわかりました。DNS サーバーは、次の 2 つの IP アドレスで応答しました。

10.81.129.159 ...IP RDS01(ピアツーピア用の 2 番目の NIC)
10.81.129.167 ...RDS01 の NLB IP

RDS01の発見が失敗するたびにRDS01 の NLB IPDNSルックアップ応答の最初のIPでした。そして、検出が成功するたびにIP RDS01最初でした。

を取り除いた後RDS01 の NLB IPDNS サーバーからの DNS レコードを削除することで、問題は解決しました。これで、NLB IP アドレスが DNS サーバーに登録されないようにするだけです。これは、NLB NIC の TCP/IP プロトコルの設定です。下の画像を参照してください。

DNSサーバーにIPを登録しない

関連情報