Cluster Management System CRONO - v1.4 ADMINISTRATOR MANUAL This document describes the procedures for the installation and configuration of CRONO, including the daemons, configuration files and some administrative tools. _________________________________________________________________________ Table of Contents 1. Installing CRONO 2. Configuration Files 2.1. crono.conf 2.2. groups 2.3. accessrights.defs 2.4. nodes 2.5. commands 2.6. mpreps and mpostps 2.7. login.access(or access.conf), hosts.equiv and PAM 2.8.1 Linux distributions with PAM 2.8.2 Linux distributions without PAM 2.9. amconf 3. CRONO Daemons 3.1. Access Manager (cramd) (AM) 3.2. Request Manager (crrmd) (RM) 3.3. Node Manager (crnmd) (NM) 3.4. How to start the daemons 3.5. How to stop the daemons 4. Administrative Tools 4.1. crstat 4.2 crnodesinfofilter 4.3. crmkmachfile 5. crrun and crcomp _________________________________________________________________________ 1. Installing CRONO After download the package crono-XXX.tar.gz, you must unpack in a temporary directory. # cd / # gunzip crono-XXX.tar.gz # tar -xvf crono-XXX.tar The list below shows the files and directories that will be created. COPYING Changelog README bin/ -> User programs (after compilation) docs/ docs/Adm-Manual -> Administrator Manual docs/User-Manual -> User Manual docs/UI-API-Manual -> API for the User Interface Commands (for developers) etc/ etc/amconf -> Example of amconf file (Section 2.9 and User-Manual) etc/homogeneous -> Example of a homogeneous cluster configuration etc/heterogeneous -> Example of a heterogeneous cluster configuration sbin/ -> Daemons (after compilation) src/ -> Source code Before compiling CRONO, some default configurations can be modified in the src/Makefile.defs. Modify them if necessary. Next, change to the 'src' directory, type 'make' to build and 'make install' to install the binaries and configuration files. # cd src # make # make install After that, you'll have the following programs: In the 'bin' directory: -> User Interface programs In the 'sbin' directory: -> Access Manager daemon: cramd -> Request Manager daemon: crrmd -> Node Manager daemon: crnmd In the 'etc' directory: -> Example of a cluster configuration: 'tropical' directory For information about the User Interface programs, please consult the User Manual. 2. Configuration This session describes the CRONO's configuration files, as well as the structure of the directory where they are found. Assuming that you have installed CRONO in the /usr/local/ directory, the configuration files will be in /usr/local/etc/ directory, and we'll call it DIRCONF. The DIRCONF structure is: / amconf - this file contains the hostname and port for Access Manager / - configuration for cluster1 / - configuration for cluster2 ... ... For each directory we have: / crono.conf - Hostnames and ports used by the daemons, queue and log files, and other options. groups - Group of users. accessrights.defs - Access Rights definitions. nodes - Nodes of the cluster. commands - Commands that the users can execute on the nodes. mpreps - Master Pre-processing Script. mpostps - Master Post-processing Script. hosts.equiv - Original /etc/hosts.equiv file. login.access - Original /etc/security/access.conf (or /etc/login.access) file. 2.1 crono.conf This is the main cluster configuration file. Here you have to specify the hostname where each system manager is executed, the listened port, the path of the log, pids and the requests queue, the number of users that can share a node at same time, PAM support and timeout of connections between Request Manager and Node Manager. If you are interested to run CRONO on a single machine (not in a cluster), it's necessary to turn on the single option (single=on) in the crono.conf file. With this option the Request Manager ignores the function calls that make communication to the Node Manager. A typical crono.conf file: ################################################################# # CLUSTER: cluster1 ################################################################# # Server ports amport=7001 rmport=7022 nmport=7004 # Server hosts amhost=servername rmhost=servername # Number of users that can share a node at the same time(time-sharing) share=2 # Single Option (off-> there is a cluster available) # (on-> there is not a cluster available) single=off # PAM support (on or off) pam=on #Connection Timeout in seconds conntimeout=1 # Timeout of Master pre-processing script tmpreps=2 # Timeout of Master post-processing script tmpostps=2 # Log File logfile=/usr/local/var/log/crono_cluster1.log # Queue File queuefile=/usr/local/var/queues/crono_cluster1.queue # Process IDs Directory piddir=/usr/local/var/pid/ ################################################################# For details of how PAM support option is used on CRONO, see the Section 2.7 of this manual. If the nodes are in the same network of the machine that the Request Manager is running, use a low value, like 1. Otherwise, use a higher value. 2.2 groups In this file it's possible to specify the group name and their members. This file could be modified while the daemons are running. Example of the groups file: ################################################################# # group # # # ... # endgroup # ... ################################################################# group master student1 student2 student3 endgroup group group2 linux unix freebsd endgroup ################################################################# 2.3 accessrights.defs This file defines the user and user groups access rights. In each access right profile it is possible to define the time, number of nodes and number of future allocations (reserves) both in normal and special time. This file could be modified while the daemons are running. The syntax is illustrated as follows: ###################################################################### # Access Rights configuration file # # special # - # - # ... # endspecial # #users: [ .... ] #[ defaults: ] #nodetype : #[ nodetype : ] #... # ###################################################################### # options: # time=