この章のステップを実行する前に、Dispatcher の計画を 参照してください。この章では、Load Balancer の Dispatcher コンポーネントのための基本構成を 作成する方法について説明します。
この表の構成ステップを始める前に、Dispatcher マシンとすべてのサーバー・マシンをネットワーク に接続し、有効な IP アドレスを与え、相互に ping できるようにしてください。
タスク | 説明 | 関連情報 |
---|---|---|
Dispatcher マシンをセットアップする |
ロード・バランシング構成をセットアップします。 |
Dispatcher マシンのセットアップ |
ロード・バランシング対象のマシンをセットアップする | ループバック・デバイスに別名割り当てし、エクストラ経路をチェックし、エクストラ経路を削除します。 | ロード・バランシングのためのサーバー・マシンのセットアップ |
Dispatcher を構成するための基本的な方法には、以下の 4 つがあります。
これは、Dispatcher を構成する最も直接的な方法です。 コマンド・パラメーター値は、英字で入力する必要があります。 唯一の例外は、ホスト名 (クラスター、サーバー、およびハイ・アベイラビリティー・コマンドで使用) およびファイル名 (ファイル・コマンドで使用) です。
コマンド行から Dispatcher を始動するには、次のようにしてください。
パラメーターの固有文字を入力することで、dscontrol コマンド・パラメーターの最小化バージョンを使用できます。例えば、file save コマンドに関するヘルプを表示するには、dscontrol help file の代わりに dscontrol he f と入力することができます。
コマンド行インターフェースを始動するには、dscontrol を実行して、dscontrol コマンド・プロンプトを表示します。
コマンド行インターフェースを終了するには、exit または quit を実行します。
構成スクリプト・ファイルに Dispatcher を構成するコマンドを入力して、それらを一緒に実行できます。 サンプルの Load Balancer 構成ファイルを参照してください。
dscontrol file appendload myscript
dscontrol file newload myscript
現在の構成をスクリプト・ファイル (例えば savescript) に保存するには、次のコマンドを実行します。
dscontrol file save savescript
このコマンドは、構成スクリプト・ファイルを次のディレクトリーに保存します。
グラフィカル・ユーザー・インターフェース (GUI) の一般的な説明と例については、図 38 を参照してください。
GUI を開始するには、以下のステップに従ってください。
dsserver
GUI から Dispatcher コンポーネントを構成するには、ツリー構造で Dispatcher を最初に 選択しなければなりません。 一度ホストに接続すると、executor および manager を 開始することができるようになります。また、ポートとサーバーを含むクラスターを作成したり、manager の advisor を開始したりすることもできます。
GUI を使用して、dscontrol コマンドで 行うあらゆる処理を実行することができます。例えば、コマンド行を使用してクラスターを定義するには、dscontrol cluster add cluster コマンドを入力します。クラスターを GUI から定義するには、「Executor」を右マウス・ボタンでクリックしてから、ポップアップ・メニューの「クラスターの追加」を左マウス・ボタンでクリックします。 ポップアップ・ウィンドウでクラスター・アドレスを入力して、「OK」をクリックします。
既存の Dispatcher 構成ファイルは、「ホスト」ポップアップ・メニューに表示される 「新規構成のロード」オプション (現行の構成を完全に置き換える場合) と 「現行の構成に追加」オプション (現行の構成を更新する場合) を使用してロードすることができます。 Dispatcher 構成は、「ホスト」ポップアップ・メニューに 表示される「構成ファイルの別名保存」オプションを使用して定期的にファイルに保存しなければなりません。GUI の上部にある「ファイル」メニューを使用して、現行のホスト接続をファイルに保存したり、すべての Load Balancer コンポーネントにわたって既存のファイルにある接続を復元したりすることができます。
構成コマンドは、リモートでも実行することができます。詳細については、リモート・メソッド呼び出し (RMI)を参照してください。
GUI からコマンドを実行するには、GUI ツリーでホスト・ノードを強調表示し、「ホスト」ポップアップ・メニューから「コマンドの送信....」を選択します。 コマンド入力フィールドに、実行したいコマンド (例えば executor report) を入力します。 現行セッションでのコマンド実行の結果およびヒストリーが、ウィンドウに表示されます。
Load Balancer ウィンドウの右上隅にある疑問符のアイコンをクリックすると、「ヘルプ」にアクセスすることができます。
GUI の使用について詳しくは、 付録A. GUI: 一般的な説明 を参照してください。
構成ウィザードを使用する場合は、以下のステップに従ってください。
dsserver
ウィザードは、Dispatcher コンポーネントの基本クラスターを作成するプロセスを段階的に案内します。ここでは、ネットワークについての情報を入力します。Dispatcher のためのクラスターのセットアップを通して、サーバーのグループの間のトラフィックのロード・バランシングを行います。
Dispatcher マシンをセットアップする前に、 root ユーザー (AIX、HP-UX、Linux、 または Solaris システムの場合) または Windows システムの管理者にならなければなりません。
Load Balancer は、サポートされるすべてのプラットフォーム上で、 連結されたサーバーを持つことができます。 連結は、Load Balancer がロード・バランシングしているサ ーバー・マシンに物理的に常駐できることを意味します。
Dispatcher マシンの場合、MAC 転送方式を使用しているときには、少なくとも 2 つの有効 IP アドレスが必要になります。CBR または NAT 転送方式の場合、少なくとも 3 つの有効 IP アドレスが必要になります。
この IP アドレスは、Dispatcher マシンのプライマリー IP アドレスであり、非転送先アドレス (NFA) といいます。デフォルトでは、hostname コマンドによって戻されるアドレスと 同じです。このアドレスは、Telnet を介したリモートでの構成 や SNMP サブエージェントへのアクセスなどの管理目的でマシンに 接続するために使用します。Dispatcher マシンが既にネットワーク上の他のマシンに ping できる場合は、非転送先アドレスをセットアップするための追加の処理は必要ありません。
クラスター・アドレスは、ホスト名 (www.yourcompany.com など) に関連するアドレスです。この IP アドレスは、クライアントがクラスター内のサーバーに接続するために使用します。これは、Dispatcher によってロード・バランシングが行われるアドレスです。
サーバーに対するクライアント要求のロード・バランシングを行うときに、Dispatcher はリターン・アドレスをその送信元アドレスとして使用します。これによって、サーバーはパケットを直接クライアントに送信せずに、Dispatcher マシンに戻すようになります。(次に Dispatcher は IP パケットをクライアントに転送します。) サーバーの追加時には、リターン・アドレス値を指定する必要があります。リターン・アドレスは、サーバーを除去してもう一度追加しない限り変更できません。
Load Balancer がバックエンド・サーバーとの間でアクティブにしておくことができる接続の数は、定義されているリターン・アドレスの数によって制限されます。 Load Balancer では、リターン・アドレスとサーバーの組み合わせではなく、リターン・アドレスのみに基づいてポートを使用します。 使用可能なポートがすべて使用中である場合、以降の接続は失敗します。ビジー状態の環境においては、 複数のリターン・アドレスを使用して、使用可能なポートが不足しないようにします。
Solaris システムのみ:
例えば、デフォルト設定を変更するには、次のように、 /opt/ibm/edge/lb/servers/ibmlb.conf ファイルを編集します。
例えば、2 つの 100 Mbps イーサネット・アダプターを使用する計画である場合は、ibmlb.conf ファイルに eri デバイスを指定する 1 行が必要です。
10 Mbps イーサネット・アダプターと 100 Mbps イーサネット・アダプターを 1 つずつ使用する計画である場合は、ibmlb.conf ファイルに le デバイスを指定する 1 行、および eri デバイスを指定する 1 行の合計 2 行が必要です。
ifconfig -a以下が結果として出力される場合、
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 eri0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 9.42.93.208 netmask fffffc00 broadcast 9.42.95.255 ether 0:3:ba:2d:24:45以下のように、ibmlb.conf ファイルを編集します。
eri -1 0 ibmlb
例えば、クラスター X および Y が、ibmlb.conf にリストされている任意のアダプター 上の CBR コンポーネントで使用するように構成されている場合は、 dscontrol executor start コマンド または dscontrol executor stop コマンドを実行すると クラスター X および Y が構成解除されます。 これは望ましくない場合があります。クラスター X および Y を goAliases スクリプトで構成すると、Dispatcher executor を開始または停止した後でクラスターが自動的に再構成されます。
IP 転送が、TCP/IP プロトコルに対して使用可能になっていないことを確認します。
図 15 には、クラスターが 1 つ、ポートが 2 つ、およびサーバーが 3 つの Dispatcher のセットアップ例が示されています。
この手順で使用するコマンドについては、Dispatcher および CBR のコマンド解説 を参照してください。
サンプルの構成ファイルについては、『サンプルの Load Balancer 構成ファイル』を参照してください。
AIX、HP-UX、Linux、または Solaris システム: サーバー機能を開始するには、dsserver と入力します。
Windows システム: サーバー機能は自動的に開始します。
executor 機能を開始するには、dscontrol executor start コマンドを入力します。この時点で、さまざまな executor 設定値を変更することもできます。Dispatcher および CBR のコマンド解説 を参照してください。
非転送先アドレスは、このマシンに対して Telnet または SMTP を使用するなどの管理目的でマシンに接続するために使用します。デフォルトではこのアドレスはホスト名です。
非転送先アドレスを定義するには、dscontrol executor set nfa IP_address コマンドを入力するか、サンプル構成ファイルを編集します。IP_address は、シンボル名または IP アドレスです。
Dispatcher は、クラスター・アドレスに送信された要求と、そのクラスターのポート上に構成されたサーバーとのバランシングを行います。
クラスターは、シンボル名、小数点付き 10 進表記アドレス、またはワイルドカード・クラスターを定義する特別なアドレス 0.0.0.0 のいずれかです。 クラスターを定義するには、コマンド dscontrol cluster add を発行します。クラスター・オプションを設定するには、コマンド dscontrol cluster set を発行します。また、GUI を使用してコマンドを発行することもできます。ワイルドカード・クラスターを使用すると、ロード・バランシングを行う着信パケットの複数の IP アドレスに一致させることができます。詳細については、ワイルドカード・クラスターを使用したサーバー構成の結合、ワイルドカード・クラスターを使用したファイアウォールのロード・バランシング、透過プロキシーに Caching Proxy とワイルドカード・クラスターを使用を参照してください。
一度クラスターを定義すると、通常は Dispatcher マシンのネットワーク・インターフェース・カードのうちの 1 つでクラスター・アドレスを構成しなければなりません。 これを行うには、コマンド dscontrol executor configure cluster_address を発行します。これによって、クラスター・アドレスと同じサブネットに属する既存のアドレスを持つ アダプターが検索されます。その後で、検出されたアダプターおよびそのアダプター上で検出された既存のアドレスのネットマスクを使用して、そのクラスター・アドレスのオペレーティング・システムのアダプター構成コマンドを実行します。例えば、以下のようになります。
dscontrol executor configure 204.67.172.72
クラスター・アドレスを構成しない場合は、ハイ・アベイラビリティー・モードの待機状態のサーバーにクラスターを追加する場合か、リモート・サーバーとして動作する広域 Dispatcher にクラスターを追加する場合です。また、スタンドアロン・モードでサンプル goIdle スクリプトを使用する場合は、executor configure コマンドを実行する必要はありません。goIdle スクリプトについては、スクリプトの使用を参照してください。
まれに、既存のアドレスのいずれのサブネットともクラスター・アドレスが一致しない場合があります。この場合は、executor configure コマンドの 2 番目の形式を使用して、明示的にインターフェース名とネットマスクを提供してください。dscontrol executor configure cluster_address interface_name netmask を使用してください。
例には、以下のようなものがあります。
dscontrol executor configure 204.67.172.72 en0 255.255.0.0 (AIX systems) dscontrol executor configure 204.67.172.72 eth0:1 255.255.0.0 (Linux systems) dscontrol executor configure 204.67.172.72 eri0 255.255.0.0 (Solaris systems) dscontrol executor configure 204.67.172.72 en1 255.255.0.0 (Windows systems)
Windows システムで executor configure コマンドの 2 番目 の形式を使用するには、使用するインターフェース名を決定しなければなりま せん。 マシンにイーサネット・カードが 1 つしかない場合、インターフェース名は en0 になります。 トークンリング・カードが 1 つしかない場合は、インターフェース名は tr0 です。 いずれかのタイプのカードが複数ある場合は、そのカードのマッピングを判別する必要があります。以下のステップを使用します。
出力は画面に表示されます。Load Balancer 構成に使用するインターフェース名を判別 するには、 Number of NIC records に続く行で Load Balancer マシンの IP アドレスを検索します。
Load Balancer マシンの IP アドレスは、ia->ia_addr としてリストされます。 関連インターフェース名は、ifp->if_name としてリストされ ます。
executor configure コマンドによって割り当てられたインターフェース名は、 このコマンドでリストされたインターフェース名にマップされます。
このマッピング情報を入手すれば、クラスター・アドレスに対してネットワーク・インターフェースで別名を作成することができます。
Linux または UNIX システムの場合、executor configure コマンドでは ifconfig コマンドが実行されます。
サーバーの IP が含まれない IP アドレスのリストにバインドする、バインド固有のサーバー・アプリケーションを使用している場合には、ifconfig ではなく arp publish コマンドを使用し、Load Balancer マシンで動的に IP アドレスを設定します。 例えば、以下のようになります。
arp -s <cluster> <Load Balancer MAC address> pub
ポートを定義するには、dscontrol port add cluster:port コマンドを入力するか、サンプル構成ファイルを編集するか、GUI を使用します。cluster は、シンボル名または IP アドレスです。port は、そのプロトコルに使用するポートの番号です。また、この時点でさまざまなポート設定値を変更することもできます。1 つのポートに対して、すべてのサーバーを定義して構成しなければなりません。Dispatcher および CBR のコマンド解説を参照してください。
ポート番号 0 (ゼロ) は、ワイルドカード・ポートを指定するために使用します。 このポートは、クラスターに定義されたポートのいずれにも定まられない ポートに対するトラフィックを受け入れます。ワイルドカード・ポートは、すべてのポートについてルールとサーバーを構成するために使用します。この機能は、複数のポートに同じサーバーとルールの構成がある場合にも使用できます。 このため、あるポートのトラフィックが、他のポートのトラフィックのロード・バランシング決定に影響を与えることがあります。 ワイルドカード・ポートの使用が必要な場合について詳しくは、『ワイルドカード・ポートを使用した未構成ポート・トラフィックの送信』を参照してください。
ロード・バランシングが行われるサーバー・マシンを定義するには、dscontrol server add cluster:port:server コマンドを入力するか、サンプル構成ファイルを編集するか、GUI を使用します。cluster および server は、シンボル名または IP アドレスです。port は、そのプロトコルに使用するポートの番号です。ロード・バランシングを行うためには、クラスター上の 1 つのポートに対して複数のサーバーを定義しなければなりません。
バインド固有サーバー: Dispatcher コンポーネントがバインド固有サーバーに対してロード・バランシングを行う場合は、そのサーバーはクラスター・アドレスにバインドするように構成されていなければなりません。 Dispatcher は宛先 IP アドレスを変更しないでパケットを転送するので、パケットがサーバーに到着した時は、そのパケットには宛先としてクラスター・アドレスが入ったままとなります。サーバーが、 クラスター・アドレス以外の IP アドレスにバインドするよう に構成されている場合は、サーバーはクラスター向けの要求を受け入れられなくなります。
サーバーがバインド固有のものかどうかを判別するには、netstat -an コマンドを発行して server:port を検索します。サーバーが バインド固有でない場合、このコマンドの結果は 0.0.0.0:80 です。サーバーが バインド固有の場合、192.168.15.103:80 のようなアドレスが表示されます。
マルチアドレスの連結: 連結された構成では、連結サーバー・マシンのアドレスは nonforwarding アドレス (NFA) と同じである必要は ありません。 ご使用のマシンが複数の IP アドレスで定義されている場合には、別のアドレスを使用することができます。 Dispatcher コンポーネントの場合、連結されたサーバー・マシンは、dscontrol server コマンドを使用して collocated と定義しなければなりません。連結サーバーについて詳しくは、連結サーバーの使用 を参照してください。
dscontrol サーバー・コマンド構文の詳細については、dscontrol server — サーバーの構成を参照してください。
manager 機能によって、ロード・バランシング性能が向上します。 manager を開始するには、dscontrol manager start コマンドを入力するか、サンプル構成ファイルを編集するか、GUI を使用します。
advisor は、ロード・バランシングが行われるサーバー・マシンが要求に応答する能力 に関する詳細情報を manager に提供します。advisor はプロトコル固有です。例えば、HTTP advisor を開始するには、以下のコマンドを発行します。
dscontrol advisor start http portadvisor とそのデフォルト・ポートのリストについては、Dispatcher および CBR のコマンド解説を参照してください。各 advisor の説明については、『advisor のリスト』を参照してください。
advisor を開始すると、ロード・バランシングの判断に含まれる advisor 情報に指定された重要度の割合を変更できます。 クラスターの割合を設定するには、dscontrol cluster set cluster proportions コマンドを発行します。 詳細については、状況情報に与えられる重要性の割合 を参照してください。
以下の条件のいずれかに当てはまる場合は、サーバー・マシン上でこれらの操作を実行してください。
MAC 転送方式を使用している時には、 IP アドレス (バックエンド・サーバーが ARP (アドレス解決プロトコル) 要求に対して応答してしまわないもの) を 追加することでループバック・アダプターを構成することが可能なサーバー間でのみ、 Dispatcher のロード・バランシングが行われます。 このセクションのステップに従って、ロード・バランシングが行われるサーバー・マシンをセットアップします。
ロード・バランシングが行われるサーバー・マシンを機能させるには、ループバック・デバイス (通常は lo0 と呼ばれます) をクラスター・アドレスに設定しなければなりません (別名割り当てされることをお勧めします)。mac 転送方式を使用している時は、Dispatcher コンポーネントは、パケットを TCP サーバー・マシンに転送する前に、TCP/IP パケット中の宛先 IP アドレスを変更しません。ループバック・デバイスをクラスター・アドレスに設定または別名割り当てすることで、ロード・バランシングが行われるサーバー・マシンは、クラスター・アドレスにアドレス指定されたパケットを受け入れます。
オペレーティング・システムがネットワーク・インターフェースの別名割り当てをサポートしている 場合 (AIX、HP-UX、 Linux、Solaris、 または Windows システムなど) は、ループバック・デバイスをクラスター・アドレスに別名で割り当ててください。 別名をサポートするオペレーティング・システムを使用する利点は、ロード・バランシングが行われるサーバー・マシンを、複数のクラスター・アドレスについてサービスを提供するように構成できることです。
重要: Linux システムの場合は、 Linux における Load Balancer の MAC 転送の使用時のループバック別名割り当ての代替手段を参照してください。
サーバーのオペレーティング・システムが 別名をサポートしない場合は、ループバック・デバイスを クラスター・アドレスに設定しなければなりません。
『表 2』に示されているご使用のオペレーティング・システム用のコマンドを使用して、ループバック・デバイスを設定するか、別名を割り当てます。
AIX | |
HP-UX |
ifconfig lo0:1 cluster_address up 注:
サーバーの IP が含まれていない IP アドレスのリストにバインドするバインド固有のサーバー・アプリケーションを使用する場合には、ifconfig ではなく arp publish コマンドを使用して、Load Balancer マシン上の IP アドレスを動的に設定します。
例えば、以下のようになります。 arp -s cluster_address Load Balancer's_MAC_address pub |
Linux | 以下のいずれかのコマンドを選択します。
|
OS/2 | ifconfig lo cluster_address |
OS/390® | OS/390 システムでのループバック別名の構成
|
Solaris |
|
Windows |
|
いくつかのオペレーティング・システムでは、デフォルトの経路が既に作成されている場合があります。その場合には、その経路を削除する必要があります。
route print
重要: Windows 2003 では、エクストラ経路を無視する必要があります。 別名割り当ての後、経路指定で問題が生じた場合、別名を除 去し、異なった netmask を使用して別名を再度追加します。
netstat -nr
Windows の場合の例:
Active Routes: Network Address Netmask Gateway Address Interface Metric 0.0.0.0 0.0.0.0 9.67.128.1 9.67.133.67 1 9.0.0.0 255.0.0.0 9.67.133.158 9.67.133.158 1 9.67.128.0 255.255.248.0 9.67.133.67 9.67.133.67 1 9.67.133.67 255.255.255.255 127.0.0.1 127.0.0.1 1 9.67.133.158 255.255.255.255 127.0.0.1 127.0.0.1 1 9.255.255.255 255.255.255.255 9.67.133.67 9.67.133.67 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 224.0.0.0 224.0.0.0 9.67.133.158 9.67.133.158 1 224.0.0.0 224.0.0.0 9.67.133.67 9.67.133.67 1 255.255.255.255 255.255.255.255 9.67.133.67 9.67.133.67 1
9.0.0.0 255.0.0.0 9.67.133.158 9.67.133.158 1
エクストラ経路は削除しなければなりません。『表 3』に示されているオペレーティング・システム用のコマンドを使用して、エクストラ経路を削除します。
例: ステップ 2 の「活動状態の経路」の例に示されているエクストラ経路を削除するためには、次のように入力してください。
route delete 9.0.0.0 9.67.133.158
HP-UX | route delete cluster_address cluster_address |
Windows | route delete network_address
cluster_address (MS-DOS プロンプトで)
注:
エクストラ経路は、サーバーをリブートするたびに削除しなければなりません。
Windows 2003 では、経路を削除することができません。Windows 2003 では、エクストラ経路 を無視する必要があります。 別名割り当ての後、経路指定で問題が生じた場合、別名を除 去し、異なった netmask を使用して別名を再度追加します。 |
図 15 に示す例を使用し、AIX システムを実行するサーバー・マシンをセットアップする場合のコマンドは、以下のようになります。
route delete -net 204.0.0.0 204.67.172.72
バックエンドのサーバーが適正に構成されていることを確認するためには、同じサブネット上の別のマシンで、Load Balancer が実行されていなくて、cluster が構成されていない時に、以下のステップを実行してください。
arp -d cluster
ping cluster無応答でなければなりません。 ping に対して応答がある場合には、クラスター・アドレスをインターフェースに ifconfig していないことを確認してください。 どのマシンも、クラスター・アドレスに対する公開された arp 項目をもっていないことを確認してください。
arp -aコマンドからの出力の中に、サーバーの MAC アドレスがあるはずです。 以下のコマンドを発行する。
arp -s cluster server_mac_address
arp -d cluster
一部の Linux システム・バージョンはマシン上に存在するどのインターフェースについて構成された IP アドレスに対しても、 ARP 応答を出します。 Linux はまた、 ARP who-has 照会に対して、マシン上に存在するすべての IP アドレスに 基づいて ARP ソース IP アドレスを選択する場合があります。 これらのアドレスがどのインターフェース上で構成されているかは関係ありません。 このことにより、クラスターのトラフィックはすべて、 単一のサーバーに対して不確定に送信されます。
Dispatcher の MAC 転送方式を使用しているときは、クラスター宛てのトラフィックをバックエンド・サーバーのスタックが確実に受け入れることができるようにするための機構が必要です。ハイ・アベイラビリティーと連結の両方が使用されているときは、これらのバックエンド・サーバーに、連結されたハイ・アベイラビリティーのスタンバイ・マシンも含まれます。
ほとんどの場合、ループバックでクラスター・アドレスに別名を割り当てる必要があります。したがって、バックエンド・サーバーはループバック上でクラスターに別名が割り当てられている必要があります。また、ハイ・アベイラビリティーと連結を使用している場合は、スタンバイのロード・バランシング・サーバーはループバック上でクラスターに別名が割り当てられている必要があります。
Linux システムがループバック上のアドレスを公示しないようにするために、以下の 4 つの解決方法のいずれかを使用して、 Linux システムに Dispatcher の MAC 転送との互換性を持たせます。
# sysctl -w net.ipv4.conf.all.hidden=1 net.ipv4.conf.lo.hidden=1以降は、クラスターは通常の方法で別名を割り当てることができます。例えば、次のようにします。
# ifconfig lo:1 $CLUSTER_ADDRESS netmask 255.255.255.255 up
# sysctl -w net.ipv4.conf.all.arp_ignore=3 net.ipv4.conf.all.arp_announce=2次に、 以下のコマンドでクラスターに別名を割り当てます。
# ip addr add $CLUSTER_ADDRESS/32 scope host dev lo高可用性の連結構成の場合は、 同様のコマンドを go* スクリプトに入れる必要があります。
# iptables -t nat -A PREROUTING -d $CLUSTER_ADDRESS -j REDIRECTこれにより、 Linux システムは 各パケットごとに宛先 NAT を行い、 クラスター・アドレスをインターフェース・アドレスに変換します。 この方式では、一秒ごとの接続数のスループットに 6.4% の低下があります。 この方式は、通常のサポートされる配布で機能し、 カーネル・モジュールまたはカーネル・パッチ + ビルド + インストールの必要がありません。
# modprobe noarp # noarpctl add $CLUSTER_ADDRESS nic-primary-addrここ で nic-primary-addr は、クラスター・アドレスと同じサブネット中のアドレスです。 以降は、クラスターは通常の方法で別名を割り当てることができます。例えば、次のようにします。
# ifconfig lo:1 cluster address netmask 255.255.255.255 up