Ultra Monkey: High Availability and Load Balancing Solution for Linux [Monkey]
English | 日本語
Top : Ultra Monkeyについて | ドキュメント | ニュース・アーカイブ | ミラー情報 | 履歴 | 連絡先
2.0.1 : Linux Virtual Server | Heartbeat | Ldirectord | インストール | トポロジ


トポロジ

ファイアウォール・マーク

[Network Diagram]

ファイアウォール・マークは、サービスを1つにまとめるための強力なメカニズムを提供します。このトポロジは、fwmarksの使用例を提供するためのものであり、高可用性と負荷分散のトポロジがベースとなっています。ただし、紹介されている負荷分散トポロジのいずれにも適用することができます。

この設定では、実サーバのすべてのUDPおよびTCPポートの、192.168.0.0〜192.168.0.255(192.168.0.0/24)の範囲のIPアドレスに対して送信されたすべてのトラフィックの負荷分散を行います。

この設定では最低でも4つのノードが必要です。より多くの処理能力が必要になった場合は、ネットワークに実サーバを追加することができます。各コンポーネントの詳細な解説は、高可用性と負荷分散のトポロジの概要を参照してください。

以後の文書では、ネットワーク上のすべてのノードが、上図に示すような接続先の各ネットワークの正しいインターフェイスとルートで設定されていることを前提としています。パケットの返信パスは、アクティブなLinux Directorを経由していなければなりません。ほとんどの場合これは、単一の仮想サービスの実サーバセクションで解説されているとおり、デフォルト・ルートが内部の仮想アドレスに設定されているべきであるということを意味します。

次の手順に進む前に、高可用性と負荷分散、またはファイアウォール・マークと併用する予定のトポロジの設定手順を行ってください。

追加情報

ここで紹介した設定は、192.168.0.0〜192.168.0.255(192.168.0.0/24)の範囲のすべてのIPアドレスに対する、UDPとTCP両方のすべてのポートをカバーする1つの仮想サービスが設定されます。 この構成のポイントは、以下のiptablesの規則です。

/sbin/iptables -t mangle -A PREROUTING -d 192.168.0.0/24 -j MARK --set-mark 1

このルールに適合するパケットを変更することにより、仮想サービスの範囲を変更できます。複数のルールを使用して適合項目を増やすことができます。接続に属するパケットが、LVS仮想サービスに対応するfwmarkでマークされていれば(この場合は1で、--set-mark 1のようになります)、接続は負荷分散されます。たとえば、192.168.0.0/28のホスト用に、TCPポート80と443 (HTTPおよびHTTPS)だけをカバーする仮想サービスをセットアップするには、次のようにします。

/sbin/iptables -t mangle -A PREROUTING -p tcp -d 192.168.0.0/28 --dport 80 -j MARK --set-mark 1
/sbin/iptables -t mangle -A PREROUTING -p tcp -d 192.168.0.0/28 --dport 443 -j MARK --set-mark 1

グルーピングは、アドレスやポート別にサービスをグループ化するために必要な構成の量を減らすための便利な方法を提供するだけでなく、永続性を組み合わせる便利な方法も提供します。/etc/ha.d/ldirectord.cfで、fwmark仮想サービスの永続性が1に設定されている場合で、すぐ上のポート80と443の構成が使用されている場合、エンドユーザがポート80に接続してポート443へのリンクをたどれば、どちらの接続でも同じ実サーバーにたどり着きます。

個別のファイアウォール・マークを指定することによって、複数のfwmarkサービスを使用できます。ここでは1を使用しましたが、1〜65535の範囲のどの数字でも使用できます。たとえば、/etc/ha.d/ldirectord.cfで、ファイアウォール・マーク1および2に対して2つの異なる仮想サービスを定義できます。それぞれに個別の実サーバ・プールや、その他特有の属性を設定できます。以下のiptablesルールは、2つのファイアウォール・マークを使用した照合方法を示しています。

/sbin/iptables -t mangle -A PREROUTING -d 192.168.0.0/24 -j MARK --set-mark 1
/sbin/iptables -t mangle -A PREROUTING -d 192.168.0.0/24 -j MARK --set-mark 2



Copyright © 2000-2004, Horms
Last Updated: Thu Feb 5 15:36:59 2004 +0900

Debian is a registered trademark of Software in the Public Interest, Inc.
Red Hat, the Red Hat Shadowman logo and Fedora are registered trademarks of Red Hat, Inc.
Linux is a registered trademark of Linus Torvalds.
All other trademarks are the property of their respective owners.