-->

2009-12-05

ipvsadm の設定例

ipvsadm の設定例です。
ロードバランサを LB と省略しています。

windows からアクセスして、同じ windows の colinux を realServer として、別のパソコンを LB にして設定したところ、動作しませんでした。
クライアントとは別のパソコンを realServer にすると繋がりました。
windows のローカル接続と tap の設定関連やパケットの流れが理解不足です。
tapはバーチャルなハブ(ネットワークブリッジ)として windows のIPアドレスと同居しています。

# NG (win, LB の2台)
win---WEB(win,colinux)
|     |
LB    |
|     |
+-->--+

# OK (win, LB, dynabook の3台)
win---+
|     |
LB    WEB(dynabook)
|     |
+-->--+

この例の場合の設定は、ダイレクトルーティングなどと言われる種類です。
LB
sudo ipvsadm -C
sudo ifconfig eth0:0 down
sudo ipvsadm -A -t 192.168.0.101:80 -s wlc
sudo ipvsadm -a -t 192.168.0.101:80 -r 192.168.0.100 -g -w 9
sudo ipvsadm -a -t 192.168.0.101:80 -r 192.168.0.150 -g -w 1
sudo ifconfig eth0:0 192.168.0.101 netmask 255.255.255.0
sudo ipvsadm -Ln
sudo ifconfig
sudo ifconfig eth0:0 -arp

WEB
sudo ip addr add 192.168.0.101 label lo:0 dev lo:0
sudo ifconfig lo:0 -arp

LB, WEB (/etc/sysctl.conf)
net.ipv4.conf.lo.arp_ignore = 0
net.ipv4.conf.lo.arp_announce = 0
net.ipv4.conf.eth0.arp_ignore = 0
net.ipv4.conf.eth0.arp_announce = 0
net.ipv4.conf.all.arp_ignore = 0
net.ipv4.conf.all.arp_announce = 0

0 件のコメント: