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