From: Vladimir Yu. Tereshchenko <ogr@cr...> - 2003-05-21 12:48:34
I have a question about process migration - especially
proces's - which use Shared Memory (such as Apache
and MySQL). I start yesterday two node SSI cluster
(Slackware 9.0, 2.4.18 and ssi-linux-2.4.18-v0.9.6.tar.bz2)
Turn on loadlevels -a on and start httpd server.
Then I try to migrate some httpd to next node - but this
Does this mean thet Shared Memory not clusterwide?
Is any in community test this behaviour of SSI?
Is anybody successfully migrate Apache or MySQL processes
between SSI nodes?
In documentation at SSI www page I found this:
* all IPC objects/mechanisms are
* message queues
-> * shared memory
* Unix-domain sockets
* Internet-domain sockets
Is this mean that I made something wrong whith setups?
PS: Sorry for poor english
Vladimir Yu. Tereshchenko [Registered Linux UIN #198978]
TNU, Centre of Computer Technology ICQ UIN: 73046562
From: Brian J. Watson <Brian.J.W<atson@hp...> - 2003-05-21 23:12:58
Vladimir Yu. Tereshchenko wrote:
> In documentation at SSI www page I found this:
> 6. IPC
> * all IPC objects/mechanisms are
> * pipes
> * fifos
> * signalling
> * message queues
> * semaphore
> -> * shared memory
> * Unix-domain sockets
> * Internet-domain sockets
This feature list refers to System V shared memory being clusterwide.
Another form of shared memory is done via the clone() system call, which
is not clusterwide. This form is used to implement "multi-threaded"
processes on Linux, and might be used to share data between Apache's
master process and its slaves.
Another potential problem is that clusterwide Unix-domain sockets do not
yet support sending fds between nodes, which Apache might use to pass
new connections from the master to one of its slaves. This clusterwide
fd passing feature will be added sometime in the future.
If you want to set up a web-serving cluster, I suggest you run a
separate copy of Apache on each node and use our integrated version of
LVS to load-level connections among them. Aneesh can tell you more about
Hope this helps,
> If you want to set up a web-serving cluster, I suggest you run a
> separate copy of Apache on each node and use our integrated version of
> LVS to load-level connections among them. Aneesh can tell you more about
This is pretty simple. For configuring ha-lvs you can follow
README.networking in the cluster-tools CVS and then on each node where
apache is going to run say
setport_weight --start-port=80 --end-port=80 --weight=1
you can add it in the httpd script .