The key service framework is used for several key services in SSI.
It is designed for kernel-based services. The definition of a key
service is one that is centralized with a rebuild capability. All the
centralized services, save one, are designed to rebuild on failure
rather than the primary/secondary architecture. There are 2 reasons for
this: less overhead during normal operation (don't have to keep a
secondary up to date), and the ability to support arbitrary node failure
(any 2 or more nodes can fail and the service is still rebuildable).
Some of the key services include:
- init (the init process; process 1)
- sysVipc name server
- fifo name server
- unix-domain socket name server
Unfortunately the HA-LVS service is written as a primary/secondary
service so it is not treated as a key service.
Note that all kernel services (CFS, opendlm, VPROC, etc.) subscribe
callback routines that are called when a node goes thru certain
transitions (up and down). Those callback routines must complete before
the node can complete certain transitions. For example, a node can't
come completely UP until all the nodeup routines have been run. This
allow the DLM code, for example to integrate the node before locks are
requested on the new node. =20
I have included a few more comments below.
From: Phani Maddipatla [mailto:m.maddipatla@...
Sent: Saturday, August 23, 2003 8:49 AM
Subject: [SSI-devel] (No Subject)
Recently the link to CI internals URL is
sent on this alais. I have gone through that and
have a few design questions on how ssi is
implemented on top of that.
a) There is a CLMS key service framework
available in CI. DO we use that extensively
in the SSI design, i.e, use that to design
ssi services so that node failures will
start the service on one of the other eligible
**** yes, but a lot depends on what you/I consider an SSI service ***
b) Does the services in ssi use checkpointing at all,
i.e, are there any services which have a primary/
seondary concept and primary serves the requests and
updates the secondary so that secondary can take the
primary's job as and when required.
*** As I mentioned above, SSI kernel services typically rebuild, which
we believe is better than checkpointing; the effect is that services
are always available ***
c) Lets say a client is connected to a service and
the service has failed over to a different node. Will
the client has to reconnect to the new location of the
*** The SSI services (key and otherwise) that are described in the
design document (and I referred to above) are not services that would be
available as services to clients (they are support services to maintain
the SSI namespace). A typical user-visible service (like telnet, sshd,
httpd, etc.) would require reconnect. In the case of these forms of
service, you can either run a single instance (which can automatically
be statelessly restarted on another node after a failure) or run
multiple instances (with LVS to distribute the load).
I highly appreciate your comments and information.
Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail!
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
ssic-linux-devel mailing list ssic-linux-devel@...