none
OS混在環境でのNLBについて RRS feed

  • 質問

  • 社内のWEBシステムの負荷分散として、NLBを検討しております。

    構成としては、エンドユーザからのアクセスを受け付けるNLBサーバが1台あり、
    その下に負荷分散先となるWEBサーバが2台ある構成です。

    負荷分散先となるWEBサーバは、OSがWindows Server 2003 R2です。WEBサーバは、OS標準のIISでの構成となります。
    ここに、NLBサーバを1台追加します。NLBサーバのOSは、Windows Server 2008 R2もしくはWindows 2012を予定しています。
    NLBの要件としてセッション維持が可能なことがあり、NLBが持っているアフィニティ 機能を利用する予定です。

    上記環境を前提とした確認になりますが、下記について不明なので教えてください。

    ・上記のような、NLBサーバがWindows Server 2008、WEBサーバがWindows Servwer 2003のような構成はサポートされているのか。
    ・仮にサポートされていた場合、アフィニティ 機能も機能制限なしにサポートされるのか。

    お忙しいところすいませんが、識者の方のご回答をお待ちしております。

    2014年7月14日 5:02

回答

  • > ・利用者から単一のIPアドレス宛にアクセスされるHTTPリクエストを、2台のWEBサーバに能動的に振り分ける。
    こちらについては NLB で問題なく出来ますね。
    ただし、設定を誤って "単一ホスト" にしてしまうと、Active/Standby になってしまいますが、
    既定値では負荷分散しますので気にしなくて大丈夫です。

    >  ・1時間程度はセッション維持(同一ソースからのアクセスは同一ホストへ)する。
    時間の制御は難しいですが、アフィニティ "なし" でなければ基本的には同一 NLB ノードが応答します。
    しかし、NLB クラスタに変動があったとき(当該 NLB ノードが障害になった等)はその限りではありません。
    例えばメンテナンスを行う際に、対象の NLB ノードに対して新規のセッションを張らせたくない場合はドレインを実施します。
    ドレインを実施すると新規のセッションをはらせず、既存のセッションは終了するまで維持しますので、目的は達成していると思います。

    >  ・WEBサーバは、Windows Server 2003のIISで稼働中である。
    以前私がテストしたときの環境ですが、Windows Server 2003 と Windows Server 2008 R2 で NLB の動作確認を実施した事がございます。
    理由はサーバー OS のアップグレードをしたかったのですが、停止期間が許容されなかった事と
    リスクを低減する目的で既存サーバーには極力手を入れず、新しいサーバーを NLB クラスタに参加させ、
    その後旧サーバーを NLB クラスタから抜きたいと言ったものでした。

    テスト環境で十分にテストした結果問題なく動作したため、本番で実施しましたが問題なく移行する事が出来ました。
    その為、移行目的で共存させるレベルであれば、テストさえ十分に実施していれば問題ないと思います。
    サポート サービスとして契約にもよると思いますが、まったくサポート サービスが受けられない状況であるとは私は思いませんが、
    運用環境として運用を続けたいと言うお話であればサポートからもお勧めしないと言ったお話はあるかもしれません。
    サポータブルかどうかは Technet や KB の記事を見つけるか、サポート サービスに確認するのが一番なのですが、
    私も探していますが、 今のところ Web 上の記事は見つけられていません。(ごめんなさい)

    ただし、古い記事であればこんなのもありました。
    http://msdn.microsoft.com/ja-jp/library/cc783135(v=ws.10).aspx
    ---------------------
    Q. Is it Possible to Mix Windows NT 4.0 WLBS, Windows 2000 WLBS and Windows Server 2003 in the Same Cluster?

    A. Yes, mixing Windows NT 4.0 WLBS, Windows 2000 NLB and Windows Server 2003 is supported. There is no additional work needed and the heartbeat packets from NLB in Windows Server 2003 are backward compatible with WLBS on Windows NT 4.0 and Windows 2000 NLB.

    Memo
    In mixed mode, you cannot use new features of Windows Server 2003 NLB. For a list of new features of Windows Server 2003 NLB refer to the following document: What’s New in Clustering Technologies, (http://go.microsoft.com/fwlink/?LinkId=18369).
    ---------------------
    現在も変わってなければ大丈夫かもしれません。
    明確な答えが出来ず、申し訳ございません。

    7/28 追記

    参考になる記事を見つけたので、ここに転記しておきますね。

    - Upgrading an existing Network Load Balancing Cluster
    <http://technet.microsoft.com/ja-jp/library/cc731691(v=ws.10).aspx>


    • 回答の候補に設定 佐伯玲 2014年7月22日 0:42
    • 回答としてマーク 佐伯玲 2014年7月25日 7:44
    • 編集済み QSE 2014年7月28日 2:10 Technet のリンクを追記
    2014年7月18日 10:21

すべての返信

  • 多数 NLB を経験しておりますが、記載いただいている構成は NLB ではなく BIG-IP LTM などで実装するサーバー ロード バランスの構成ではないでしょうか?

    OS 混在のお話しに行く前に、まずは実施されたい構成を認識あわせした方がよいと思います。

    まず、NLB 構成では BIG-IP LTM のようにセッションを仲介し、下位のサーバーに負荷を分散する事はありません。

    NLB では要求元のパケットを各モード(ユニキャスト/マルチキャスト/IGMPマルチキャスト)に従い、
    すべての NLB ノードにパケットをフラッディングさせます。要求元の通信は全ての NLB ノードに届き、
    NLB ドライバーによって NLB のアルゴリズムに従い、要求を上位にあげるかどうかを判断しているだけです。

    よってアフィニティなどの要件によって、通信に関係のない NLB ノードはそのパケットを無視し、要求を処理しなければいけないノードだけが応答を返します。

    これらの動作にはアフィニティ(同一接続元からの通信を同一 NLB ノードで処理させる)の機能をもちろん有しておりますが、NLB ノードの障害時におけるセッション維持(クライアントと継続中の SSL セッションを他のノードでそのまま継続処理させる)は不可能です。

    上述の理由により、そもそもの構成が NLB 構成ではないと思うので、OS 混在以前のお話であると思います。
    もし、私が文章を読み解けず、認識違いをしていればご容赦ください。


    • 編集済み QSE 2014年7月17日 11:10 舌足らずだったので追記
    • 回答の候補に設定 佐伯玲 2014年7月18日 1:07
    2014年7月17日 11:01
  • QSE様

    ご返信いただきありがとうございます。
    そもそも私がNLBを十分理解しておらず、回答に際してお手数おかけしたことお詫びいたします。

    要件としては、以下の三点となります。

    ・利用者から単一のIPアドレス宛にアクセスされるHTTPリクエストを、2台のWEBサーバに能動的に振り分ける。
    ・1時間程度はセッション維持(同一ソースからのアクセスは同一ホストへ)する。
    ・WEBサーバは、Windows Server 2003のIISで稼働中である。

    ロードバランサーの導入が予算的にNGとのことで、NLBで実現しようとしており、NLBとロードバランサーが同一構成下でのテクノロジーであると勘違いしておりました。失礼いたしました。

    要件的にはNLBで十分カバーできる内容ではないかと思っておりますが、認識はあっておりますでしょうか。

    そもそもがWEBサーバが2003なので、スレッド的にカテゴリ違いの内容となってしまい申し訳ありませんが、ご回答いただけると幸いです。

    2014年7月18日 8:58
  • > ・利用者から単一のIPアドレス宛にアクセスされるHTTPリクエストを、2台のWEBサーバに能動的に振り分ける。
    こちらについては NLB で問題なく出来ますね。
    ただし、設定を誤って "単一ホスト" にしてしまうと、Active/Standby になってしまいますが、
    既定値では負荷分散しますので気にしなくて大丈夫です。

    >  ・1時間程度はセッション維持(同一ソースからのアクセスは同一ホストへ)する。
    時間の制御は難しいですが、アフィニティ "なし" でなければ基本的には同一 NLB ノードが応答します。
    しかし、NLB クラスタに変動があったとき(当該 NLB ノードが障害になった等)はその限りではありません。
    例えばメンテナンスを行う際に、対象の NLB ノードに対して新規のセッションを張らせたくない場合はドレインを実施します。
    ドレインを実施すると新規のセッションをはらせず、既存のセッションは終了するまで維持しますので、目的は達成していると思います。

    >  ・WEBサーバは、Windows Server 2003のIISで稼働中である。
    以前私がテストしたときの環境ですが、Windows Server 2003 と Windows Server 2008 R2 で NLB の動作確認を実施した事がございます。
    理由はサーバー OS のアップグレードをしたかったのですが、停止期間が許容されなかった事と
    リスクを低減する目的で既存サーバーには極力手を入れず、新しいサーバーを NLB クラスタに参加させ、
    その後旧サーバーを NLB クラスタから抜きたいと言ったものでした。

    テスト環境で十分にテストした結果問題なく動作したため、本番で実施しましたが問題なく移行する事が出来ました。
    その為、移行目的で共存させるレベルであれば、テストさえ十分に実施していれば問題ないと思います。
    サポート サービスとして契約にもよると思いますが、まったくサポート サービスが受けられない状況であるとは私は思いませんが、
    運用環境として運用を続けたいと言うお話であればサポートからもお勧めしないと言ったお話はあるかもしれません。
    サポータブルかどうかは Technet や KB の記事を見つけるか、サポート サービスに確認するのが一番なのですが、
    私も探していますが、 今のところ Web 上の記事は見つけられていません。(ごめんなさい)

    ただし、古い記事であればこんなのもありました。
    http://msdn.microsoft.com/ja-jp/library/cc783135(v=ws.10).aspx
    ---------------------
    Q. Is it Possible to Mix Windows NT 4.0 WLBS, Windows 2000 WLBS and Windows Server 2003 in the Same Cluster?

    A. Yes, mixing Windows NT 4.0 WLBS, Windows 2000 NLB and Windows Server 2003 is supported. There is no additional work needed and the heartbeat packets from NLB in Windows Server 2003 are backward compatible with WLBS on Windows NT 4.0 and Windows 2000 NLB.

    Memo
    In mixed mode, you cannot use new features of Windows Server 2003 NLB. For a list of new features of Windows Server 2003 NLB refer to the following document: What’s New in Clustering Technologies, (http://go.microsoft.com/fwlink/?LinkId=18369).
    ---------------------
    現在も変わってなければ大丈夫かもしれません。
    明確な答えが出来ず、申し訳ございません。

    7/28 追記

    参考になる記事を見つけたので、ここに転記しておきますね。

    - Upgrading an existing Network Load Balancing Cluster
    <http://technet.microsoft.com/ja-jp/library/cc731691(v=ws.10).aspx>


    • 回答の候補に設定 佐伯玲 2014年7月22日 0:42
    • 回答としてマーク 佐伯玲 2014年7月25日 7:44
    • 編集済み QSE 2014年7月28日 2:10 Technet のリンクを追記
    2014年7月18日 10:21
  • こんにちは、mugichamanさん
    フォーラムオペレータの佐伯 玲 です。

    その後QSEさんからの返信はご覧いただけましたでしょうか?
    ご参考になるアドバイスがいただけているかと思いましたので私のほうで「回答としてマーク」とさせていただきました。

    宜しくお願い致します。

    TechNet Community Support 佐伯 玲

    2014年7月25日 7:38