第3章 Load Balancer Add-On の設定
Load Balancer Add-On は LVS ルーターの集合と実サーバーの集合という二つの基本グループで構成されています。単一点障害を防止するため、それぞれのグループには少なくとも二つのメンバーシステムを含める必要があります。
LVS ルーターグループは、Red Hat Enterprise Linux を実行している同一または非常に似ている二つのシステムで構成する必要があります。そのうちの 1 つはアクティブ LVS ルーターとして機能し、もう 1 つはホットスタンバイモードで待機するので、この 2 つができるだけ同じキャパシティを備えている必要があります。
実サーバーグループのハードウェアの選択や設定を行う前に、まず3 種類の Load Balancer Add-On トポロジーのうちどれを使用するかを決定します。
3.1. NAT を使った Load Balancer Add-On ネットワーク
NAT トポロジーを使用すると、既存ハードウェアの活用の自由度が高まりますが、大量の負荷を処理するには限界があります。これは、プールを出入りするパケットがすべて Load Balancer Add-On ルーターを通過するためです。
- ネットワークレイアウト
- NAT ルーティングを使った Load Balancer Add-On のトポロジーはパブリックネットワークへのアクセスポイントが 1 つあれば構成できるため、ネットワークレイアウトの観点からは最も設定が簡単なトポロジーになります。実サーバーはすべての要求を LVS ルーター経由で返すため、すべての実サーバーがそれ専用のプライベートネットワーク上に配置されることになります。
- ハードウェア
- 正常に機能させるため実サーバーを Linux マシンにする必要はないため、ハードウェアに関しては NAT トポロジーが最も柔軟なトポロジーになります。各実サーバーが応答するのは LVS ルーターのみのため、実サーバー側に必要な NIC は 1 つのみになります。一方、LVS ルーターでは 2 種類のネットワークのトラフィックを別々にルーティングさせるため NIC が 2 つ必要になります。このトポロジーの場合、LVS ルーターの部分がネットワークのボトルネックになるため、各 LVS ルーターにギガビットイーサネットの NIC を使用し LVS ルーターで処理できる帯域幅を増大させることが可能です。LVS ルーターにギガビットイーサネットを使用する場合は、負荷を効率的に処理するため実サーバーを LVS ルーターに接続しているスイッチについてもギガビットイーサネットポートが少なくとも 2 つ搭載されているスイッチが必要になります。
- ソフトウェア
- NAT トポロジーには一部の設定で
iptables
を使用する必要があるため、Piranha Configuration Tool 以外にも設定を必要とするソフトウェアがあります。特に FTP サービスとファイアウォールマークの場合、LVS ルーターで要求を正しくルーティングできるよう手作業による設定を必要とします。
3.1.1. NAT を使って Load Balancer Add-On のネットワークインターフェースを設定する
NAT を使って Load Balancer Add-On を設定する場合、まず LVS ルーター上にパブリックネットワーク用とプライベートネットワーク用のネットワークインターフェースを設定しなければなりません。以下の例では、LVS ルーターのパブリックインターフェース (
eth0
) は 192.168.26/24 ネットワーク (ルーティング可能な IP ではないが LVS ルーターの前にファイアウォールがあると仮定)、実サーバーにつながっているプライベートインターフェース (eth1
) は 10.11.12/24 ネットワークになります。
重要
記載されている手順で編集を行ったファイルは
network
サービスでは使用されますが、NetworkManager
サービスでは使用されません。Load Balancer Add-on には NetworkManager
サービス との互換性はありません。
アクティブ (プライマリー) LVS ルーターノードのパブリックインターフェースのネットワークスクリプト
/etc/sysconfig/network-scripts/ifcfg-eth0
の例を以下に示します。
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.26.9 NETMASK=255.255.255.0 GATEWAY=192.168.26.254
LVS ルーターのプライベート NAT インターフェースのスクリプト
/etc/sysconfig/network-scripts/ifcfg-eth1
の例を以下に示します。
DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=10.11.12.9 NETMASK=255.255.255.0
この例では、LVS ルーターのパブリックインターフェースの VIP は 192.168.26.10、NAT (プライベート) インターフェースの VIP は 10.11.12.10 になります。したがって、実サーバーが要求を返すのは NAT インターフェースの VIP になると言う点に注意してください。
重要
本セクションのイーサネットインターフェースの設定例は、LVS ルーターの実 IP アドレス用であり、フローティング IP アドレス用ではありません。パブリックおよびプライベートのフローティング IP アドレスを設定する場合は、「グローバル設定 (GLOBAL SETTINGS)」 および 「VIRTUAL SERVER サブセクション」 で説明しているように Piranha Configuration Tool を使用してください。
アクティブ LVS ルーターノードのネットワークインターフェースを設定したら、バックアップ LVS ルーターの実ネットワークインターフェースの設定を行います。IP アドレスがネットワーク上の他の IP アドレスと競合しないよう注意してください。
重要
バックアップノード上の各インターフェースがアクティブノード上のインターフェースと同じネットワークに接続するようにしてください。例えば、アクティブノードで eth0 がパブリックネットワークに接続されている場合には、バックアップノードでも eth0 をパブリックネットワークに接続してください。
3.1.2. 実サーバー上でのルーティング
NAT トポロジーで実サーバーのネットワークインターフェースを設定する場合、忘れてはいけないもっとも重要な作業が LVS ルーターの NAT フローティング IP アドレス用にゲートウェイを設定することです。この例では、ゲートウェイは 10.11.12.10 になります。
注記
実サーバー上でのネットワークインターフェース設定が完了すると、マシンは他の方法でパブリックネットワークに ping したり接続したりすることができなくなります。これは正常なことです。しかし、LVS ルーターのプライベートインターフェースの実 IP、この場合は 10.11.12.9、に ping することはできます。
実サーバーの
/etc/sysconfig/network-scripts/ifcfg-eth0
ファイルは以下のようになります。
DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=10.11.12.1 NETMASK=255.255.255.0 GATEWAY=10.11.12.10
警告
実サーバーに
GATEWAY=
の行で設定された複数のネットワークインターフェースがある場合、最初に記載されている設定がゲートウェイ用となります。このため、eth0
と eth1
いずれも設定されていて eth1
が Load Balancer Add-On 用に使用されている場合、実サーバーは要求を正しくルーティングできない可能性があります。
関係ないネットワークインターフェースはオフにするのが最適です。
/etc/sysconfig/network-scripts/
ディレクトリ内の各ネットワークスクリプトで ONBOOT=no
とセットするか、または 1 番目に記載されているインターフェースでゲートウェイが正しく設定されているか確認します。
3.1.3. LVS ルーターで NAT ルーティングを有効にする
クラスター化したサービスが 1 つのポートしか使用しない、たとえば HTTP に使用させるのはポート 80、などのシンプルな NAT を使った Load Balancer Add-On 構成の場合は、 LVS ルーターでパケット転送を有効にするだけで外の世界と実サーバー間の要求を正しくルーティングすることができます。パケット転送の調整方法については 「パケット転送をオンにする」 の説明をご覧ください。ただし、ユーザーセッション中は同じ実サーバーに戻れるようクラスター化したサービスに複数のポートを必要とする場合はさらに設定が必要となります。ファイアウォールマークを使って複数ポートのサービスを作成する方法については 「マルチポートサービスと Load Balancer Add-On」 を参照してください。
LVS ルーターでパケット転送を有効にし、実サーバーをセットアップしてクラスタ化したサービスが稼働するようになったら、4章Piranha Configuration Tool を使った Load Balancer Add-Onの設定 で説明しているように Piranha Configuration Tool を使って Load Balancer Add-On を設定します。
警告
eth0:1
またはeth1:1
のフローティング IP の設定を行う場合は必ず Piranha Configuration Tool を使用してください。使い方については 「グローバル設定 (GLOBAL SETTINGS)」 および 「VIRTUAL SERVER サブセクション」 の説明をご覧ください。ネットワークスクリプトを手作業で編集する、ネットワーク設定ツールを使うなどの方法は使用しないでください。
設定後は、「Load Balancer Add-Onを開始する」 の説明にしたがい
pulse
サービスを開始します。pulse
が稼働し始めると、アクティブ LVS ルーターにより実サーバープールへの要求のルーティングが開始されます。