Debian Clusters for Education and Research
Hosted at the University of Northern Iowa
This site is a series of step-by-step tutorials for anyone interested in building a Debian cluster. It is geared particularly towards those interested in a Debian cluster for education or research purposes. This site is being written alongside the construction of a real Debian cluster at my institute, starting from the ground (basic networking, DHCP, DNS, authentication) up through installation a queue/scheduler and scientific software.
However, these tutorials and guides take some assumptions about users for granted, including basic Linux and Debian knowledge (see the Basic Linux Skills page for clarification and pointers to resources). This is not meant as an introduction to Debian or on how to cluster in general - thankfully, there are plenty of helpful tutorials and guides already in existence on those topics. A basic understanding of Debian and cluster technology will aid in following the tutorials.
Comments, criticisms, and suggestions are welcome and appreciated. Please send them to the project leads, Kristina (Kay) Wanous, at kwanous <at> debianclusters <dot> org or Paul Gray at gray <at> cs <dot> uni <dot> edu.
- Base Installation of Debian
- Compiling the Kernel "The Debian Way"
- Mounted File System: NFS
- File System: RAID Arrays
- Handing out IPs: DHCP
- Name Service: DNS and BIND
- User Authentication: LDAP
- Bash Profile Modifications
- Password-less SSH for Users
- Installing Compilers, including Intel Compilers
- Udev: Renaming Network Interfaces
- Setting a Dynamic Hostname by DNS
- First, make sure the above services are set up for the head node and worker.
- Source Installation Paradigm
- MPICH: Parallel Programming - an MPI implementation is necessary for many parallel applications
- Gromacs: Molecular Dynamics
- NAMD: Molecular Dynamics
- VMD: Visual Molecular Dynamics
- mpiBLAST: Nucleotide/Protein Searching
- Resource Manager: Torque
- Scheduler: Maui
- Troubleshooting Torque and Maui
Using Torque and Maui:
- Setting up a Web Server
- Securing the Web Server
- Monitoring Services: Nagios
- Monitoring Load: Ganglia
- Monitoring the Network: Cacti