MSFCのハートビートはUDP

相変わらず、MSFCの仕込みをコツコツと行っています。

さて、そこでこんな文章を見つけました。

フェールオーバー クラスタリング
http://technet.microsoft.com/ja-jp/library/cc725923(WS.10).aspx

***** 以下抜粋 *****

ネットワークのその他の機能強化により信頼性の向上を実現する。
ネットワーク機能の強化により、ネットワーク名と関連 IP アドレスの間の依存関係を細かく調整でき、片方の IP アドレス (両方ではなく) だけで、ネットワーク名が使用できるようになります。
また、各ノードが使用可能であることを確認するために “ハートビート” を送受信するときに、信頼性の低いユーザー ダイアグラム プロトコル (UDP) ではなく、伝送制御プロトコル (TCP) を使用します

***** ここまで *****

え~、Windows Server 2008 からハートビートはTCPに変わったのか?しかし、ネットワークキャプチャをしてみるとハートビートの通信では、UDP のユニキャスト (ポート : 3343) を用いていることが確認できました。

もしかして、TCPにするモードがあって知らないだけ?

しょうがないのでテクニカルサポートに連絡して、調べてもらいました。以下は結果になります。

***** 以下抜粋 *****

[回答]

お問い合わせ頂きました内容について回答致します。
弊社資料および、実機での確認結果を報告致します。
クラスタにノードが参加する際に (Join Process) TCP を使用し、参加後のハートビートの通信では、UDP のユニキャスト (ポート : 3343) を用います。
Technet サイトにつきましては、”Windows Server 2008 Failover Clustering Architecture Overview” に記載されている通り、ハートビートは、UDP (3343) を使用し、クラスタの参加時に TCP を使用することになります。
お寄せ頂いております上記公開情報については、誤解を招く記事となっておりますことを深くお詫び申し上げます。
記事につきましては、担当部署にフィードバックさせて頂きます。

***** ここまで *****

ということで、今まで通りハートビートはUDPを使用することになります。更に、ネットワークにおいて以前はプライベート、パブリック、混合というネットワークが存在していましたが、MSFCでは用語が変わりました。プライベートはノード間の通信に使用し、パブリックはMSCS(Windows Server 2003)でいうところの混合になりますので、クライアントとクラスタ間通信及びノード間通信を行います。

このことから、ハートビートを特定のネットワークでのみ使用したいという設定はできません。利用可能なあらゆるネットワークを使用してハートビートを送りつける仕様になっています。

7月16日修正

そして、今までのクラスタにおける「パブリック(クライアントアクセスのみ)」の設定、つまり、クライアントとのやり取りだけに使用したいという設定はできなくなりました。逆にいうとノード間通信には使用させたくないになります。また、ハートビートに使用されるネットワークに関しては、これは今までと同じで、クラスタで利用可能なすべてのネットワークが使用されます。

私の理解が間違っていました。ハートビートはもとよりクラスタで利用可能なすべてのネットワークが使用されていたんですね。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください