20 以上の仮想アドレスの Keepalived

20 以上の仮想アドレスの Keepalived

高可用性のために 2 台の Debian マシンに keepalived を設定しましたが、割り当てることができる仮想 IP の最大数に達してしまいましたvrrp_instance。20 を超える仮想 IP を構成してフェイルオーバーするにはどうすればよいでしょうか?

これは非常にシンプルなセットアップです:

LB01: 10.200.85.1
LB02: 10.200.85.2
Virtual IPs: 10.200.85.100 -  10.200.85.200

各マシンは、SSL クライアント証明書の終了とバックエンド Web サーバーへのプロキシのために、仮想 IP で Apache (後に Nginx) バインディングも実行しています。これほど多くの VIP が必要な理由は、HTTPS で VirtualHost を使用できないためです。

これは私のkeepalived.confです:

vrrp_script chk_apache2 {
        script "killall -0 apache2"
        interval 2
        weight 2
}

vrrp_instance VI_1 {
        interface eth0
        state MASTER
        virtual_router_id 51
        priority 101
        virtual_ipaddress {
            10.200.85.100
            .
            . all the way to
            .
            10.200.85.200
}

バックアップ マシンにも同じ構成があり、正常に動作していますが、20 番目の IP までのみです。

私は見つけた方法この問題について議論しています。基本的に、彼らは VIP を 1 つだけ用意し、すべてのトラフィックをこの 1 つの IP 経由でルーティングすれば「すべてうまくいく」と提案しています。これは良いアプローチでしょうか? マシンの前で pfSense ファイアウォールを実行しています。

上記リンクからの引用:

ip route add $VNET/N via $VIP

or

route add $VNET netmask w.x.y.z gw $VIP

前もって感謝します。

編集:

@David Schwartz はルートを追加するのが合理的だと言ったので、pfSense ファイアウォールに静的ルートを追加しようとしましたが、期待どおりに機能しませんでした。

pfSense ルート:

Interface:            LAN
Destination network:  10.200.85.200/32 (virtual IP)
Gateway:              10.200.85.100    (floating virtual IP)
Description:          Route to VIP .100

また、ホスト上でパケット転送が有効になっていることも確認しました。

$ cat /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.ip_nonlocal_bind=1

これは間違っていますか? また、keepalived.conf からすべての VIP を削除したので、10.200.85.100 でのみフェールオーバーが発生します。

答え1

現在のアーキテクチャを変更せずに最も簡単な解決策は、仮想IPアドレスを除外。 例えば

vrrp_instance VI_1 {
    interface eth0
    state MASTER
    virtual_router_id 51
    priority 101

    virtual_ipaddress {
        10.200.85.100
    }

    virtual_ipaddress_excluded {
        10.200.85.101
        . all the way to
        10.200.85.200
    }
}

仮想IPアドレスを除外keepalived がサーバー上で起動および停止する IP アドレスのリストが含まれていますが、それらは VRRP パケット自体には含まれていないため、20 個の IP アドレス制限にはカウントされません。

私の設定では、専用のIPを割り当てるようにしています。仮想IPアドレスつまり、VRRPパケットに含まれるものだけを扱い、他のすべてを仮想IPアドレスを除外顧客が離脱したという理由だけでメイン IP を変更する必要が生じないようにするため、これは良いアイデアです。

答え2

こんな古い質問に答えて申し訳ありませんが、この制限はもう存在しないと思います。ドキュメンテーション 仮想 IP の最大数について。誰かこれについて私をサポートしてくれませんか? ありがとう!

関連情報