LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Fix problems with persistence templates

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Fix problems with persistence templates
From: Graeme Fowler <graeme@xxxxxxxxxxx>
Date: Thu, 8 Sep 2005 14:06:24 +0100
On Sat 03 Sep 2005 11:52:41 BST , Julian Anastasov <ja@xxxxxx> wrote:
As reported from some users, the ip_nat_ftp module causes some
problems with other virtual services.

<snip detailed explanation and patches>

I performed simple tests, so please test these patches,
for example, persistence+ip_nat_ftp, the ip_vs_sync code is changed
too. If there is a better solution please speak before including them
in next kernel releases. I'm expecting confirmation from people
with the problem that reply packets were not translated from IPVS.

I have ported these patches cleanly into a 2.6.8 kernel tree on my backup director and rebuilt the kernel - they applied cleanly, and the kernel built cleanly (this is an FC1 derived tree).

The director booted up clean too.

I then fired up keepalived in BACKUP mode, and it did as expected. I then stopped keepalived on the MASTER director and it failed over to the BACKUP as expected.

I rebooted the MASTER to get the new kernel on there and brought it up without keepalived running to prevent it automatically taking over.

For the next 20 or so minutes I ran on BACKUP alone, and users reported no session "flaps" from server to server (manifesting themselves principally as being asked to login to their apps again).

When we were happy that nothing had actually broken, we fired up keepalived on MASTER and failed back again. Persistence carried across, so no sessions were dropped at all (certainly by the users we were monitoring). This did NOT happen in the past, there was a 50/50 chance that persistence would disappear on failover/failback.

After a further hour or so of monitoring, the users seem to be happy that they are not losing session persistence now. I will monitor further during the next 24 hours and see what comes up.

To summarise: works for me, so far :)

Graeme


<Prev in Thread] Current Thread [Next in Thread>