Rob Krten's Server Room

Here are some pictures of my server room (at the old house, new pictures at the new house will be coming at some point), along with some explanations.

The back of the machines

Server Room
Server Room

The first thing you'll probably notice about the server room layout is that all of the machines are facing "backwards". This is, in my opinion, about the only way to actually organize things. These are, after all, servers, and their main job is to stay up (and not be opened, fed disks, etc). Almost never do I actually load software onto the servers from the front — most of the software upgrades are done by logging in over TCP/IP (telnet/ssh/ftp) and downloading new builds of things.

The second thing you might notice is that all of my keyboards are genuine IBM PC/AT keyboards :-) When I go out on contract, I bring a genuine IBM PC/AT keyboard with me, much to the annoyance of my co-workers.

Wiring up the servers is what occupies the most real estate and time. On the ceiling of the server room are a series of oversized hooks, similar to "cupholder" hooks.

Wiring Detail

Wiring Detail
Wiring Detail

The wiring to/from all the machines is suspended from the ceiling. The hooks are slightly bigger than the standard "cupholder" ones, but you can still buy them at the hardware store for around a buck each — they're great for cabling! There's a Netgear 8-port 10/100 Mbit hub on top of the middle machine. Also, shown below, is the BIX-block connection that runs through the basement. It's a 50-pair cable.

The machines

The machines are, left to right, QNX 4 node 1, QNX 4 node 2, and OpenBSD. The OpenBSD machine serves as the gateway, and manages the interface to the Alcatel ADSL modem (on top of the OpenBSD machine). The internal network is connected between the three machines (pictured) and my desktop (not shown, a dual Pentium II running at 350 MHz). The internal network is 100 Mbit ethernet.

QNX 4 Node 1

The machine on the left, QNX 4 node 1, is responsible for storing all the data and applications for my network. It currently features 2 120GB hard disks, with triple-redundancy backup. By that I mean that there are three copies of everything (well... everything that's important) on the disk. Disk 1 contains the master working copy. Disk 2 contains two backup partitions; one is an hourly "snapshot" of changed files, so that I can recover files up to one week old on an hourly basis, and the other backup is a mirror. There's also a "TBD" (To Be Deleted) directory that catches anything that's been removed from the master working copy. This is kind of like a "last chance" recovery system. This gets purged (manually) whenever I am really sure that I don't need the data.

Node 1 is currently a Pentium III running at 733 MHz with 384MB of RAM and 240GB of hard disk.

QNX 4 Node 2

Node 2 handles the telecommunications activities, TV display, and music. Shown below is the Mitel SX-20 PABX (it's off to the right of the OpenBSD box). Node 2 captures the SMDR (Station Message Detailed Records) as well as the CLID (Calling Line ID) from the two phone lines. This all gets archived. Telephone numbers are looked up in a reverse-lookup database, and the name, address, and any other information (like "TELEMARKETER — IGNORE") is stored in the logfile.

BIX Connector

The BIX Connector
The BIX Connector

Node 2 also has an ATI graphics card with NTSC video output. This is routed upstairs into the TV's auxiliary input. What gets displayed is the caller ID and the reverse lookup (so I can see when a telemarketer is calling while I'm watching a movie) and various system statistics, along with the current song that's playing. Node 2 plays random songs from the MP3 library via the following commandline:

find . -type f -name "*.mp3" | random | xargs -i "echo {} >/dev/ttyp0 ; mp3_decode {}"

Ahh the joys of command-line tools! :-)

Node 2 is currently an AMD Athlon 1.3 GHz with 512MB of RAM and 36GB of hard disk.

OpenBSD Gateway

The OpenBSD gateway is responsible for doing the PPPoE ADSL thing. It has three ethernet ports (a dual Tulip card and a single Ethernet) running at 100 Mbits.

The OpenBSD box is currently a Pentium II running at 166 MHz with 32MB of RAM and a tiny 1.6GB hard disk.


On the picture below, at the bottom, is a big honkin' UPS. I got this UPS surplus for CAD$100, and it's connected to three car-battery-sized gel-cells. The UPS powers the three machines for well over 2 hours — I've never actually tested it to see how low it can go (it's not good for the batteries), but based on the drain rate, it looks like it would go well over 2 hours. The longest I've run off batteries is 1.5 hours, and the batteries still had well over 50% capacity at that point (I shut everything down after the 1.5 hours).

UPS Detail

The Server Room UPS
The Server Room UPS

You'll also notice four powerbars (these are connected to the UPS via the yellow power cords). There's one powerbar marked "RAW AC", two marked "BACKUP (ON)", and one marked "BACKUP (OFF)".


The "RAW AC" powerbar is connected to the incoming AC from the local utility company. This powers things that are non-critical — currently the laser printer and a modem. The idea is that if I lose power, I don't really care about being able to print or use the modem (the modem is only used to interface to the PABX — it's been a few years since I've actually used the modem to "dial out" to the PSTN (Public Switched Telephone Network) — the Internet is just that much more well-connected).


The "BACKUP (ON)" powerbars are connected to the UPS. This is what powers the three machines, the ADSL modem, and the PABX. These are things that I feel I "need" to have operational even in a loss-of-power situation.


Finally, the "BACKUP (OFF)" powerbar powers things that are normally left off. These are the two monitors for the machines — in the event of a power failure, I don't really "need" to have the monitors on, but it's nice to be able to power them in case I feel that the power outage will be "really long" and I want to do a graceful shutdown (this has only happened twice in the entire history of the UPS).


Of course, half the fun of running a server room is that you can get your friends to come over and help you with the setup. Here's a picture

Kirk Russell in the Server Room
Kirk Russell in the Server Room

of Kirk Russell (well, the back of his head, and a Cisco T-shirt, anyway) configuring the OpenBSD gateway.