Difference between revisions of "Little-Fe PPC"

From Earlham CS Department
Jump to navigation Jump to search
(Choose an operating system)
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
This is page contains information about the 4 node PPC (Pegasos) version of Little-Fe.
 
This is page contains information about the 4 node PPC (Pegasos) version of Little-Fe.
  
This version of Little-Fe PPC is based on a [http://www.debian.org Debian GNU/Linux] installation.  It employs [http://www.am-utils.org/project-unionfs.html UnionFS] to facilitate consolidation of system and cluster software on a single hard drive (attached to <code>lf0</code>).  All other nodes netboot from the master image by masking the server-specific files with a lightweight overlay.
+
This version of Little-Fe PPC is based on a [http://www.debian.org Debian GNU/Linux] installation.  It employs [http://www.am-utils.org/project-unionfs.html UnionFS] to facilitate consolidation of system and cluster software on a single hard drive (attached to <code>lf0</code>).  All other nodes netboot from the main image by masking the server-specific files with a lightweight overlay.
  
 
* <code>lf0</code> can be found at <code>lf-ppc.cluster.earlham.edu</code>
 
* <code>lf0</code> can be found at <code>lf-ppc.cluster.earlham.edu</code>
Line 7: Line 7:
 
==Documentation and bug reporting==
 
==Documentation and bug reporting==
  
* To report a bug, please use [https://www.cs.earlham.edu/bugzilla/enter_bug.cgi?product=lf-ppc Bugzilla]
+
* To report a bug, please use [http://cluster.earlham.edu/bugzilla/enter_bug.cgi?product=lf-ppc Bugzilla]
  
 
We are documenting the production of Little-Fe in two ways:  First, bugs are filed in bugzilla (and hopefully fixed).  Second, we're putting flesh on a set of instructions to build a replica of the original Little-Fe PPC.  The latter is probably (but not necessarily) based on the former.  The distinction is mainly that Bugzilla will show how things were done wrong, while the wiki-based instructions will show how to do things right the first time.
 
We are documenting the production of Little-Fe in two ways:  First, bugs are filed in bugzilla (and hopefully fixed).  Second, we're putting flesh on a set of instructions to build a replica of the original Little-Fe PPC.  The latter is probably (but not necessarily) based on the former.  The distinction is mainly that Bugzilla will show how things were done wrong, while the wiki-based instructions will show how to do things right the first time.
  
==Creating a new Little-Fe PPC==
+
==Adding/Setting up a new node in the Debian Unified Root==
 +
These are current as of May 19, 2006.
  
===Choose an operating system===
+
===Server Configuration===
The first version of this project used [http://www.debian.org Debian GNU/Linux].  It's intended to be general enough to be deployed on other platforms; but, as Charlie says, "your mileage may vary."
+
* add MAC addresses for the 100Mbit and Gbit network interfaces to <code>/etc/dhcp3/dhcpd.conf</code>
 +
* restart dhcp with <code>/etc/init.d/dhcp3-server restart</code>
  
===Setup the diskless netboot environment===
+
===Client Firmware===
 
+
These are the current client firmware settings necessary to boot <code>lf[1-n]</code> via the Debian unified root setup.  These must be set on every single client node in order to netboot successfully. If they are not there already, add or correct the following lines in <code>nvedit</code>:
====TFTPD====
 
Install a tftp server (Debian's <code>tftpd-hpa</code> is good) and add a line like this to /etc/inetd.conf (or the equivalent in whatever internet "super-server" you use):
 
 
<pre>
 
<pre>
tftp          dgram  udp    wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -v -s /boot
+
setenv boot-device eth:dhcp,0.0.0.0,,0.0.0.0
 +
setenv boot-file vmlinuz-2.6.15.6 init=/linuxrc root=/dev/nfs ip=dhcp console=ttyS1,115200n1
 
</pre>
 
</pre>
 +
After this is setup, type <code>setenv auto-boot? true</code> at the main firmware prompt (not in <code>nvedit</code>).  Reboot to read in the new environment variables or set them manually and then type <code>boot</code>.
  
This runs tftpd and sets its root directory to <code>/boot</code>
+
==Creating a new Little-Fe PPC==
 
 
====DHCPD====
 
 
 
Install ISC's DHCPD (e.g., Debian's <code>dhcp3-server</code> package), and setup <code>dhcpd.conf</code> like so:
 
 
 
<pre>
 
option domain-name "little-fe-ppc.net";
 
option domain-name-servers 192.168.1.100;
 
option subnet-mask 255.255.255.0;
 
default-lease-time 604800;
 
max-lease-time 604800;
 
allow booting;
 
allow bootp;
 
 
 
subnet 192.168.1.0 netmask 255.255.255.0 {
 
    range 192.168.1.200 192.168.1.254;
 
    option broadcast-address 192.168.1.255;
 
    option routers 192.168.1.1;
 
 
 
    next-server 192.168.1.100;
 
    server-identifier 192.168.1.100;
 
 
 
    # for client-side union setup
 
    filename "vmlinuz-2.6.15.6 init=/linuxrc root=/dev/nfs ip=dhcp console=ttyS1,115200n1";
 
    option root-path "/client/setup";
 
 
 
    # to use server-side union
 
    # filename "vmlinuz-2.6.15.6 root=/dev/nfs ip=dhcp console=ttyS1,115200n1";
 
    # option root-path "/client/root";
 
 
 
    use-host-decl-names on;
 
}
 
 
 
host lf1 { hardware ethernet 00:0B:2F:43:61:EB; fixed-address 192.168.1.101; }
 
host lf2 { hardware ethernet 00:0b:2f:4f:03:b5; fixed-address 192.168.1.102; }
 
#host lf3 { hardware ethernet ; fixed-address 192.168.1.103; }
 
 
 
subnet 192.168.10.0 netmask 255.255.255.0 {
 
    range 192.168.10.200 192.168.10.254;
 
    option broadcast-address 192.168.10.255;
 
 
 
    use-host-decl-names on;
 
}
 
 
 
host lf1-eth1 { hardware ethernet 00:0b:2f:62:49:d1; fixed-address 192.168.10.101; }
 
host lf2-eth1 { hardware ethernet 00:0b:2f:6e:6b:7b; fixed-address 192.168.10.102; }
 
#host lf3-eth1 { hardware ethernet ; fixed-address 192.168.10.103; }
 
</pre>
 
 
 
====NFSD====
 
If you're using Debian, use the nfs-kernel-server package (not the nfs-user-server package).  (Knowledge about how this translates to other platforms would be helpful here.)
 
 
 
Setup <code>/etc/exports</code> like so:
 
<pre>
 
/              192.168.1.0/24(ro,insecure_locks,no_root_squash,sync)
 
/client/setup  192.168.1.0/24(ro,insecure_locks,no_root_squash,sync)
 
/client/overlay 192.168.1.0/24(ro,insecure_locks,no_root_squash,sync)
 
/root          192.168.1.0/24(rw,insecure_locks,no_root_squash,sync)
 
/home          192.168.1.0/24(rw,insecure_locks,no_root_squash,sync)
 
</pre>
 
 
 
====Unified Root====
 
[[Unified Root Setup]]
 
  
====Configure Client Firmware====
+
Follow the instructions on the [[Diskless Cluster Setup]] page.
  
 
==Related pages==
 
==Related pages==
*[[Pegasos|Pegasos PPC (ODW) notes]]
+
* [[Pegasos|Pegasos (ODW) notes]] - firmware info, including disk and net booting; serial console info; etc.

Latest revision as of 10:50, 24 March 2021

This is page contains information about the 4 node PPC (Pegasos) version of Little-Fe.

This version of Little-Fe PPC is based on a Debian GNU/Linux installation. It employs UnionFS to facilitate consolidation of system and cluster software on a single hard drive (attached to lf0). All other nodes netboot from the main image by masking the server-specific files with a lightweight overlay.

  • lf0 can be found at lf-ppc.cluster.earlham.edu

Documentation and bug reporting

We are documenting the production of Little-Fe in two ways: First, bugs are filed in bugzilla (and hopefully fixed). Second, we're putting flesh on a set of instructions to build a replica of the original Little-Fe PPC. The latter is probably (but not necessarily) based on the former. The distinction is mainly that Bugzilla will show how things were done wrong, while the wiki-based instructions will show how to do things right the first time.

Adding/Setting up a new node in the Debian Unified Root

These are current as of May 19, 2006.

Server Configuration

  • add MAC addresses for the 100Mbit and Gbit network interfaces to /etc/dhcp3/dhcpd.conf
  • restart dhcp with /etc/init.d/dhcp3-server restart

Client Firmware

These are the current client firmware settings necessary to boot lf[1-n] via the Debian unified root setup. These must be set on every single client node in order to netboot successfully. If they are not there already, add or correct the following lines in nvedit:

setenv boot-device eth:dhcp,0.0.0.0,,0.0.0.0
setenv boot-file vmlinuz-2.6.15.6 init=/linuxrc root=/dev/nfs ip=dhcp console=ttyS1,115200n1

After this is setup, type setenv auto-boot? true at the main firmware prompt (not in nvedit). Reboot to read in the new environment variables or set them manually and then type boot.

Creating a new Little-Fe PPC

Follow the instructions on the Diskless Cluster Setup page.

Related pages