February 11, 2017

Low Powered Cluster Project Part 2

HDMI Dummy Plugs

I ran into a very peculiar problem. Sometimes, I would restart these machines and they would not boot back up. I’m going skip listing everything I tried when trying to figure out the cause of the problem. Turns out that a monitor is required to be attached when booting in UEFI mode (as opposed to legacy BIOS mode). Without a monitor, the machine will not POST.

I wanted to stick with using UEFI because that’s the modern standard so I had to figure out how to have a monitor attached when the machines booted. Or I could not ever restart the machines… but the first option seemed more practical.

I remembered an old trick dating back to the early Bitcoin mining days. You could insert three resistors into a DVI to VGA adapter when you plugged the contraption into a DVI port, the computer would think it had a monitor attached. The three resistors essentially simulate a monitor. This allows you to run software that requires a monitor without actually having a monitor attached. The computer “detects” a monitor though.

My computers don’t have DVI ports, so I purchased four HDMI to VGA adapters ($3.50 each) and twelve resistors. I looked up what pins the resistors go into and added heatshrink around the resistors to prevent shorts, and finally I used tape to secure the bundle of resistors to the adapter.

I wasn’t expecting this to work, but it did. It worked perfectly. I have had no problems since adding these adapters.

Software

I feel like I have this project mostly finished in terms of hardware. I still don’t know what I’m going to be doing with these machines software-wise yet. So in the meantime, I have decided to just install Debian Jessie on them. So I hooked up each one to an actual monitor and installed it from a flash drive.

My initial ideas are setting them up with Kubernetes and having them do something(s). I also considered Docker Swarm. I also considered read about using Ansible or SaltStack to work with them. This is all completely new to me, so I have some learning and reading to do.