Даже не знаю куда копать.Суть такая: есть LVS-балансировщик и 3 веб-сервера. Используется Direct Routing. На LVS на eth1:0 (всего один интерфейс на сервере eth1) поднят Virtual IP, на веб-серверах он на lo:0. При запросе HTML-страницы все ок - в порядке round robin она выдается с каждого сервера, но если я положу php-файл то происходит странная ситуация: все запросы идут только на веб-сервер 2. Если я его отключаю то тогда все ОК - в порядке round robin отрабатывают веб-сервера 1 и 3. Если я включаю веб-сервер 2, то опять только он один работает.
Куда копать??
LVS-БАЛАНСИРОВЩИК:
/etc/ha.d/ldirectord.cf:
checktimeout=3
checkinterval=1
fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
quiescent=yes
# A sample virual with a fallback that will override the gobal setting
virtual=192.168.66.250:80
real=192.168.66.144:80 gate
real=192.168.66.222:80 gate
real=192.168.65.78:80 gate
fallback=127.0.0.1:80
service=http
request="online.html"
receive="OK"
virtualhost=test.site.ru
scheduler=rr
#persistent=600
#netmask=255.255.255.255
protocol=tcp
/etc/sysctl.conf:
net.ipv4.ip_forward = 1
Сеть:
eth1: обычный iface (192.168.66.200)
eth1:0 192.168.66.250 255.255.255.255
РЕАЛЬНЫЕ СЕРВЕРА:
/etc/sysconfig/network-scripts/ifcfg-lo:
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback
DEVICE=lo:0
IPADDR=192.168.66.250
NETMASK=255.255.255.255
ONBOOT=yes
/etc/sysctl.conf:
net.ipv4.conf.eth2.arp_ignore = 1
net.ipv4.conf.eth2.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2