web-dev-qa-db-ja.com

LVS(ipvs)負荷分散イカ。一部のサイトの問題

2ノードのsquidプロキシクラスターをセットアップしようとしています。これは通常のプロキシです(リバースでもトランスペアレントでもありません)。

負荷分散にはLVS(カーネル2.6.32、ipvsadm v.1.2.1、トンネリング)、HAにはldirectord(v。1.0.3)、プロキシサーバーとしてsquid(v.3.1.7)を使用しています。

クラスタはほとんどのサイトで問題なく動作しますが、(たとえば)googleアカウントへのログイン、OpenIDを介したserverfault.comへのログインなどで問題が発生します。他のサイトでは問題が発生するようです301-コード化されたリダイレクトは正常に機能します。各プロキシノードを直接操作する場合は、すべて問題ありません。 LVSでさまざまなタイプのジョブスケジューリングアルゴリズムを試しましたが、役に立ちませんでした。クラスタにノードを1つだけ残しても、問題は解決しません。 Squidのaccess.logとcache.logも「クリーン」であり、エラーは表示されず、通常のアクティビティです。

誰かがそのような問題に遭遇しましたか?誰かがこのタイプの作業クラスター(IPVSとバランスが取れている)を持っていますか?トラブルシューティングに関するアイデアはありますか?

設定ファイルの一部を次に示します。ldirectord.cf:

# Virtual Server for HTTP_PROXY
virtual=10.128.0.109:8080
        fallback=127.0.0.1:80
        real=10.128.1.43:8080 ipip 30
        real=10.128.0.106:8080 ipip 40
        service=http_proxy
        request="http://www.google.com/index.html"
        receive="Google Search"
        scheduler=wlc
        #persistent=600
        protocol=tcp
        checktype=negotiate

squid.conf:

http_port 10.128.0.106:8080 # "real" IP of the node
http_port 10.128.0.109:8080 # "Virtual" IP of the cluster on tunl0 interface
http_port 127.0.0.1:8080
cache_mem 300 MB
cache_dir ufs /opt/squid/var/cache 500 16 256
cache_effective_user squid
cache_effective_group squid
visible_hostname AQUA-node
cachemgr_passwd SquidCM all
access_log /opt/squid/var/logs/access.log
logfile_rotate 5

# ICQ connect (experimental)
acl ICQ_ADDR dst 64.12.0.0/16 205.188.0.0/16
acl ICQ_PORT port 5190 443
acl CONNECT method CONNECT
acl ICQ_PROTO proto HTTPS
acl ICQ_DOMAIN dstdomain .icq.com .aol.com .aim.com
always_direct   allow   ICQ_DOMAIN ICQ_PORT CONNECT
always_direct   allow   ICQ_ADDR   ICQ_PORT CONNECT

acl allnet_temp src 10.0.0.0/8
http_access allow allnet_temp

http_access deny all

他に必要な情報があれば、私に知らせてください。

1
HUB

問題が解決しました。

私はpv-opsを使用してバニラカーネル2.6.35-7を構築し(ロードバランサーは準仮想マシンであるため必要でした)、LVSは必要に応じて動作し始めました。これはXenlinuxカーネルのリグレッションであり、古いバージョンのバグである可能性があります。他のソフトウェアコンポーネントのバージョンは変更されていません。

P.S.スケジューラーの選択のヒントを提供してくれたbindbnに感謝します。

1
HUB

Lblc、lblcr、またはshスケジューラーを使用してみてください。 lblcrはキャッシュプロキシに最適です。ラウンドロビン接続のバランシングによる問題。

誰かがこのタイプの作業クラスター(IPVSとバランスが取れている)を持っていますか?トラブルシューティングに関するアイデアはありますか?

2つのhttp-proxyクラスター(クラスター内に10-12プロキシ)があります。 LVS(lblcr、ipipトンネリング、squid 2.7トランスペアレント)を使用

2
bindbn