Cluster Information Service instalation instructions.

CIS available for Linux, kernel 2.2, architecture x*86. It was tested on
RedHat 6.1 and Mandrake 7.0 distributions.

Requirements.

- If you want to have all the features of CIS, you need to patch your kernel
and therefore you need to get kernel sources. If you want to just try it and
you don't care about overhead, process monitor and network monitors can be used
without paching your kernel.

- To install CIS you are expected to have root account in target system and
experiences with system administration in Linux OS. (kernel configuration,
system services)

1. Compiling the package

- download CIS package from http://ups.savba.sk/parcom/cluster/cis.html
- go to CIS directory
- make

2. Kernel modification.

if you want just to try CIS you can proceed to point 3.

CIS kernel probes are implemented as kernel modules. They are in kernel
directory. For compiling you need to patch your kernel. The patch is in
kernel directory too (monitor-2.2.patch). It contains exports of some
symbols and socket identification and counters. Mandrake kernel has
problems with exporting some symbols which may be caused by special
optimalization options used. In this case you should get original kernel from
www.kernel.org.

- login as root
- go to your kernel source directory
- patch -p 1 <monitor-2.2.patch
- you need to enable Kernel/User netlink socket in 'Network option'
- recompile and reinstall your kernel.
- go to back to kernel directory in CIS distribution
- change path to patched kernel in Makefile
- make

If building of modules was OK, you can try to insert modules into your kernel
by 'insmod <kmodule>.o'. There should appear four new (binary) files:
sysinfo, proclist, socklist and netdevlist in /proc filesystem. In /proc/net
directory you should see netlink file with lines containing  4, 5 and 6 in
'Eth' column.

3. Installing CIS

- login as root.
- If you compiled kernel modules, copy them to
/lib/modules/<kernel_version>/misc  and run 'depmod -a'.
- go to CIS directory
- make install
	This will copy cisd, procmon, sockmon and netmon into /usr/sbin
	directory
- go to scripts directory
- cat rpc >> /etc/rpc 
- you can adjust ports used by CIS in services
- cat services >> /etc/services
	this should be done on all machines (including nodes)

CIS server comunicates with clients via RPC calls so you need to have
portmapper running on your server host. It is recommended to start CIS daemons
at startup. Since the startup scripts depend on your Linux distribution, you
have to add it into your scripts by hand. If you are using SysVinit package
(RedHat distribution), you can use scripts provided in scripts/ directory.
Copy them into /etc/rc.d/init.d/ directory and create links in appropriate
/etc/rc.d/rc?.d directories (either by tksysv or by hand). Add variable
CISSERVER=<hostname> to /etc/sysconfig/network on all machines where you will
run monitors.

- edit cis.conf file and copy it to /etc/ directory on host where you will run
	cisd 

4. Starting CIS system.

You must be root to start CIS. It is recomended to start it at boot time. Look
at scripts how. Monitors require server hostname as parameter.

Warning: It is problematic to remove modules from kernel. It is not recommended to do it.

5. Troubles

- If you have a troubles compiling and installing kernel modules, try to run
CIS without them.

- If your cisd won't start
	- look into your system log
	- check your /etc/cis.conf
	- check whether your portmap is running
	- check your /etc/services

- If your monitor won't start
	- socket monitor will work only with kernel module.
	- look into your system log
	- check whether you can access portmapper on server and whether cisd
		is running  'rpcinfo -p <hostname>'
	- check whether /etc/services on server has the same ports specified
		for monitor

- If you are completely stuck, send me an e-mail

Jan Astalos (astalos.ui@savba.sk)
