Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.4.2. ダイレクト Routing

ダイレクト routing を使用する LVS セットアップを構築することは、他の LVS ネットワーキング トポグラフィーに比べて向上したパフォーマンスの利点を提供できます。ダイレクト routing により、 実サーバーは、全ての出向くパケットを LVS router を介して通過させる代わりに、直接処理して要求側の ユーザーに回送することが出来ます。ダイレクト routing は、LVS router のジョブを来信のパケットのみの 処理にすることでネットワークパフォーマンス問題の可能性を低減します。
LVS Implemented with Direct Routing

図1.4 LVS Implemented with Direct Routing

標準的なダイレクト routing LVS セットアップでは、LVS router は到来するサーバー要求を 仮想 IP (VIP)を通じて受け取り、スケジューリングアルゴリズムを使用して要求を実サーバーに 回送します。実サーバーは要求を処理してその反応を LVS router を飛び越えて、直接クライアントに返します。 この routing の方法により、実サーバーからクライアントへの発信パケットを回送し、大量のネットワーク負荷状態では流通ネックとなり得る LVS router に、余計な負担を与えずに実サーバーを追加できると言う拡張性を持てるように なります。

1.4.2.1. ダイレクト Routing と ARP の限度

LVS でダイレクト routing を使用することに多くの利点がありますが、そこには限度があります。 ダイレクト routing を持つ LVS での最も一般的な問題は、アドレス解決プロトコル (Address Resolution Protocol)(ARP) にあります。
In typical situations, a client on the Internet sends a request to an IP address. Network routers typically send requests to their destination by relating IP addresses to a machine's MAC address with ARP. ARP requests are broadcast to all connected machines on a network, and the machine with the correct IP/MAC address combination receives the packet. The IP/MAC associations are stored in an ARP cache, which is cleared periodically (usually every 15 minutes) and refilled with IP/MAC associations.
ダイレクト routing LVS セットアップ内の ARP 要求での問題は、IP アドレスへのクライアント 要求は、要求処理の為に MAC アドレスとの関連付けが必要であるため、LVS システムの仮想 IP アドレスも また、 MAC に関連している必要があることです。しかし、LVS router と実サーバーの両方が全て 同じ IP を持つ為、ARP 要求は VIP に関連している全てのマシンにブロードキャストされます。これが 実サーバーの1つに関連付けのある VIP が要求を直接処理して、LVS router を完全に飛び越えて LVS セットアップの目的を無駄にすると言うようないくつかの問題の原因になります。
この問題を解決するには、到来する要求が、実サーバーの1つにではなく、常に LVS router に 送られるようにすることです。これは、以下のような理由で、 arptables_jf か又は iptables パケットフィルタリングツールを使用することで達成されます:
  • arptables_jf は ARP が VIP を実サーバーに関連付けるのを 阻止します。
  • iptables メソッドは、最初から実サーバー上で VIP を設定しないことに より、完全に ARP 問題を回避します。
For more information on using arptables or iptables in a direct routing LVS environment, refer to 「ダイレクト Routing 及び arptables_jf or 「ダイレクト Routing 及び iptables.