サーバーのトラフィックのロード・バランシングを取るために使用するマシンに Dispatcher for IPv4 and IPv6 を構成します。
始める前に
Dispatcher マシンをセットアップする前に、root ユーザー (AIX、HP-UX、Linux、または Solaris システムの場合) あるいは
Windows システムの管理者である必要があります。
Dispatcher マシンの場合、少なくとも 2 つの有効な IP アドレスが必要になります。
次の図では、クラスターが 1 つ、ポートが 2 つ、
およびサーバーが 3 つの Load Balancer のセットアップ例を示します。
このタスクについて
ネットワーク環境内のトラフィックのロード・バランシングを取るには、Load Balancer を
インストールするマシンを事前に構成する必要があります。
このリリースで追加および改善された機能については、このリリースでの新機能のセクションを参照してください。
Best practice: リンクでの明示的なアドレス指定に留意して、ロード・バランシングを最大化します。また、明示的なリンクは、可能な場合には、回避するようにします。
サイトの個別のサーバーを指すリンクをページで指定すると、強制的にクライアントが特定のマシンにアクセスするようになるので、すべてのロード・バランシング機能が迂回され、効果がなくなってしまいます。
一般に、ロード・バランシング機能は、当製品が使用されるサイトのコンテンツとは関係なく機能しますが、
リンク・アドレス指定は、サイトのコンテンツが重要になる領域の 1 つです。サイトのコンテンツに関して行う決定が、
Load Balancer の効率に重大なインパクトを与える可能性があります。ページに含まれるすべてのリンクで、
Load Balancer のアドレスを使用してください。
サイトで自動プログラミングを使用して HTML を動的に作成する場合は、使用するアドレスの種類が常に明らかであるとは限りません。
bprac
Avoid trouble: 以下の制限に留意してください。
- Load Balancer は、受動状態の FTP をサポートしていません。
Solaris バックエンド・サーバー: バックエンドの
Solaris 5.8 サーバーへの IPv6 トラフィックのロード・バランシングは、サ
ポートされていません。
Solaris 5.8 では、MAC 転送される IPv6 パケットと Solaris IPv6 ス
タックとは互換性がありません。
クラスターが Solaris 5.8 バックエンド・サーバーで ifconfig lo0 (ル
ープバック) コマンドを使用して構成される場合、パケットは Solaris 5.8 ノードに到着しますが、受け入れられません。
ただし、Load Balancer for IPv4 and IPv6 のインストール済み環境を使用して、バックエンド
の Solaris 5.8 サーバーへの IPv4 トラフィックのロード・バランシングを取ることができます。
gotcha
手順
![[AIX]](../lb/images/aixlogo.gif)
![[HP-UX]](../lb/images/hpux.gif)
![[Linux]](../lb/images/linux.gif)
サーバー機能を開始します。 サーバー機能を開始するには、コマンド・プロンプトで次のように入力します。dsserver
注: デフォルトの構成ファイル (default.cfg) は、dsserver の開始時に自動的にロードされます。
ユーザーが Dispatcher 構成を default.cfg に保存することを決定すると、
次回 dsserver を開始するときに、
このファイルに保存されたすべての内容が自動的にロードされます。
- executor 機能を開始します。
- オプション: IPv6 アドレスを使用する場合、IPv6 パケットの処理を可能にします。
![[AIX]](../lb/images/aixlogo.gif)
![[Linux]](../lb/images/linux.gif)
![[Windows]](../lb/images/windows.gif)
executor を開始する (
dscontrol executor start) 前に、コマンド行から root として以下を発行する必要があります。
これらのコマンドは、それぞれのオペレーティング・システムで IPv6 パケットの処理を使用可能にします。このコマンドを 1 回だけ発行します。それ以後、必要なたびごとに
executor を開始したり、停止したりすることができます。これらのシステムで IPv6 パケットの処理を使用可能にするコマンドを発行しない場合、executor は開始しません。
![[HP-UX]](../lb/images/hpux.gif)
![[Solaris]](../lb/images/solaris.gif)
Dispatcher が IPv6 パケットを検査するためには、
ifconfig コマンドを使用して、IPv6 アドレスを調べ、インターフェースを構成する必要があります。これらのコマンドを発行しない場合、executor は開始しますが、IPv6 パケットはまったく表示されません。executor を開始する
(
dscontrol executor start) 前に、コマンド行から root として以下を発行する必要があります。
- executor 機能を開始するには、dscontrol executor start コマンドを入力します。 この時点で、さまざまな executor 設定値を変更することもできます。
- オプション: 非転送先アドレスがホスト名と異なる場合は、これを定義します。 非転送先アドレスは、このマシンに対して Telnet または SMTP を使用するなどの管理目的でマシンに接続するために使用します。
デフォルトではこのアドレスはホスト名です。非転送先アドレスを定義するには、以下のコマンドを入力するか、構成ファイルを編集します。
dscontrol executor set nfa IP_address
ここで、
IP_address は、シンボル名または IP アドレスです。
- クラスターを定義し、クラスター・オプションを設定します。 Dispatcher は、クラスター・アドレスに送信された要求と、そのクラスターのポート上に構成されたサーバーとのバランシングを行います。
クラスターは、シンボル名、小数点付き 10 進表記アドレス、またはワイルドカード・クラスターを定義する特別なアドレス 0.0.0.0 のいずれかです。ワイルドカード・クラスターを使用すると、ロード・バランシングを行う着信パケットの複数の IP アドレスに一致させることができます。
- クラスターを定義するには、以下の dscontrol cluster add コマンドを発行します。
dscontrol cluster add cluster
- クラスター・オプションを設定するには、dscontrol cluster set コマンドを使用します。 以下のコマンドを実行します。
dscontrol cluster set options
z/OS 上の Linux で qeth/OSA 実装をレイヤー 3 モードで使用する場合は、以下の追加構成ステップを実行して Load Balancer をセットアップします。 注: これらのステップは、qeth/OSA をレイヤー 2 モードで実行する場合は必要ありません。
- 1. ip コマンドまたは ifconfig コマンドを使用して、クラスター・アドレスを構成します。
ip -version addr add cluster_address/prefix_length dev device
例えば、以下のようになります。
ip -4 addr add 12.42.38.125/24 dev eth0
ip -6 addr add 3ffe:34::24:45/64 dev eth0
- iptables ルールを追加して、クラスター・アドレスに到着する着信パケットをドロップします。
IPv4 アドレスの場合:iptables -t filter -A INPUT -d cluster_address -j DROP
IPv6 アドレスの場合:ip6tables -t filter -A INPUT -d cluster_address -j DROP
例えば、以下のようになります。
iptables -t filter -A INPUT -d 12.42.38.125 -j DROP
ip6tables -t filter -A INPUT -d 3ffe:34::24:45 -j DROP
- 上記の構成を元に戻すには、以下のコマンドを使用します。
ip -version addr del cluster_address/prefix_length dev device
iptables -t filter -D INPUT -d cluster_address -j DROP
ip6tables -t filter -D INPUT -d cluster_address -j DROP
- dscontrol port add コマンドによって、ポートを定義し、ポート・オプションを設定します。 1 つのポートに対して、すべてのサーバーを定義して構成しなければなりません。
- ポートを定義します。 次のコマンドを使用します。
dscontrol port add cluster@port
- cluster は、シンボル名または IP アドレス
- port は、そのプロトコルに使用するポートの番号
- ポートの各種設定を変更します。 このコマンドおよび使用可能なオプションについての詳細は、dscontrol portを参照してください。

New feature:
Load Balancer がトラフィックの経路指定に使用する選択アルゴリズムについて、以下の新しいオプションを選択できるようになりました。
- conn+affinity: サーバーの選択は、既存の接続に基づいて指定します。新規接続では、サーバーの選択は、アフィニティー
に基づいて行われます。
newfeat
サンプル構成ファイルを編集することも、GUI を使用することもできます。
- ロード・バランシングが行われるサーバー・マシンを定義します。 ロード・バランシングが行われるサーバー・マシンを定義するには、次のコマンドを入力します。
dscontrol server add cluster@port@server
サンプル構成ファイルを編集することも、GUI を使用することもできます。cluster はシンボル名または IP アドレスで、
port はそのプロトコルに使用するポートの番号です。ロード・バランシングを行うためには、クラスター上の 1 つのポートに対して複数のサーバーを定義しなければなりません。- IPv6 リンク・ローカル・アドレスの構成: IPv6 アドレッシングの場合は、Load Balancer 構成内の各マシンが IPv6 リンク・ローカル・アドレスを持つ必要があります。 リンク・ローカル・アドレスは、IPv6 の隣接者探索トラフィックに使用されるアドレスで、
Load Balancer マシンおよびバックエンド・サーバーにこのアドレスがない場合、
隣接者探索は発生せず、マシンはお互いを認識しません。Load Balancer for IPv6 は、Load Balancer 構成内の各マシンのインター
フェースにリンク・ローカル IPv6 アドレスが構成されていない場合、トラフィックを転送することができません。
- オプション: バインド固有サーバー: Dispatcher コンポーネントがバインド固有サーバーに対してロード・バランシングを行う場合、クラスター・アドレスにバインドするようにそのサーバーを構成しなければなりません。 Dispatcher は宛先 IP アドレスを変更しないでパケットを転送するので、パケットがサーバーに到着した時は、そのパケットには宛先としてクラスター・アドレスが入ったままとなります。サーバーが、
クラスター・アドレス以外の IP アドレスにバインドするよう
に構成されている場合は、サーバーはクラスター向けの要求を受け入れられなくなります。
サーバーがバインド固有のものかどうかを判別するには、netstat -an コマンドを発行して server@port を検索します。サーバーがバインド固有ではない場合、このコマンドの結果は 0.0.0.0@80 になります。
サーバーがバインド固有の場合、192.168.15.103@80 のようなアドレスが表示されます。
- オプション: manager 機能を開始します。 manager 機能によって、ロード・バランシング性能が向上します。
manager を開始するには、dscontrol manager start コマンドを入力するか、サンプル構成ファイルを編集するか、GUI を使用します。 例えば、以下のようになります。
dscontrol manager start
- オプション: advisor 機能を開始します。 advisor は、ロード・バランシングが行われるサーバー・マシンが要求に応答する能力
に関する詳細情報を manager に提供します。advisor はプロトコル固有です。例えば、HTTP advisor を開始するには、以下のコマンドを発行します。
dscontrol advisor start http port
advisor とそのデフォルト・ポートのリストについては、advisor のリストを参照してください。
- 必要に応じて、クラスターの割合を設定します。 advisor を開始すると、ロード・バランシングの判断に含まれる advisor 情報に指定された重要度の割合を変更できます。
クラスターの割合を設定するには、dscontrol cluster set cluster proportions コマンドを発行します。
詳しくは、状況情報に与えられる重要性の割合の調整を参照してください。
- サーバー・マシンを構成します。