Red Hat Enterprise Linux LVSクラスタは、2つの基本グループであるLVSルータとリアルサーバで構成されます。Single Point of Failure(単一器機の障害がシステム全体の障害となる)を 防止するために、各グループには少なくとも2台のメンバシステムを所属させます。
LVSルータグループは、Red Hat Enterprise Linuxを稼働しているまったく同じ2台のシステムか、非常に類似した2台のシステムで構成する必要があります。1台がアクティブLVSルータとして機能している間に、もう1台はホットスタンバイモードで待機させるので、できるだけ同等に近い機能が必要です。
リアルサーバグループ用のハードウェアを選択し設定する前に、3つのLVSトポグラフィのタイプのうち、どれを使用するか決める必要があります。
NATトポグラフィによって、既存のハードウェアを広範に活用できるようになりますが、大きな負荷の処理能力には、クラスタの外と間で送受信されるすべてのパケットがLVSルータを経由するという事実による制約があります。
NATルーティングを利用するLVSクラスタのトポグラフィは、クラスタに必要な公衆ネットワークに対するアクセスポイントは1つだけなので、ネットワークレイアウトの観点から設定するのが最も容易です。リアルサーバは、すべての要求をLVSルータ経由で戻すので、私設ネットワークに接続しています。
NATトポグラフィではリアルサーバはクラスタ内で正常に機能するLinuxマシンである必要はないので、NATトポグラフィはクラスタのハードウェアに関しては最も柔軟性に富んでいます。NATクラスタでは、各リアルサーバはLVSルータに応答するだけなので、必要なのは1つのNICだけです。一方、LVSルータには、2つのネットワーク間でトラフィックをルーティングするために、それぞれ2つのNICが必要です。このトポグラフィではLVSルータにネットワークボトルネックが発生するので、各ルータ上にギガビットEthenet NICを搭載して、LVSルータが処理できる帯域幅を増やすことができます。LVSルータ上にギガビットEthenet NICを搭載した場合、負荷を効率的に処理するには、リアルサーバをLVSルータに接続するすべてのスイッチに、ギガビットEthernetポートが少なくとも2つなければなりません。
NATトポグラフィでは、いくつかの設定でiptablesを使用する必要があるので、 Piranha 設定ツール以外で行うソフトウェア設定がかなりの量になります。 特に、FTPサービスの場合と、ファイアウォールマークを使用する場合には、要求を適切に処理するためにLVSルータの手動設定が追加で必要になります。
NAT LVSクラスタをセットアップするには、管理者はまず、LVSルータ上で公衆ネットワーク用と私設ネットワーク用ネットワークインターフェイスを設定する必要があります。この例では、LVSルータの公衆ネットワーク用インターフェイス(eth0)は192.168.26/24ネットワークに接続します(ルーティング可能なIPではないことはもちろんわかっていますが、LVSルータの前にファイアウォールがセキュリティを高めるために設置されているとしましょう)。リアルサーバと繋がる私設インターフェイス(eth1)は10.11.12/24ネットワークに接続します。
したがって、アクティブつまりプライマリ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にルーティングして戻すことが重要です。
![]() | 重要 |
---|---|
このセクションのサンプルEthernetインターフェイス設定の設定内容はLVSルータの実IPアドレス用であり、 浮動IPアドレス用ではありません。 パブリックおよびプライベートの 浮動IPアドレスを設定するには、 項12.4と項12.6.1 で説明しているように、管理者がPiranha 設定ツールを 使用しなければなりません。 |
プライマリLVSルータノードのネットワークインターフェイスを設定した後で、バックアップLVSルータの実ネットワークインターフェイスを設定します。ネットワークに接続している他のIPアドレスと競合するIPアドレスが1つもないように注意してください。
![]() | 重要 |
---|---|
バックアップノード上の各インターフェイスは、プライマリノード上のインターフェイスと同じネットワークに設定してください。たとえば、プライマリノード上のeh0が公衆ネットワークに接続している場合、バックアップノード上でも公衆ネットワークに接続する必要があります。 |
NATクラスタ内のリアルサーバのネットワークインターフェイスを設定する際に重要な点は、LVSルータのNAT浮動IPアドレス用のゲートウェイを設定することです。この例では、ゲートウェイのアドレスは10.11.12.10です。
![]() | 注記 |
---|---|
リアルサーバ上でネットワークインターフェイスがアクティブになると、マシンは他の方法で公衆ネットワークにpingを送信することや、接続することができなくなります。これは正常な状態です。ただし、LVSルータの私設インターフェイス用の実IPアドレス(この例では10.11.12.8)に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=回線を使う複数のネットワークインターフェイスが設定されている場合、最初にアクティブになった1つがゲートウェイに接続します。したがって、eth0とeth1が両方とも設定されていて、LVSクラスタ処理にeth1が使われている場合、リアルサーバは要求を適切にルーティングすることができません。 /etc/sysconfig/network-scripts/ディレクトリ内にあるネットワークスクリプトでONBOOT=noを設定することより、余分なネットワークインターフェイスをオフにすること、または、最初にアクティブになるインターフェイスのゲートウェイを正しく設定することが最善の方法です。 |
単純なNAT LVSクラスタ構成では、クラスタ処理される各サービスは、ポート番号80のHTTPのように、1つのポートだけを使用します。管理者が行う必要があるのは、LVSルータ上でパケット転送を有効にして、外部ネットワークとリアルサーバの間で要求が適切にルーティングされるようにする作業だけです。パケット転送をオンにする方法については、項10.5を参照してください。ただし、クラスタ処理される各サービスに、ユーザーセッションの間に同じリアルサーバと送受信するための複数のポートが必要な場合には、さらに設定が必要になります。ファイアウォールマークを使うマルチポートサービスの作成方法の詳細については、項11.3を参照してください。
LVSルータ上で転送を有効にし、リアルサーバをセットアップしてクラスタ化されたサービスを 稼働させたら、Piranha 設定ツールを使って、 第12章 で説明しているようなクラスタを設定します。
![]() | 警告 |
---|---|
ネットワークスクリプトを手動で編集する、ネットワーク設定ツールを使用することにより、 浮動IPをeth0:1やeth1:1に設定しないでください。クラスタ関連の仮想インターフェイスを設定するには、 項12.4と項12.6.1で 説明しているようにPiranha 設定ツールを使用してください。 |
設定し終えたら、項12.8の説明に従ってpulse サービスを起動します。pulse がアクティブになり、稼働していると、アクティブLVSルータはリアルサーバのプールへの要求のルーティングを開始します。