(Warning. This is a quite complex article that requires fairly sophisticated sysadmin/unix-skills. If you don’t have this, this article will probably make you really confused.)
Often when working for small companies, the IT-budget is very limited. Therefore you can probably forget about those awesome gadgets you drawl over in the sysadmin-magazines. Well, I’ve been working like this for years. Running Linux or a similar open source operating system on the servers is a good start in cutting costs, but there’s more you can do.
One of the companies I work for is located on the other side of the world (literally), which makes it hard to access the servers physically. SSH works fine most of the time, but what happens when you have a network error? Maybe the server fails to boot up properly after a power-failure, or maybe you messed up the network-settings and locked yourself out.
If you’re on an unlimited budget this is not a big problem. Then you just order one of these fancy $7,000 IP-KVM switches and this problem is long gone. But what do you do if you don’t have that money to spend on such equipment?
Here’s two different solutions that will work (almost) as good as an IP-KVM, but it takes a bit more work for you as a sysadmin. Remember, all these solution are based on the assumption that you only have Unix/Linux servers in your farm.
Option 1 – If you can afford spending $250-$350 per server.
There is a really nifty product available that is called PC Weasel. This product looks like a graphic card (PCI or ISA), but with a keyboard connector on the outside, and instead of a VGA-connector you’ll find an RS-232 (serial) port. So what this product does it that it emulates a graphic card, but spits out all the graphics to an RS-232.
What this enables you to do is to hook up a null-modem to either a computer or an RS-232-server (such as the ones available here (note that some of the RS-232-servers have SSH-support, making it almost identical to a real IP-KVM-system)). With this all hooked up, you can simply just connect to the serial-port on a different computer and you would see the same as you would see on a regular monitor. You can even access the BIOS – which is the biggest advantage with this solution.
Option 1 or 2 with a RS232-switch.
Option 2 – If you’re really on a tight budget.
This is what I ended up doing. I didn’t feel like paying the $350 or so per server, so I went for the budget solution – plain null-modems.
This solution will take you some more time to get running (if you’re not a hardcore unix/linux expert), but will cost you close to nothing. Once again, this will only work in a unix/linux environment.
The trick here is that we will be using the Linux-kernel’s (or BSD-kernel) serial-console feature to output to a null-modem. It’s not that complicated, but I’m not going to go into details in this post. You simply compile the serial-console module into your kernel, add some settings to your bootloader and your inittab and you’re set.
You can either do this between two servers (and take a chance that they won’t break at the same time), or you can dedicate an old box to be your RS-232-server. You can then just SSH into the box that is receiving the signal and use minicom to control the other box. Note that the big disadvantage with this solution is that you cannot control the servers on BIOS-level. However, it costs you close to nothing, and it will give you more control over the server than with regular SSH.
Option 1 or 2 without a RS-232 switch.
If you have more than two servers, you can build a chain-like system where server one is connected to server two, server two to server three etc., until you close the circle.
For further research I’d recommend the following sources:
Linux Serial Consoles for Servers and Clusters
Remote Serial Console HOWTO
Author: Viktor Petersson Tags: guide
, open source