Clusterix: cluster for unix


What it is


It    is    a   cluster    software    for    unix   operating    system
(Linux,FreeBSD,Solaris)

there are 2 type of clusterix:
1) Clusterix: this type write status information on a raw device on
shared disk.
2) Clusterixwsd: this type write status information on file on local
disk of the nodes.

It is intented to be used with 2 machines if you want to put a service
in high availability. With service i mean ip addresses, program (like
web server,database etc), shared disk. So we can use for example to put
in high availability a web server in 2 nodes or to put in high
availability a database with shared disk. If you want to put more than
one service in high availability so that one service stay in one node
and the second in the other node you can simply make 2 installation of
clusterix in 2 different directory of the 2 nodes. When the there is a
failer of service on one node the cluster system move the service on the
other node, that is it configure ip,publish macaddress of interface,
mount disk if any in configuration file and at the end it start the
program (web server, database etc).

If you have to mount shared disk and you want to use very intensivily
these disk, maybe it is better to use clusterixwsd because clusterix
write informazion on shared disk (not exchange information throught
network like clusterixwsd) and can take away some resource that are
needed by the service.

- the cluster software is composed by a main script (clusterixwsd.sh),
one configration file (clusterixwsd.conf), one file that control the
start and stop sequence of a service (script.sh), one file that start
and stop the service (service.sh),2 files that check the status of the
service and switch the cluster if service failer (control_process.sh
control_control.sh). only the script clusterixwsd.sh and the
configuration file clusterixwsd.conf are needed for the correct function
of the cluster. others file and script are optional and they are used to
control and administrate the service offered by the cluster.
- All the variables that you have to set are in the configuration file.
- The cluster script and configuration file have to be the same in both
of the nodes.
- Usually you have only to make change to clusterixwsd.conf, service.sh
and to conffile variable on clusterixwsd.sh. The other you have to leave
untouched.



Scheme


a) Cluster with status information on local disk: Clusterixwsd


Public Interface
|-----------------------------------------------|
____|____ Private Interface ____|____
| | <---------> | |
| | <---------> | |
--------- Backup Private Interface ---------
| | | | | |
Write | | |R R| | | Write
Host 1 | | |e e| | | host 2
| | |a a| | |
| | |d d| | |
| | | | | |
| | |h h| | |
-------------------- ----------------------
| | |o o| | |
Write | | |s s| | | Write
Host 2 | | |t t| | | Host 1
| | |1 2| | |
| | v v | |
|_| v v |_|

Quorum file host 1 Quorum file host 2

b) cluster with status information on shared disk: Clusterix

Public Interface
|-----------------------------------------------|
____|____ Private Interface ____|____
| | <---------> | |
| | <---------> | |
--------- Backup Private Interface ---------
| |
Write | | Write
| raw device |
----------------------------------------------------------
| |
|writes host 1 | |write host 2 |
|________________________________________________________|