[FreeNX-kNX] FreeNX and LVS (Linux virtual Server - cluster)

Ben Voigt bvoigt at kas.com
Tue Jul 12 05:19:51 UTC 2005


I think this can be easily accomplished as follows:

Use one nxserver, run sessions on the nxserver.  If the nxserver fails
existing sessions will be lost of course, but you can redirect incoming
connections to a new server.

Inside the nx session, distribute applications (including the window
manager) over LVS.  Each application will establish a X TCP/IP connection to
the nxserver, which will compress the data and send it to the thinclient.
This TCP/IP connection lasts as long as the application is running -- the nx
over ssh connection drops during suspend, but all X clients are still
connected to the X endpoint (nxagent I think this is).  I assume the LVS
servers are co-located with a very fast connection (gigabit ethernet
perhaps), but if this is not the case, nxclient could be run inside the nx
session to connect to a random LVS server.

It's a matter of setting the windowmanager to something like "ssh -X
lvs-server /usr/bin/startkde"

You'd have something like this:

client A -> server 1 unique IP via NX
A's DISPLAY is set and windowmanager is started on LVS shared IP *random
server*... LVS picks server 3
A can spawn application locally (on same server as windowmanager) or via
rexec/rsh/ssh to LVS shared IP.

client B -> server 1 unique IP via NX
B's DISPLAY is set and windowmanager is started on LVS shared IP *random
server*... LVS picks server 2
B can spawn application locally (on same server as windowmanager) or via
rexec/rsh/ssh to LVS shared IP.

client C -> server 1 unique IP via NX
C's DISPLAY is set and windowmanager is started on LVS shared IP *random
server*... LVS picks server 3
C can spawn application locally (on same server as windowmanager) or via
rexec/rsh/ssh to LVS shared IP.

client D -> server 1 unique IP via NX
D's DISPLAY is set and windowmanager is started on LVS shared IP *random
server*... LVS picks server 1
D can spawn application locally (on same server as windowmanager) or via
rexec/rsh/ssh to LVS shared IP.

All nxagent processes run on server 1 unless it fails, but window managers
and applications are distributed via LVS.
When B resumes, B connects back to server 1, finding the suspended nx
session.  Since nxagent is still connected to KDE (or Gnome) running on
server 2, B sees the existing apps still running on server 2.


****************************

Ben Voigt
University of Pennsylvania
Electrical Engineering PhD Candidate

voigt at seas.upenn.edu <mailto:voigt at seas.upenn.edu>
BVoigt at kas.com <mailto:BVoigt at kas.com>

Support a Constitutional Amendment to protect the Pledge of Allegiance and
National Motto.
Click here for more information. <http://www.wepledge.com/>

****************************


> -----Original Message-----
> From: Daniel Schwager [mailto:Daniel.Schwager at dtnet.de]
> Sent: Monday, July 11, 2005 7:11 AM
> To: Daniel Schwager; freenx-knx at kde.org
> Cc: danny at dtnet.de
> Subject: Re: [FreeNX-kNX] FreeNX and LVS (Linux virtual Server -
> cluster)
>
>
> Hi Fabian,
>
> sorry for the intransparent email. So again:
>
> - Requirements
>         - 70 User should work with KDE
>         - ThinClients should be use
>         - nx-technologie should be use
>         - the clients should suspend/resume nx-session
> (permantent session)
>         - It should be able to play KDE-sound on the thinclient
>         - It should be able to transfer files between
> thinclient (laptop)
> and
>           die KDE-Session (Samba ?)
>         - the system should not have a SPOF (single point of failture)
>
> ** Parts of the concept:
>
> Please have a look to http://www.dtnet.de/48747632/nx-kde-cluster.jpg
> (picture)
>
> - 3 Applicationservers for the 70 users
>         - acting as a NFSv4-client for importing data home/data from
>           an NFSv4 Fileserver
>         - all 3 applicationservers are identical (cloned),
> that means they
>           will have all the same programs installed
>
> - Cluster
>         - the user does not know, on with app-srv he works
>         - we do not use openSSI nor beowulf for clustering
>         - we want to use LVS (linuxvirtualserver.org) for clustering
>                  - for the Clients, an LVS-Cluster has _one_ public IP
>                   (the LVS routes internaly to the "best" app-srv)
>                 - establised TCP sessions (like ssh,
> nxproxy?, nxshell?,
> nxtunnel?)
>                   will always route to the same App-Srv
>                 - there's a feature for redundance/failover
>                   (http://www.ultramonkey.org/3/topologies/)
>                 - Its scalable to x backendservers
>
> - FreeNX
>         - we want to use the following features
>                 - use thinclients (http://pxes.sf.net/) and nomachine
> nxclient
>                 - sound should redirect to the thinclient
>                 - local ("thinclient", e.g. notbook)
> filesystem sould be
> mounted
>                   to the backend
>                 - persistent sessions (reconnect to a sessions after
> suspending them)
>
> - Architecture (concept / idea)
>         - the nxserver has to be outside the cluster because of
>           persistent sessions-handling
>                 - if the clients suspend the session, the
> nxserver has to
>                   hold/keep the TCP session to the AppSrv
> (via LVS-Server).
> It
>                   the nxserver discontinue the session to the
> AppSrv, a
> later
>                   reconnect will be routed via LVS to another
> AppSrv ->
> session
>                   broken.
>         - the nxserver creates a tunnsels betwwen nxserver and
> applicationsever
>                 - the tunnel should be created via nxshell/nxtunnel
>                 - the tunnel have to use a TCP-session (this
> is because of
> the
>                   Loadbalancer LVS should redirect the tunnel
> always to the
> same AppSrv ;-)
>                 - the tunnel should redirect display/multimedia
>                 - the tunnel should redirect samba (this ist
> not important,
> because i can
>                   mount the samba on the Nomachineserver in a
> NFS-Share.
> This means, the
>                   Applicationserver (nfs-client) has access
> to the "share")
>
> Problems (no ideas ;-)
>         - does the sound redirect will work, if we use
> nxshell/nxtunnel for
>           connection from nxserver to  AppSrv ?
>                 - does the sound will be forward to the
> thinclient ? Or do
>                   i have to instance a new artd at the
> nxserver ? or ...
>         - could i replace the nxshell/nxtunnel in the
> architekture with
> nxservers instances
>           at the 3 app-servers ? If so, does the first
> nx-server handels the
> permanent session ?
>         - does the nxshell/nxtunnel use a TCP-session ?
>
> Does somebody has other ideas for the concept ? Does my
> concept will work
> for the
> requirements ? (sound, permanent sessions, ...)
>
> regards
>
> Danny
>
>
>
>
> _______________________________________________
> FreeNX-kNX mailing list
> FreeNX-kNX at kde.org
> https://mail.kde.org/mailman/listinfo/freenx-knx
> --
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.323 / Virus Database: 267.8.11/45 - Release
> Date: 7/9/2005
>




More information about the FreeNX-kNX mailing list