HCL cluster/heterogeneous.ucd.ie install log
- Basic installation of Debian Squeeze
Contents
Networking
Interfaces
- edit
/etc/networks/interfacesNote that at some point eth1 should be configured by DHCP, it is on the UCD LAN and must be registered correctly (update MAC address with services).eth0is the internal network.
# The loopback network interface
auto lo eth0 eth1
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.21.254
netmask 255.255.255.0
gateway 192.168.21.1
iface eth1 inet static
address 193.1.132.124
netmask 255.255.252.0
gateway 193.1.132.1
- Install non-free linux firmware for network interface (eth0). This will allow Gigabit operation on eth0 with the tg3 hardware (I think). Edit
/etc/apt/sources.listincluding the lines:
deb http://ftp.ie.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.ie.debian.org/debian/ squeeze main contrib non-free
- Install firmware-linux:
apt-get update && apt-get install firmware-linux
DNS / BIND
We will run our own DNS server for the cluster. First set resolv.conf:
nameserver 127.0.0.1
nameserver 137.43.116.19
nameserver 137.43.116.17
nameserver 137.43.105.22
domain ucd.ie
search ucd.ie
Now install bind9, edit /etc/bind/named.conf.local and set the domain zones for the cluster (forwards and reverse).
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
};
zone "heterogeneous.ucd.ie" {
type master;
file "db.heterogeneous.ucd.ie";
allow-update { key "rndc-key"; };
notify yes;
};
zone "21.168.192.in-addr.arpa" {
type master;
file "db.192.168.21";
allow-update { key "rndc-key"; };
notify yes;
};
<source>
Now work on the zone files specified <code>db.heterogneneous.ucd.ie</code> and the reverse maps <code>db.192.168.21</code>:
===IP Tables===
* Set up <code>iptables</code>. We want to implement NAT between the internal network (<code>eth0</code>) and external one (<code>eth1</code>). Add a script to <code>/etc/network/if-up.d</code> directory. All scripts in this directory will be executed after network interfaces are brought up, so this will persist:
<source lang="bash">
#!/bin/sh
PATH=/usr/sbin:/sbin:/bin:/usr/bin
IF_INT=eth0
IF_EXT=eth1
#
# delete all existing rules.
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT
# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW ! -i $IF_EXT -j ACCEPT
iptables -A FORWARD -i $IF_EXT -o $IF_INT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i $IF_INT -o $IF_EXT -j ACCEPT
# Masquerade.
iptables -t nat -A POSTROUTING -o $IF_EXT -j MASQUERADE
# Don't forward from the outside to the inside.
iptables -A FORWARD -i $IF_EXT -o $IF_EXT -j REJECT
# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward
Clonezilla
- follow the guide to installing Clonezilla here. Essentially:
- add repository key
wget -q http://drbl.sourceforge.net/GPG-KEY-DRBL -O- | apt-key add -
- the line add to /etc/apt/sources.list:
deb http://drbl.sourceforge.net/drbl-core drbl stable
- run:
apt-get update && apt-get install drbl && /opt/drbl/sbin/drbl4imp
- accept default options to drbl4imp.
- add repository key
- After Clonezilla has installed edit
/etc/dhcpd3/dhcpd.conf, adding all entries for test nodeshcl07andhcl03. Also ensure these nodes have been removed from the inplace heterogeneous.ucd.ie server so that they are only served by one machine.
default-lease-time 300;
max-lease-time 300;
option subnet-mask 255.255.255.0;
option domain-name-servers 137.43.116.19,137.43.116.17,137.43.105.22;
option domain-name "ucd.ie";
ddns-update-style none; # brett had ad-hoc ...?
server-name drbl;
filename = "pxelinux.0";
subnet 192.168.21.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.21.1;
next-server 192.168.21.254;
pool {
# allow members of "DRBL-Client";
range 192.168.21.200 192.168.21.212;
}
host hcl03 {
option host-name "hcl03.ucd.ie";
hardware ethernet 00:14:22:0A:22:6C;
fixed-address 192.168.21.5;
}
host hcl03_eth1 {
option host-name "hcl03_eth1.ucd.ie";
hardware ethernet 00:14:22:0A:22:6D;
fixed-address 192.168.21.105;
}
host hcl07 {
option host-name "hcl07.ucd.ie";
hardware ethernet 00:14:22:0A:20:E2;
fixed-address 192.168.21.9;
}
host hcl07_eth1 {
option host-name "hcl07_eth1.ucd.ie";
hardware ethernet 00:14:22:0A:20:E3;
fixed-address 192.168.21.109;
}
default-lease-time 21600;
max-lease-time 43200;
}
Install NIS
Copy users from passwd, groups and shadow from /etc on hcl01.
Install nis.
Edit /etc/defaultdomain so that it contains:
heterogeneous.ucd.ie
Edit /etc/defaults/nis so that it contains:
# Are we a NIS server and if so what kind (values: false, slave, master) NISSERVER=master
Edit /etc/ypserv.securenets so that is contains:
# allow connects from local 255.0.0.0 127.0.0.0 # allow connections from heterogeneous subnet 255.255.255.0 192.168.21.0
The NIS host is also a client of itself, so do the client set up as follows:
Edit /etc/hosts end ensure the NIS Master is listed
192.168.21.254 heterogeneous.ucd.ie heterogeneous
Edit /etc/yp.conf and ensure that it contains:
domain heterogeneous.ucd.ie server localhost
Edit /etc/passwd adding a line to the end that reads: +::::::. Edit /etc/group with a line +::: at the line.
The NIS Makefile will not pull userid and groupids that are lower than a certain value, we must set this to 500 in /var/yp/Makefile
MINUID=500 MINGID=500
Start the ypbind and yppasswd services. Then initialise the NIS database:
/usr/lib/yp/ypinit -m
Accept defaults at prompts.
Now start other NIS services
service nis start
Installing Ganglia Frontend
Install the packages gmetad and ganglia-webfrontend.
Configure the front end by appending to /etc/apache2/apache2.conf, the following:
Include /etc/ganglia-webfrontend/apache.conf
Configure gmetad by adding to the /etc/ganglia/gmetad.conf, the following line:
data_source "HCL Cluster" hcl07
After all packages are configured execute:
service apache2 restart
service gmetad restart
Pointing your browser to here should display the monitoring page for HCL Cluster. gmond must also be installed and configured on the cluster nodes.