Linux, Clusters & Sysadmin Fun

My personal notes converted into a blog.

Installing Fedora 20 on Asus Chromebox-M004U

A couple weeks ago, I received my new Asus Chromebox from Amazon. If you haven’t heard of the Chromebox, it’s basically a tiny x86_64 desktop machine with a Celeron processor (well, this model is, anyway. There are others).

Its specs are pretty modest, but that’s really the point. It’s designed to be a lightweight system, primarily for use with a web browser, which also makes it a good thin client for streaming media to your TV. And the cheap, low-power hardware is very economical, at just $159.

So it’s a desktop system, that I can install Linux on, for under $200? I had to give it a try. I had been wanting a cheap, hackable, open-source HTPC. And I thought this would be just the thing.

Read More →


Fedora 18 Steam install, with TF2 benchmarks

Yesterday I had one of the best OS install experiences in recent memory. You’ll never guess which distro… Fedora 18?! I know, I expected a lot of pain and awfulness after all the reviews I’d read. Maybe it was the fact that I used the LXDE spin, but for whatever reason it worked perfectly out-of-the box, and was quicker and easier than installing Windows 7 with Steam. The biggest surprise was that my game ran better in Fedora than in Windows!

Completely counter-intuitive, right? Well, I figured I had such good luck with it, that I’d share with you the fastest and easiest way yet to install Steam.

Read More →


Creating a PXE LiveCD Environment

This quick tutorial will show you everything you need in order to make a PXE live environment. This livecd environment is useful for testing, diagnostics, data recovery, system imaging and more. For details, check out the SystemRescueCD project that this is built on.
The sysresccd is loaded with handy sysadmin tools that you can’t find in a regular installer’s ‘rescue’ mode. I’ve been using it since 2006, and I still consider it to be one of the most useful tools in my sysadmin toolbox. That’s why I like to make it part of my PXE menu.

Read More →


Driving Across the US

This post doesn’t really fit in with the rest of my blog, but technology and persuit of an open source dream are what lead me on this little adventure. When I was given an opportunity to work for Red Hat, a global leader in enterprise server software, I packed my things and was on the road within a week. I was fortunate enough that my fiance, Jake, understood my passion when it came to my career, so he was there by my side even as I drove across the continent like a crazy person.

The map below outlines the road trip I took with Jake in the past year, from Alaska to Massachusetts. It was split up into two separate trips, one to Oregon, and the other to Massachusetts.


We traveled more than 7,366 miles, over the course of two weeks (total travel time). Our route included some major detours, like stopping in the Silicon Forest to do some contract work for Intel (before I got the Red Hat job), then some more scenic detours like the Grand Canyon, on our way to Massachusetts.

Here are some still pictures from my Picasa:

And here is a time-lapse video of the entire drive from Oregon to Massachusetts.



Building a Load-Balancing Cluster with LVS

This article is part 3 of a series about building a high-performance web cluster powerful enough to handle 3 million requests per second. For information on finding that perfect load-testing tool, and tuning your web servers, see the previous articles.

So you’ve tuned your web servers, and their network stacks. You’re getting the best raw network performance you’ve seen using ‘iperf’ and ‘netperf’, and Tsung is reporting that your web servers are serving up 500,000+ static web pages per second. That’s great!

Now you’re ready to begin the cluster install.

Read More →


Tuning Nginx for Best Performance

This article is part 2 of a series about building a high-performance web cluster powerful enough to handle 3 million requests per second. For this part of the project, you can use any web server you like. I decided to use Nginx, because it’s lightweight, reliable, and fast.

Generally, a properly tuned Nginx server on Linux can handle 500,000 – 600,000 requests per second. My Nginx servers consistently handle 904k req/sec, and have sustained high loads like these for the ~12 hours that I tested them.

Read More →


How to Generate Millions of HTTP Requests

This article is part 1 of a series about building a high-performance web cluster powerful enough to handle 3 million requests per second. This first article describes my limited experience with a few load generator tools, and will hopefully save someone the time of having to stumble through each one like I did.

Read More →