HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   HOWTO-Related Questions (http://www.howtoforge.com/forums/forumdisplay.php?f=2)
-   -   Installed nfs cluster, now only 1 connection out of two 2 works (http://www.howtoforge.com/forums/showthread.php?t=10823)

Jan VdV 22nd February 2007 20:28

Installed nfs cluster, now only 1 connection out of two 2 works
 
Hello again,

I'm struggling with my mysql cluster which seems to have some hickups.

I try to explain:

I have two load balancers (master - backup) load balancing two webservers. The load balancers load balance also two data servers running a mysql cluster. These two data servers also run a nfs.

I've used the 192.168.0.0/24 network for the internal network, to the outside I connect to the 172.16.9.0/24 network of our university 's lab. I also use a 192.168.1.0/24 network to connect the two load balancers with eachother (which is rather useless but it seemed a good idea at the time).

Three virtual ip addresses have been configured on the load balancers, one for each network.

Via masquerading I connected the webservers so that the 172.16.9.x virtual ip's passes requests on port 80 to the webservers.
I then set up the nfs cluster. Between the two data servers I used heartbeat (according to Falko Timme's tutorial) and that also went fine. The nfs listens to 192.168.0.20 (a virtual ip set up on the two data servers).
All servers (so the 2 webservers and the 2 data servers) use the 192.168.0.x virtual ip address as default gateway. So the load balancers also function as a router for that matter. This all works fine.

Finally I've set up the sql server: the two sql databases are run from the data servers, the management server is installed on the first load balancer (again according to one of Falko Timme's fine tutorials). When I tried to use the 192.168.0.x virtual ip to connect the mysql cluster to, I couldn't get it to work. I presume the masquerading prevents a good connection.
So I've set up the cluster to listen to the virtual 192.168.1.x. I presumed I'd had to use masquerading too since the virtual ip address is on another network as the actual mysql servers, but when nmapping to this virtual address, I saw that port 3306 was filtered.
I then changed the config of the real servers in /etc/ha.d/ldirectord.cf from masq to gate and tried again. To my surprise it now stated 'open' instead of 'filtered'.
So I thought all problems were solved. But when making a mysql connection using [/CODE]mysql -u user -h 192.168.1.x -p[/CODE] I only can connect every second time (connecting from one of the webservers via my-sqlclient-4.1).
When disconnecting one of the two nodes the problem seems solved no matter which data server is disconnected.
So actually installing a load balanced mysql cluster decreased availability with 50%?
I also can connect without problems directly to each one of the nodes.

Can anybody help me out? (P.S: my excuses for the elaborate explanation ;) )


Here are some configuration files:
/etc/ha.d/ldirectord.cf:
Code:

checktimeout=2
checkinterval=1
autoreload=no
logfile="local0"
quiescent=yes
virtual=172.16.9.240:80
        real=192.168.0.11:80 masq
        real=192.168.0.12:80 masq
        fallback=127.0.0.1:80
        service=http
        request="ldirector.html"
        receive="Test Page"
        scheduler=rr
        protocol=tcp
        checktype=negotiate
virtual = 192.168.1.240:3306
        service = mysql
        real = 192.168.0.21:3306 gate
        real = 192.168.0.22:3306 gate
        checktype = negotiate
        login = "ldirector"
        passwd = "ldirectorpassword"
        database = "ldirectordb"
        request = "SELECT * FROM connectioncheck"
        scheduler = wrr

/etc/network/interfaces from load balancer 1:
Code:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 172.16.9.2
netmask 255.255.255.0
network 172.16.9.0
broadcast 172.16.9.255
gateway 172.16.9.254

auto eth1
iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255


auto eth2
iface eth2 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
up iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.0.0/24
down iptables -t nat -D POSTROUTING -j MASQUERADE -s 192.168.0.0/24


Jan VdV 23rd February 2007 12:22

I have located the problem, so this thread is closed.

martinfst 23rd February 2007 12:28

Could you, for the archives, indicate how you solved the problem or what the cause was?

Jan VdV 23rd February 2007 20:31

I will post my solution tomorrow or the day after tomorrow. I have to make a tutorial so that other student are able to reconstruct my whole setup, which I'm going to do this weekend.
The problems of my setup came from the combination of the sql cluster, the apache cluster and a nfs.
This problem in particuliar was caused by two lines of code in /etc/network/interfaces:
Code:

up iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.0.0/24
down iptables -t nat -D POSTROUTING -j MASQUERADE -s 192.168.0.0/24

Thanks for the reply!


All times are GMT +2. The time now is 09:15.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.