LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

RE: a question in ipvs sync persistent connection info

To: "Horms" <horms@xxxxxxxxxxxx>, <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: RE: a question in ipvs sync persistent connection info
From: "Kingston Wang" <kingston.wang@xxxxxxxxxx>
Date: Fri, 30 Jun 2006 17:12:52 +0800
 
Horms,
  The ip_vs_dest structure does not exist in ip_vs_sync_conn. That is, when 
sync daemon starts, this ip_vs_dest structure do not sync to the backup ip_vs. 
For we use apache server as web server,  and need persistent connection 
visiting. When a connection comes and it already exists in connection entry 
hash table, it would use ip_vs_sched_persist function to schedule this 
connection. In this function, it uses ip_vs_check_template function to check 
connection's dest and schedule it. In normal case, there is no problem. But if 
master/backup ip_vs server switchover in some case. For master server do not 
sync one connection's ip_vs_dest part to the backup server(currently it is 
master server), ip_vs_check_template would find  "dest is null" and reset the 
persistent connection port to 65535 and a new connection entry is created. That 
causes newly-coming connections is re-scheduled again. The persistent mechanism 
does not work at that time. 
  So I think we need sync ip_vs_dest to the peer to avoid such case. 
  Welcome your comments,


BR,

Kingston,


-----Original Message-----
From: Horms [mailto:horms@xxxxxxxxxxxx] 
Sent: 2006年6月30日 15:16
To: LinuxVirtualServer.org users mailing list.
Cc: Kingston Wang
Subject: Re: a question in ipvs sync persistent connection info

Kingston Wang wrote:
> Hi,
> There is a question in ipvs sync connection data from master ipvs to 
> backup one. The sync thread is running, if you use watch -n1 "ipvsadm 
> -lcn", you can know that the current persistent connection is synced 
> to the peer. But if at that time, active ipvs is down, and a 
> persistent request coming, the standby ipvs would take over and serves 
> as a master one. But the synced persistent connection table is not 
> enough for this http request, and this request is scheduled again. That's a 
> big issue:
> if we use it to apache server which needs keep session key, it would 
> not work.
> 
> Can anybody know why ipvs does not sync the whole ip_vs_conn info to 
> the peer? Can we change the codes to support it?

What information do you think needs to be syncronised that isn't?
I'm pretty sure that all the iformation that is needed is there.

Also what is a "session key", and what makes you think LVS knows anything about 
them?



-- 
Horms                                           
H: http://www.vergenet.net/~horms/          W: http://www.valinux.co.jp/en/


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