Wednesday, January 2, 2013

PiLab - Management and Monitoring Infrastructure

In previous posts I began detailing the components and layout of a lab for teaching system administration to high school or beginning college students.  So far I've focused on the parts that the students will manage and control.  The student gear is formed into pods of four Raspberry Pi units and sufficient additional gear to power and control them. The pods are modular.  The infrastructure defined below can support one to four pods. On top of the student work spaces the instructor will need to set up,  manage and monitor the pod operations. In addition I want to have a boundary between the lab networks and the exterior net to keep the world out and the lab in.

Each of the pods has four cables running from it:

  • Head Node Serial Console (USB B, Male)
  • Head Node Network (Cat 5e UTP, RJ-45)
  • Lab (Pod) Network (Cat5e UTP, RJ-45)
  • Power (110VAC, 15A NEMA 5-15P)

I want to aggregate the head node consoles on a master node.  I'm not sure yet if it matters but I think I'd like to keep the head node network separate from the lab nets.  Right now the pod power will come from a fixed power strip.  I think the pod power draw is low enough that they might be run from a switched socket, but for now I think I'm going to leave that alone.

For network isolation I need a router.  Another Netgear WNDR3800 will do nicely.  A pair of Netgear 5 port unmanaged switches will fan out the lab and head node networks.  Another 7 port USB hub will pull together the serial consoles from the pod head nodes as well as the router above.  There are two ports free for controlling power in on the infrastructure devices, though cost may preclude that and it may not be needed.

The master node will have attached storage.  This will be used to provide automated re-installation of the lab Pi units.

PiLab infrastructure Manifest

This infrastructure can control and manage four PiLab pods for a total of 16 student lab nodes.  The pods can form 4 separate service systems.

Here's the parts list for the infrastructure:

  • 1 Netgear WNDR3800 600N router, $110
  • 1 Raspberry Pi Model B, $35
  • 1 Adafruit Raspberry Pi enclosure, $15
  • 2 Adafruit TTL - USB serial cable, $10
  • 1 8GB SD card, $10
  • 1 D-Link DUB-7H 7 port USB hub, $26
  • 2 Netgear FS105 5 port unmanaged switch, $22
  • 2 PowerUSB Basic switched PDU, $70
  • 1 Seagate 320GB USB 2.0 disk drive, 7200RPM, $80
Total: $504
I didn't include the cables on this one but they should be incidental.

I haven't laid out the power cable runs.  There are 6 devices in the infrastructure which require power (aside from the pods).  At least the router, the master node and the disk drive will require fixed power.  I can save ~$120US by using all fixed power strips.  I'm assuming the maximum cost for now so that I know the upper limits.

All of the monitoring and visualization will reside on the master node, as will the basic network services.  It will have serial access to all of the pod head nodes.  Each of those have access to the pod Pi units.  Now that the hardware's complete,it's time to start work on the software tools and the lessons.


  1. I am working *very* slowly on it. I have a board layout with all of the parts. I'm working now on getting the head node OS configured.

    What I really need is a teacher who can teach me how to teach, while learning what I have to teach so we, together can design a curriculum around it.

  2. Let me talk to my buddy who teaches high school. He is their AV guy and does the electronics and media classes. He has been looking for something like this to take to his classroom. Seems win/win.

  3. Nice post. I learn something more challenging on different blogs everyday. It will always be stimulating to read content from other writers and practice a little something from their store. I’d prefer to use some with the content on my blog whether you don’t mind. I’ll give you a link on your web blog. I recently came to know about, their Toys In GCC are very effective.
    Toys In GCC Thanks for sharing.