Presently, pinging or SSHing to my "real" ip address works for about a minute, then stops. Then starts again a few minutes later, then stops and repeats. It looks like ldirectord is exiting. Browsing to the "real" address during that tune when ldirectord is running never gets a web page response.
Using telnet to port 80, I can see that, while I am on the load balancer console, the web server on the load balancer and two clusters respond to requests.
Code:
# telnet 192.168.0.101 80
Trying 199.32.87.62...
Connected to 199.32.87.62.
Escape character is '^]'.
GET /ldirector.html {RETURN KEY PRESSED}
Test Page
However, if I put a unique document on the two web cluster nodes and try to request that through the real IP (loadbalancer public address), they are not found. Evidently it is not passing the request to the cluster nodes.
Code:
# telnet 192.168.0.101 80
Trying 199.32.87.62...
Connected to 199.32.87.62.
Escape character is '^]'.
GET /different_file.html {RETURN KEY PRESSED}
{404 error message from web server returned}
199.32.87.62 is the public address (altered for posting).
199.32.87.254 is the gateway.
192.168.0.101 = cluster 1
192.168.0.102 = cluster 2
192.168.0.103 = loadb1
192.168.0.104 = loadb2
Here is the output from page three of the tutorial.
Code:
loadb1:~$ ip addr sh
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:11:43:35:e1:a2 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.103/24 brd 192.168.0.255 scope global eth0
inet6 fe80::211:43ff:fe35:e1a2/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:11:43:35:e1:a4 brd ff:ff:ff:ff:ff:ff
inet 199.32.87.62/24 brd 199.32.87.254 scope global eth1
inet6 2001:18e8:2:330:211:43ff:fe35:e1a4/64 scope global dynamic
valid_lft 2591985sec preferred_lft 604785sec
inet6 fe80::211:43ff:fe35:e1a4/64 scope link
valid_lft forever preferred_lft forever
4: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
Code:
loadb1:~$ sudo -s
Password:
root@loadb1:~# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 199.32.87.62:80 rr
-> 192.168.0.101:80 Route 1 0 0
-> 192.168.0.102:80 Route 1 0 0
Code:
root@loadb1:~# ldirectord ldirectord.cf status
ldirectord for /etc/ha.d/ldirectord.cf is running with pid: 4288
Code:
loadb1:~$ /etc/ha.d/resource.d/LVSSyncDaemonSwap master status
master running
(ipvs_syncmaster pid: 4427)
Code:
loadb1:~$ cd /etc/ha.d
loadb1:/etc/ha.d$ cat ha.cf
logfacility local0
bcast eth0 # Linux
mcast eth0 225.0.0.1 694 1 0
auto_failback off
node loadb1
node loadb2
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster
loadb1:/etc/ha.d$ cat haresources
loadb1 \
ldirectord::ldirectord.cf \
LVSSyncDaemonSwap::master \
IPaddr2::199.32.87.62/24/eth1/199.32.87.254
Code:
loadb1:/etc/ha.d$ cat ldirectord.cf
checktimeout=10
checkinterval=2
autoreload=no
logfile="/var/log/ldirector-local0"
quiescent=yes
virtual=199.32.87.62:80
real=192.168.0.101:80 gate
real=192.168.0.102:80 gate
fallback=127.0.0.1:80 gate
service=http
request="ldirector.html"
receive="Test Page"
scheduler=rr
protocol=tcp
checktype=negotiate