COSI for Credit

Adam Kimball

Enrolled in MP151 for 2 credits

For my second semester at clarkson, I determined that it would be wise to take on more responsibilities in the labs than I did the first semester. I knew right off that I would be taking up maintainence for a server, though it wasn't determined just what it was at the time, and eventually Christian and I settled down to figure out what would be the most beneficial system to get up and running for the COSI labs. In the midst of having me go through and physically label all of the machines and drives that didn't have them yet, we settled on getting Elephant back up and running -- which is the lab's backup server. It had been down for several months, and the various servers in the labs were either backing up to their own storage, or not backing up at all.

Getting Elephant up and running was quite the interesting experience. I thought I had familiarized myself with Linux over the previous semester, but as it turns out, there's always a lot more digging to be done. In the process of getting elephant up and running, here are just a few things I had to learn to actually get the job done properly:

  1. -RAID arrays. I didn't have any sort of familirarity with RAID prior to starting work on Elephant, but by the time Christian and I were done I'd learned about the different types of raid (Namely 5 vs 10).
  2. -Familiarizing myself with Logwatch and Nagios, at least enough to be able to get them up and running. (As a general tip, always install sendmail with logwatch. It will make your life a lot easier.)
  3. -Setting up and managing sd* devices through the command line
  4. -assigning a static IP address to a Debian machine
  5. -Managing SSH keys for multiple users across multiple servers, using a shared key system for the automatic backups
  6. -Setting up cron jobs. I'd never even heard of Cron before diving into this project, and the ability to schedule an event to happen on a set interval of time is incredibly nice.


Now that all is said and done, Elephant has been properly setup, connected to external storage, and is quite happily accepting daily backups from six servers. It's already connected to more servers than it was before it went down, and if you're currently maintaining a server whose information you want backed up regularly, get in touch with me and I'll show you how to work the script required for it. The setup documentation is currently being written, and can be found on The Wiki. It will be finished within the next day or so.

The second project that I've been working on that has been completed but needs its powerpoint to be finished is my Linux Power Effeciency project. The project is something that I've been curious about for a while, and I ultimately decided that I would perform some investigations and provide a write-up for the labs: just how much more effecient is Linux than Windows when it comes to battery performance?

As you can see in the Libre Office Impress file, the answer is quite significantly! This project will also be seeing a few updates over the next day or two until it hits final status, but all of the data has been taken and graphs have been made, it's just a matter of making it presentable. The big things to take away from this one:

  1. -Linux is INCREDIBLY power effecient compared to Windows. In fact, with both idling and web browsing, Linux achieved 2x the battery life.
  2. -The improvement of battery life with 3D accelerated apps isn't very significant between platforms, likely due to nvidia's proprietary drivers
  3. -Arch Linux, due to the nature of its installation process, often doesn't have as many processes running as Debian does, which is likely the reason it's more battery effecient.
  4. -Desktop environment does factor into how much battery is consumed! XFCE is more power effecient than Cinnamon for example, even if the change is only ~6%.

The last important thing worth mentioning is that I helped to run the PC building workshop that took place in the labs not too long ago. Half-way through the build the people that originally had been running it had to leave,and so I took over with Eric Richter. It was the first experience I've ever had with running a workshop, and it was actually pretty fun! Helping to teach people the right way to route cables and actually get parts put into cases was interesting, because I've never had to try and walk someone through the process before, and the troubleshooting that took place afterward was equally so. The actual process of getting everything up and running after the fact was a task that I took on pretty much by myself, although Christian handled remounting the heatsinks when it was needed.

The most interesting part of the process for me was getting to work with the Biostar BIOS throughout the troubleshooting process. They have a small LCD panel that displays BIOS checkpoints, where other motherboard manufacturers will only use speaker beeps or LEDs. Because of this it makes it pretty easy to look into how the checkpoint system actually works, and the order in which attachments are checked. By default, these motherboards also underclocked/undervolted the RAM, and underclocked the CPU, so we had to go through every single machine and manually set clocks and voltages. It was quite the experience, and the whole event lasted around seven hours for me.

Links:

The COSI Wiki

Libre Office Impress file on Linux Power Effeciency