HTTP issue part 2
Matthew Story
matthewstory at gmail.com
Wed Aug 30 20:24:31 BST 2006
Some additional debugging:
I installed apache2 on the director box and took down ipvs for a
minute. I set up the eth0 interface to take the VIP and the RIP of
the director box. I was able to connect to the VIP via HTTP this way.
I then took down eth0:0 and put ipvs back online, the request failed
with the same error as before, so the director is not trying to handle
the incoming HTTP requests by itself, though I never really thought
this could have been the case. In any case something is going wrong
with the forewarding I'm guessing, which again is Direct Route (gate).
On 8/30/06, Matthew Story <matthewstory at gmail.com> wrote:
> So i've debugged quite a bit of this, and have simplified down the
> issue to just HTTP for now. I have it working within the cluster now,
> so the director is communicating properly with the apache real
> servers, I can bring the node on or offline by moving the file that it
> is requesting. And it is finally properly sending test packets every
> 2 seconds as configured.
>
> But . . .
>
> I still can't get a connection to the VIP via HTTP request from an
> outside box. The director is representing the VIP properly. I am
> using DR (gate) packet forewarding, and representing the VIP on a lo:0
> interface on the real server. This is working, because if i take lo:0
> down, the node goes offline on the cluster.
>
> I have done some debugging on this and narrowed the problem down a bit:
>
> 1. The real server is up and running. I can make a HTTP request to
> the RIP of the real server and get the desired response.
>
> 2. The packets are never getting to the real server. I figured this
> out by putting up a firewall restricting requests from my IP on port
> 80 on the real server. The error was still "connection refused" not
> the timeout error that should have occured. (the director was not
> blocked by the firewall, only the IP i was requesting from.)
> Conversly, when i put a firewall up on port 80 to the same IP on the
> director box it fails with the expected time out error, not the
> "connection refused error."
>
> 3. My first instict at this point is to make sure that forewarding is
> set up properly, checked my sysctl.conf file and sure enough:
>
> net.ipv4.ip_forward = 1
>
> is set properly. I checked the sysctl.conf on the real server too,
> and everything apears to be in order, but that isn't the concern yet
> as when I firewalled that server it should have timed out regardless
> of the sysctl settings.
>
> Next steps:
>
> My next idea is to install apache on the director to see if its trying
> to handle HTTP requests to the VIP by itself, and not forewarding it,
> but this is a bit of a hassle, and I don't know if it would show me
> anything usefull.
>
> Given all that does anyone have any thoughts? Have a similar error
> they've championed?
>
> many thanks in advance.
>
> On 8/29/06, Matthew Story <matthewstory at gmail.com> wrote:
> > So i've got a better handle on the HTTP error now. Firstly the set up
> > is two dual core AMD Athlon 64 servers are serving as the director
> > boxes. I'm running ultramonkey 3 on each of these. All of the
> > servers are at a data center and are running directly on the WAN.
> > What seems to be happening is that when i start heartbeat and
> > ldirector on one of the directors it makes an HTTP request to the
> > Apache real servers. Though when i do a tcpdump on the apache real
> > servers it only seems to make a request the first time ipvsadm is run
> > on the director box. After this however it makes no HTTP requests to
> > the machine at all, and though the box appears to be clustered when i
> > do an ipvsadm -L -n, the connection is refused. I have no firewalls
> > running right now, so that is not the issue. Here is the section of
> > the ldirectord.cf file pertaining to the HTTP services:
> >
> > virtual=64.34.209.34:80
> > fallback=127.0.0.1:80
> > real=64.34.174.215:80 gate
> > real=64.34.180.165:80 gate
> > service=http
> > request="/update/index.html"
> > receive="Test Page"
> > scheduler=rr
> > #persistent=600
> > protocol=tcp
> > checktype=negotiate
> >
> > As you can see both of the webservers are on different subnets than
> > each other, and also on a different subnet than both of the
> > ultramonkey directors, though the director boxes are on the same
> > subnet (170) and share a common default gateway.
> >
> > the ha.cf file sets up a ucast between the two servers, and the names
> > are properly configured using the uname -n output as the names of the
> > two hosts.
> >
> > The haresources file looks like this:
> >
> > Server06.example.com \
> > ldirectord::ldirectord.cf \
> > LVSSyncDaemonSwap::master \
> > IPaddr2::64.34.209.34/24/eth0/64.34.209.255 \
> > IPaddr2::64.34.183.97/24/eth0/64.34.209.255 \
> > IPaddr2::64.34.209.50/24/eth0/64.34.209.255
> >
> > Any ideas as to why it is behaving in this weird way?
> >
> > --
> > regards,
> > matt
> >
>
>
> --
> regards,
> matt
>
--
regards,
matt
Search lvs-users Archives
More information about the lvs-users
mailing list