Difference between revisions of "Installing A Cluster"

From New IAC Wiki
Jump to navigation Jump to search
Line 21: Line 21:
 
Grab pxelinux from the web
 
Grab pxelinux from the web
  
===Setting up a chroot for the nod roots===
+
===Setting up a chroot for the node root===
 
The chroot is a directory on the head nodes that hosts the root filesystem that the slave nodes will use.  
 
The chroot is a directory on the head nodes that hosts the root filesystem that the slave nodes will use.  
 
A chroot file system is installed with '''debootstrap''' and can be chrooted into so it acts like a standard install.
 
A chroot file system is installed with '''debootstrap''' and can be chrooted into so it acts like a standard install.
Line 41: Line 41:
 
* openssh-client
 
* openssh-client
 
* openssh-server
 
* openssh-server
*
 
  
  chroot /nodes/lucid/
+
===NFS===
   
+
 
 +
On the head node, add the following to /etc/exports
 +
  /nodes/lucid   10.0.200.0/24(ro,async,no_root_squash,no_subtree_check)
 +
  /home          10.0.200.0/24(rw,async,root_squash,no_subtree_check)
 +
see '''man 5 exports''' for more information. There are also more nfs settings in
 +
 
 +
/etc/default/nfs-common
 +
/etc/default/nfs-kernel-server
  
 
===Netbooting===
 
===Netbooting===

Revision as of 20:30, 18 June 2010

Network configuration

Head nodes works as NAT for slave nodes

eth0 connects to outside world eth1 is internal

Internal network is 10.0.200.0/255.0.0.0

OS installation

Normal server Linux install with the following packages:

  • ssh server
  • tftpd-hpa
  • dhcp3-server
  • nfs-kernel-server
  • debootstrap
  • libpmi
  • mpich2
  • slurm-llnl

Grab pxelinux from the web

Setting up a chroot for the node root

The chroot is a directory on the head nodes that hosts the root filesystem that the slave nodes will use. A chroot file system is installed with debootstrap and can be chrooted into so it acts like a standard install.

mkdir -p /nodes/lucid
debootstrap lucid /nodes/lucid/ http://backup.iac.isu.edu:9999/ubuntu/
cp /etc/apt/sources.list /nodes/lucid/etc/apt/
cp /etc/resolv.conf /nodes/lucid/resolv.conf
chroot /nodes/lucid/
apt-get update
locale-gen en_US.UTF-8
dpkg-reconfigure tzdata

More information about chroots, especially helpful locale setup.

In the chroot we want to install the following packages:

  • slurm-llnl
  • munge
  • nfs-common
  • openssh-client
  • openssh-server

NFS

On the head node, add the following to /etc/exports

/nodes/lucid    10.0.200.0/24(ro,async,no_root_squash,no_subtree_check)
/home           10.0.200.0/24(rw,async,root_squash,no_subtree_check)

see man 5 exports for more information. There are also more nfs settings in

/etc/default/nfs-common 
/etc/default/nfs-kernel-server 

Netbooting

Setting up dhcp

Edit /etc/dhcp3/dhcpd.conf as follows:

dhcpd.conf - note comma between dns servers

Edit /etc/default/dhcp3-server

INTERFACES=eth1

This will avoid dhcp serving on the outside network!

service dhcp3-server start


Setting up tftp

Edit /etc/default/tftpd-hpa

RUN_DAEMON="yes" #had problems with inetd in the past
OPTIONS="-l -a 10.0.200.1 -s /var/lib/tftpboot"


Setting up nfs

Testing

Scheduler installation

The Quick Start Administrator Guide is very helpful.

  1. Install
  • slurm-llnl
  • slurm-llnl-slurmdbd
  • slurm-llnl-doc
    • mkdir /var/run/slurm-llnl

Munge

Munge is an authentication framework recommended by slurm. All the configuration it needs is:

root@brems:# /usr/sbin/create-munge-key
Generating a pseudo-random key using /dev/urandom completed.
root@brems:# /etc/init.d/munge start