A Pi Lab for System Administration

Share and discuss resources for use in the classroom

9 posts
by markllama » Tue Dec 25, 2012 1:54 am
I'm a professional System Administrator and I am interested in seeing if Raspberry Pi systems can be used to introduce and teach System Administration at the high school or early college level.

I've written a blog post at http://electron-swamp.blogspot.com describing a little about what I'd like to do. I also lay out a possible hardware lab layout that uses inexpensive parts to create an environment in which students can play and cause damage if needed but which can be restored to it's initial state.

There is a significant difference in what I envision from what I expect most other labs look like. The System Administration lab will not have any displays attached. It will not use the GPIO to control robotic or sensor hardware (at least at first). It will be self-contained and accessible only over a network. It will provide control access only using CLI based means (SSH and shells). There will be graphical feedback for the student activities using network and service maps and traffic graphing. The students will be able to add services which do respond in other ways: web services, time and name services etc. The students will also have remote power control for their Pi units and control of the first hop router.

This models well the kind of environment in which most system administration tasks occur.

The teaching model I envision is one I've learned from Allen Downey http://allendowney.com in his "Think *" books, especially "Think Python" http://www.greenteapress.com/thinkpython/thinkpython.html. Downey combines short chapters and lectures with guided (and free!) experimentation.

At this point I just have the functional map and parts manifest and some thoughts on design of the environment.


My estimate is that the Pi units and extra hardware for the students will cost about 85$US. The students will keep these at the end of the course and I hope that this price is not too high for the student "dues".

The lab "Pods" I estimate will cost approximately $325US to serve 4 students. A second layer of infrastructure to provide security and control resources for a set of pods I expect to cost $275US. So the initial outlay for 4 students would be $600US for reusable components and $340US "consumable" which the students will take home. This is well within the scale of cost for a typical Lego Mindstorms lab for the same number of students.

What do people think?

Does this look interesting to anyone?

I could use help designing an enclosure for the "pods" and beginning on the courseware itself.
Posts: 8
Joined: Sat Jun 09, 2012 2:54 pm
by malakai » Tue Dec 25, 2012 2:23 am
Are the students paying $340 for the course and keeping the Pi and the Case.

Is it available in person, online, or both

Overall seems like a good idea.
http://www.raspians.com - always looking for content feel free to ask to have it posted. Or sign up and message me to become a contributor to the site. Raspians is not affiliated with the Raspberry Pi Foundation. (RPi's + You = Raspians)
User avatar
Posts: 1383
Joined: Sat Sep 15, 2012 10:35 am
by markllama » Tue Dec 25, 2012 3:33 am
At this point I have no idea what the students would pay. I'm trying to figure out what it would cost to run and what the minimum cost for the students would be. My original goal was to keep the "dues" under $50US. That's not reasonable given the amount of gear that's needed in addition to the Pi itself. I'm shooting to keep it under $100 now. One thing I'm considering adding for the students is a tiny Wifi USB dongle so that they don't *need* a network cable when they take it home.

I'm not planning on running a school, but considering offering a club at my daughter's high school. If I run it myself for them I would do it gratis and charge the students only what it cost for the parts they take home.

All of the access would be "remote" in the sense that it would not *require* physical access to the pod and the pis. The course could be taught on existing laptops or workstations in the space. If the institution had the means and permission the lab could be made accessible on the internet (that's the purpose of the outer infrastructure router, to act as the boundary).

I am also thinking that, ideally, the pods could be assembled by the students so they also get hands-on access to the components they're working with.

As a System Adminsitrator I've also been involved with the Certification Wars in the now defunct/forked USENIX SAGE system administrators group. I'm a proponent of figuring out what to teach before you try to test for it, so this is a possible answer to that.

At this point I'm musing. I have a couple of pis and some of the other gear.

Any ideas to add to it?
Posts: 8
Joined: Sat Jun 09, 2012 2:54 pm
by markllama » Wed Dec 26, 2012 3:16 pm
It occurred to me last night that I could design the pod boards so that they can be assembled by the students. If the monitors are active it would be possible to provide feedback as the assembly takes place. This would provide a hands-on session with the components so that the students have some idea of what they'll be manipulating (entirely remotely) later.

Most of the hard components have wall-hanger fittings which could be used to fix them to a board. The Pi cases are the one exception and these could be fixed in some other way (double backed vecro or some kind of fitted peg or box to allow the cable runs.)

If the board is prepared it could have attached vecro fasteners for the cable runs and slack loops. Since the lesson isn't about designing the lab, but about assembling, monitoring and using it, this session would be guided. The lecture part at the beginning would provide a set of probe and monitor tools so that the students could verify each step.

I'm starting on a drawing of what the pod board jig would look like.
Posts: 8
Joined: Sat Jun 09, 2012 2:54 pm
by markllama » Wed Dec 26, 2012 4:43 pm
I've started a project on GitHub to track my work. So far there's just a description and the functional layout images.

Contributors Welcome!

Posts: 8
Joined: Sat Jun 09, 2012 2:54 pm
by markllama » Mon Dec 31, 2012 2:03 am
I just finished a physical layout for a "Pod" of Raspberry Pi units. The Pod contains 4 student Pi s and one "head node" as well as a router and remote power control.

http://electron-swamp.blogspot.com/2012 ... f-pod.html

I also put the project on Github:


Comments and contributions (of work) are welcome.

- Mark
Posts: 8
Joined: Sat Jun 09, 2012 2:54 pm
by markllama » Mon Dec 31, 2012 2:08 am
Oh, the physical layout is here:


https://github.com/markllama/pilab/blob ... layout.png

One pi is always powered on and accessible by serial console and network. It controls the power to the internal router and to the remaining Pi units. It also provides serial console to the student pi units.

The whole layout can be placed on a 17x22 plywood backing board and can be assembled by the students. I'm working on an infrastructure layer that will go above the Pods to provide network services such as DNS, DHCP, NTP network installation and an uplink to... wherever. It iwill also provide both passive and active monitoring of the student components.

Again comments are encouraged.

- Mark
Posts: 8
Joined: Sat Jun 09, 2012 2:54 pm
by markllama » Thu Jan 03, 2013 2:47 pm
I think I've finished specing the physical components and layout of the PiLab. The last part was to create the infrastructure hardware that will manage and monitor the lab pods. Much of the gear is the same. The infrastructure adds two 5 port unmanaged switches which act as a network manifold to provide more physical ports than the existing routers can. It also adds persistent storage (a USB hard disk) to the master host. This will provide a source for network boot or OS installation on the head nodes and on the student Raspberry Pi units.


I haven't drawn in the power cabling here. In the previous drawing the intent is for the students to assemble the unit. Each trace is required to ensure that all of the parts are accounted for. This drawing relates to parts that the students will not handle or manage directly. The instructor can assemble this unit as needed.

The infrastructure piece (one needed per 4 pods, 16 student pis) will cost between $400 and $500US. Each pod re-usable components will cost ~$350US and the student gear for each pod will run ~$320US. This still isn't cheap. A complete set-up from scratch will cost ~$3300US. After the initial setup each full class of 16 will cost ~$1300US, but all of that will go to the students and the cost can come from student dues. The per student cost should remain below $100.

I believe that this configuration provides enough monitoring ports and control points that it should be possible to detect each of the active components as it becomes live. The next tasks are to start implementing the monitoring and visualization, and to start thinking about how to construct the lessons.
I'm going to be looking at several sources for that.

I've recently learned about http://opsschool.org which is developing a curriculum for teaching system administration basics. I've also started reading some of the work by Jan Schaumann on a teaching text for system administration: http://www.netmeister.org/book/. My personal inspiration for a teaching format is the Think * books by Allen Downey http://www.greenteapress.com/thinkpython/

More details of what I'm working on at http://electron-swamp.blogspot.com and the project is on Github at http://github.com/markllama/pilab

Getting started....
Posts: 8
Joined: Sat Jun 09, 2012 2:54 pm
by fkorf » Sat Apr 27, 2013 10:37 pm
First of all, I love this idea. Miniature physical computer networks seem like an incredible teaching tool, as well as a simple but powerful hobby computer setup.

Beyond the initial understanding of designing, deploying, and supporting the software and hardware configuration you've outlined, this project provides a great base for classes on anything from web-app architecture to hardcore security to business computer systems.

Have you set a prototype of this yet?

I have numerous questions on deployment. You've done a great job of outlining the hardware required. How do you set it up?

Keep up the updates.
Posts: 1
Joined: Sat Apr 27, 2013 10:21 pm