Xvnc migration, init failover, and all that...

"Poul Petersen" <[email protected]>
Newsgroups gmane.linux.cluster.ssic.user
Message-ID <011387B1846C5A4298291108E6B50006014D6DB6@qxvcexch01.ad.quovadx.com>
	Before I get into my questions, let me explain a bit about what
I am trying to achieve, that way if I'm trying to do something
impossible, someone can just send me a virtual smack. I have a user base
that must work remotely to a datacenter and so we provide two Xvnc
servers at the datacenter where users can start up a vncserver session
thereby avoiding latency heavy protocols over the WAN. This setup has
caused us a few problems in the past:

1) Every now and then, a Xvnc server must be rebooted for one reason or
another and the user sessions must all be shutdown or killed. 

2) Users get accustomed to connecting to one Xvnc server or the other
and consequently don't load balance themselves very well (80% of the
people connect to the first server listed in documentation, etc.).

	What I'm hoping is that with openssi, I can combine these two
machines into a single "virtual" Xvnc server. Using CVIP, load balancing
would automatically be handled and if one node needed to be rebooted, I
could migrate all of the vnc session to the other node and reboot it,
then migrate them back.

	To that end, I have built a 2 node openssi version 1.2.2 cluster
running Fedora Core 2 and a shared root disk (using a shared virtual
disk under VMWare ESX). I've also got CVIP running and it happily load
balances incoming ssh connections and the like. However, I have two
problems.

I) The init node can not be "cleanly" rebooted.

	This limitation is clearly documented, so I'm not surprised by
it. Rather, I'm wondering what the risks are to rebooting the init node
uncleanly. For example, I can migrate all of the processes from the init
node and then power it off. The second node will cleanup the root
filesystem and become the init node, so the original init node can sort
of be rebooted. But this seems like a bad protocol for intentional
usage. Is there a cleaner way? Has anyone ever been hosed by a failed
root fail-over?

II) I can't migrate Xvnc processes. 

	When I try to migrate a vncserver session, the migrate tool
fails silently. I see from the man page that there are lots of reasons
why migrate might not be able to succeed, but I'm not certain which one
applies to Xvnc? Is there a way around this? For example:

[root@node2 root]# ps -aef | grep Xvnc | grep -v grep
root         132309          1  0 Aug15 ?        00:00:02 Xvnc :1
-desktop strognode2:1 (root) -httpd /usr/share/vnc/classes -auth
/root/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 30000 -rfbauth
/root/.vnc/passwd -rfbport 5901 -pn
[root@node2 root]# cat /proc/132309/where
2
[root@node2 root]# migrate 1 132309
[root@node2 root]# cat /proc/132309/where
2

	Compare this to a sleep process:

[root@strognode2 root]# sleep 20000 &
[1] 161383
[root@strognode2 root]# cat /proc/161383/where
2
[root@strognode2 root]# migrate 1 161383
[root@strognode2 root]# cat /proc/161383/where
1

	Any ideas? I searched thru the mailing list and found a thread
where someone was talking about it being easy to migrate Xvnc processes,
so I'm ready to be embarrased.

Thanks,

-poul

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.