I'm nearly there with configuring my two-box LVS-DR system, thanks in no small
part to the invaluable help of Sebastien.
I'm currently set up with a single director on machine 1, with a localnode
apache:
Machine 1 (Director + localnode):
eth0: 10.122.15.41 (DIP/RIP)
eth0:1 10.122.15.42 (VIP)
DGW: 10.122.254.254
ipvsadm
IP Virtual Server version 1.0.4 (size=65536)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.122.15.42:http rr
-> 10.122.15.41:http Local 1 0 1
-> 10.122.15.43:http Masq 1 0 1
Machine 2 (realserver):
eth0: 10.122.15.43
lo:0: 10.122.15.42
DGW: 10.122.254.254
I've used the MasarLabs NoArp module provided by Sebastien to solve the ARP
problem.
The system 'works', but all responses come from Machine 1. Machine 2 never
manges to serve an HTML page to the client (10.122.16.48). I can ping machine
1, machine 2 and VIP from the 48 machine. I can telnet on port 80 to machine 1
and machine 2 from the client. I can ping the client from machine 2
and machine 1, and can ping machine 1 and machine 2 from each other. Further,
from machine 1 and machine 2 I can telnet to all three IP addresses on port 80
(Machine1:80, Machine2:80 and VIP:80) and get a correct response. (On the VIP
all responses are from the same machine, i.e. machine 1 telnet to
vip and get machine 1 all the time).
The only problem is when requesting the VIP from the client, I always get the
machine 1. On Machine2's time it fails to connect via telent, and the browser
eventualy resends the request and gets Machine 1.
I tried moving the VIP from eth0:0 on machine 1 to lo:0 on machine 1 and the
same thing happens.
I'm hoping it's something stupid that I've overlooked in my set up due to the
time pressures and my total lack of networking know-how. Any advice would be
greatly appreciated.
Mike
|