Difference between revisions of "Installation and configuration"

From MosixWiki
Jump to: navigation, search
Line 5: Line 5:
 
local node, or in a common root-directory that is shared by several
 
local node, or in a common root-directory that is shared by several
 
nodes of a cluster.
 
nodes of a cluster.
 
+
 
 +
==Integration with SLURM==
 +
 
 +
If you wish to integrate MOSIX with the SLURM, read the instructions in the "slurm" directory.
 +
 
 
==Manual installation==
 
==Manual installation==
  
Before beginning the installation, you should place each of the   following files in the corresponding "Where" directory with the listed "chmod":
+
Before beginning the installation, create the directories "/etc/mosix" and "/etc/mosix/var"
 +
(when "/etc" is non-writable, the later can be a symbolic link to a writable directory such as "/var/mosix"), then place each of the following files in the corresponding "Where" directory,
 +
then run the appropriate special instructions:
  
  File                       Where                             chmod
+
  File                   Where                         chmod
 
  -------------------------------------------------------------------
 
  -------------------------------------------------------------------
  bestnode                    /bin                              u+s
+
  man/*                  wherever manuals live - suggest /usr/local/man
defaults/features          /etc/mosix/features
+
  mos_checkconf          /sbin
  defaults/tunes             /etc/mosix/tunes
+
mos_in_job             /sbin
  migrate                    /bin
+
  mosbestnode            /bin                   chmod u+s /bin/mosbestnode
mon                        /bin
+
  mosconf*               /sbin
  mosconf*                   /sbin
+
  mosctl                 /bin
mos_checkconf              /sbin
+
  mosd                   /sbin
  mosctl                     /bin
+
  mosenv                 /bin
  mosd                       /sbin
+
  mosixd                 /sbin
  mosenv                     /bin
+
  moskillall             /bin                   chmod u+s /bin/moskillall
  mosixd                     /sbin
+
  mosmigrate              /bin                   chmod u+s /bin/mosmigrate
  moskillall                 /bin
+
  mosmon                  /bin
mosps                      /bin                              u+s
+
  mosnative              /bin
  mosq                        /bin                               u+s
+
  mospipe                /bin
mosqueue                    /bin
+
  mospostald              /sbin
  mosrun                      /bin                               u+s
+
  mosps                  /bin                    chmod u+s /bin/mosps
  native                      /bin
+
  mosremoted              /sbin
  other/patch-KERNEL_VERSION  Kernel patch for Linux-KERNEL_VERSION ("patch -p1")
+
  mosrun                  /bin                    chmod u+s /bin/mosrun
  prep_tune                  /sbin
+
  mossetpe                /sbin
  qmd                        /sbin
+
  mostestload            /bin
remoted                    /sbin   
+
  mostimeof              /bin                   chmod u+s /bin/mostimeof
  remoted32                  /sbin   (64-bits systems only)
+
  man/*                   wherever manuals live - suggest /usr/local/man
  setcl                      /sbin
+
  setpe                      /sbin
+
  tune                        /bin
+
  tune_mosix                  /bin
+
  man/*                       wherever manuals live - suggest /usr/local/man
+
  
 
'''1. If you cannot modify /bin or /sbin:'''
 
'''1. If you cannot modify /bin or /sbin:'''
Line 45: Line 46:
 
instead of in /bin - in /usr/bin or in /usr/local/bin and instead of in /sbin - in /usr/sbin or in /usr/local/sbin
 
instead of in /bin - in /usr/bin or in /usr/local/bin and instead of in /sbin - in /usr/sbin or in /usr/local/sbin
  
However, in that case you must make sure that none of the above
+
If you do so, you must make sure that none of the above binaries
binaries already exists in /bin (or /sbin) from previous installations.
+
already exists in /bin (or /sbin) from previous installations.
  
'''2. The kernel:'''
+
'''2. Another recommended program:'''
 
+
To prepare the kernel manually:
+
 
+
1. Obtain a copy of the original Linux-KERNEL_VERSION sources from
+
    http://www.kernel.org/pub/linux/kernel/v2.6/linux-KERNEL_VERSION.tar.bz2
+
2. Unpack the sources:
+
        tar xjf linux-KERNEL_VERSION.tar.bz2
+
3. Enter the kernel-source directory:
+
        cd linux-KERNEL_VERSION
+
4. Apply the MOSIX kernel patch:
+
        patch -p1 < ../other/patch-KERNEL_VERSION
+
5. Configure the kernel:
+
        make menuconfig 
+
 
+
  NOTE: if you modify the kernel configuration, do not touch the following:
+
  a. DO NOT CONFIGURE the "CONFIG_SECURITY" option:
+
        'Security Options' / 'enable different security models'
+
  b. DO NOT CONFIGURE the "CONFIG_HEADERS_CHECK" option:
+
        'Kernel hacking' / 'Run 'make headers_check' when building vmlinux'
+
 
+
6. Compile the kernel:
+
        make bzImage
+
        make modules    (if you are using kernel modules)
+
7. Install the kernel:
+
        make modules_install
+
        make install
+
 
+
'''3. Another recommended program:'''
+
  
 
"lzop" is a fast compression program used by MOSIX to reduce the communication overhead.  "lzop" is freely available by courtesy of its author, Markus Franz Xaver Johannes Oberhumer.
 
"lzop" is a fast compression program used by MOSIX to reduce the communication overhead.  "lzop" is freely available by courtesy of its author, Markus Franz Xaver Johannes Oberhumer.
  
If you have a Grid with computers in different buildings/sites, or if your network is slow, this program can improve MOSIX performance.
+
If you have a multi-cluster with computers in different buildings/sites, or if your network is slow, this program can improve MOSIX performance.
  
 
To install this program, run: "cp other/lzop /usr/bin/lzop" or download it from "http://www.lzop.org" into "/usr/bin/lzop".
 
To install this program, run: "cp other/lzop /usr/bin/lzop" or download it from "http://www.lzop.org" into "/usr/bin/lzop".
Line 86: Line 59:
 
==Configuration==
 
==Configuration==
  
"mosix.install" can optionally provide you with a minimal/express
+
The "mosconf" script lead you step-by-step through the various
single-cluster configuration.  It is often sufficient to get MOSIX
+
configuration items.  It is usually first called by "mosix.install".
started (refinements can be made later).
+
  
For further configuration, simply run "mosconf": it will lead you
+
If you prefer to edit the configuration files manually, the format of
step-by-step through the various configuration items.
+
 
+
If you wish to edit the confuiguration files manually, the format of
+
 
all configuration files is given in the "CONFIGURATION" section of
 
all configuration files is given in the "CONFIGURATION" section of
"man mosix".  Not all those files must be present, but you must
+
"man mosix" and at least the following files must be present:
configure at least the following:
+
  
 
  /etc/mosix/mosix.map    (which nodes are in the local cluster)
 
  /etc/mosix/mosix.map    (which nodes are in the local cluster)
 
  /etc/mosix/secret      (grid-wide authentication - chmod 600!)
 
  /etc/mosix/secret      (grid-wide authentication - chmod 600!)
  
If you intend to view your cluster's state, you must also configure:
+
Also very recommended:
  
 
  /etc/mosix/userview.map        (Recommended - using node numbers, not just IPs)
 
  /etc/mosix/userview.map        (Recommended - using node numbers, not just IPs)
  
If you intend to have a grid, you must also configure:
+
If you intend to have a multi-cluster, you must also configure:
 
+
/etc/mosix/partners/*  (grid partners)
+
 
+
If you intend to use the batch feature, you must also configure:
+
  
  /etc/mosix/ecsecret    (authentication for client batch jobs - chmod 600!)
+
  /etc/mosix/partners/(multi-cluster partners)
/etc/mosix/essecret    (authentication for server batch jobs - chmod 600!)
+
  
 
The following configuration files are optional, but commonly used:
 
The following configuration files are optional, but commonly used:
  
/etc/mosix/freeze.conf         (freezing policy)
+
/etc/mosix/private.conf         (allocating space for private temporary files)
/etc/mosix/queue.conf          (queueing policy)
+
/etc/mosix/retainpri            (delay processes of lower priority)
/etc/mosix/private.conf        (allocating space for private temporary files)
+
/etc/mosix/speed                (to set the processor speed)
/etc/mosix/retainpri            (delay processes of lower priority)
+
/etc/mosix/freeze.conf          (freezing policy)
  
 
The following configuration files are rarely used:
 
The following configuration files are rarely used:
  
/etc/mosix/maxguests            (limit number of guests from grid)
+
/etc/mosix/maxguests            (limit number of guests from multi-cluster)
/etc/mosix/tunes/{more_stuff}  (library of topology measurements)
+
/etc/mosix/mosip                (our IP - if not clear from "ifconfig")
/etc/mosix/mostune              (your topology)
+
/etc/mosix/speed                (to force a non-standard processor speed)
+
/etc/mosix/mosip                (our IP - if not clear from "ifconfig")
+
/etc/mosix/myfeatures          (this node's topological features)
+
  
 
==Starting MOSIX==
 
==Starting MOSIX==
  
 
To start MOSIX, run "mosd" (this is what "/etc/init.d/mosix start" does).
 
To start MOSIX, run "mosd" (this is what "/etc/init.d/mosix start" does).

Revision as of 15:12, 1 July 2014

Automatic installation

The simplest way to install MOSIX is to run "./mosix.install". This script can be used to install the MOSIX binaries either on the local node, or in a common root-directory that is shared by several nodes of a cluster.

Integration with SLURM

If you wish to integrate MOSIX with the SLURM, read the instructions in the "slurm" directory.

Manual installation

Before beginning the installation, create the directories "/etc/mosix" and "/etc/mosix/var" (when "/etc" is non-writable, the later can be a symbolic link to a writable directory such as "/var/mosix"), then place each of the following files in the corresponding "Where" directory, then run the appropriate special instructions:

File                    Where                         chmod
-------------------------------------------------------------------
man/*                   wherever manuals live - suggest /usr/local/man
mos_checkconf           /sbin
mos_in_job              /sbin
mosbestnode             /bin                    chmod u+s /bin/mosbestnode
mosconf*                /sbin
mosctl                  /bin
mosd                    /sbin
mosenv                  /bin
mosixd                  /sbin
moskillall              /bin                    chmod u+s /bin/moskillall
mosmigrate              /bin                    chmod u+s /bin/mosmigrate
mosmon                  /bin
mosnative               /bin
mospipe                 /bin
mospostald              /sbin
mosps                   /bin                    chmod u+s /bin/mosps
mosremoted              /sbin
mosrun                  /bin                    chmod u+s /bin/mosrun
mossetpe                /sbin
mostestload             /bin
mostimeof               /bin                    chmod u+s /bin/mostimeof
man/*                   wherever manuals live - suggest /usr/local/man

1. If you cannot modify /bin or /sbin:

As a second (or third) choice, you may place the MOSIX binaries: instead of in /bin - in /usr/bin or in /usr/local/bin and instead of in /sbin - in /usr/sbin or in /usr/local/sbin

If you do so, you must make sure that none of the above binaries already exists in /bin (or /sbin) from previous installations.

2. Another recommended program:

"lzop" is a fast compression program used by MOSIX to reduce the communication overhead. "lzop" is freely available by courtesy of its author, Markus Franz Xaver Johannes Oberhumer.

If you have a multi-cluster with computers in different buildings/sites, or if your network is slow, this program can improve MOSIX performance.

To install this program, run: "cp other/lzop /usr/bin/lzop" or download it from "http://www.lzop.org" into "/usr/bin/lzop".

Configuration

The "mosconf" script lead you step-by-step through the various configuration items. It is usually first called by "mosix.install".

If you prefer to edit the configuration files manually, the format of all configuration files is given in the "CONFIGURATION" section of "man mosix" and at least the following files must be present:

/etc/mosix/mosix.map    (which nodes are in the local cluster)
/etc/mosix/secret       (grid-wide authentication - chmod 600!)

Also very recommended:

/etc/mosix/userview.map         (Recommended - using node numbers, not just IPs)

If you intend to have a multi-cluster, you must also configure:

/etc/mosix/partners/*   (multi-cluster partners)

The following configuration files are optional, but commonly used:

/etc/mosix/private.conf (allocating space for private temporary files) /etc/mosix/retainpri (delay processes of lower priority) /etc/mosix/speed (to set the processor speed) /etc/mosix/freeze.conf (freezing policy)

The following configuration files are rarely used:

/etc/mosix/maxguests (limit number of guests from multi-cluster) /etc/mosix/mosip (our IP - if not clear from "ifconfig")

Starting MOSIX

To start MOSIX, run "mosd" (this is what "/etc/init.d/mosix start" does).