Yesterday I wrote about how I’d been looking to create a server that didn’t consume too much power to run my home infrastructure and finally settled on a mini-ITX solution. This post continues the theme, looking at the assembly of the unit, installation of Windows Server, and finally, whether I achieved my goal of building a low-power server.
As I commented previously, it’s been at least 10 years since I built a PC from scratch and it’s still a minefield of connectors and components. I took the Travla C158 case and Intel D945GCLF2 board that I had purchased and added 512MB of DDR2 RAM and a 250GB Seagate Barracuda (ST3250620NS) that were not being used in any of my other machines. I didn’t fit an optical drive, electing to use a USB-attached one for setup (more on that in a moment) and the case also has a slot for a card reader, which I really should consider filling (or blanking off).
With all the components ready, this is the process I followed:
- Open the top cover of the case.
- Remove the media drive and hard drive holders.
- Fix the hard disk to its holder and refit.
- Fit the gasket that surrounds the various ports (supplied with the motherboard) to the case
- Fit the motherboard and PCI riser.
- Fit a blanking plate for the (unused) PCI card slot.
- Install some DDR2 memory in the motherboard’s single memory slot. Unfortunately the module that I used does not have a low-enough profile to allow the media drive holder to be refitted, so I’ll be looking for some more (512MB isn’t much for a modern operating system anyway).
- Connect the case fan to the jumper on the motherboard.
- Connect the side panel audio ports to the motherboard (the labelling on the connectors did not match Intel’s instructions for the motherboard but I followed Gabrielle Torres’ Hardware Secrets article on installing frontal audio plugs – sound is not really a concern for me on a server).
- Connect the front panel connectors to the motherboard, using the pattern shown in the instructions (noting that the case I selected doesn’t have a reset button, so pins 5 and 7 are not connected)
- Connect the side panel USB ports to the motherboard (single jumper).
- Connect both the power jumpers (2×2 and 2×10) to the motherboard.
- Connect the SATA hard drive power and data cables (the data cable was supplied with the motherboard, along with an IDE cable that I did not use)
- Install the mounting kit, ready to fix the PC to the wall of my office (I also considered placing it in the void between the downstairs ceiling and upstairs floor… but decided it wasn’t really necessary to bury the machine inside the fabric of the house!).
- Check that the BIOS configuration jumper block is set to pins 1 and 2 (normal) and refit the top of the case, then boot the PC.
- Press F2 to enter the BIOS configuration utility and change the following values:
- Set the date and time (on the Main screen).
- Under Boot Configuration on the Advanced screen, enable the System Fan Control.
- On the Power screen, set the action After Power Failure to Power On.
- On the Boot screen, ensure that Boot USB Devices First is enabled.
- Connect a DVD drive and boot from a Windows setup DVD.
I did manage to boot from my DVD drive once; however I had left the wrong DVD in the drive and so I rebooted. After rebooting I was unable to get the PC to boot from the external DVD drive (a Philips SPD3900T). I tried different USB ports, I changed BIOS options, I even reset the BIOS jumper to pins 2 and 3 (which provides access to some extra settings in the BIOS) but nothing worked, so I configured a USB thumb drive to install Windows Server 2008 R2Â and that booted flawlessly. I later found that Windows didn’t recognise the DVD drive until I had reset its power (which may also have resolved my issues in a pre-boot environment); however it’s all a bit odd (I hadn’t previously experienced any issues with this external DVD drive), and I do wonder if my motherboard has a problem booting from USB-attached optical media.
The Windows Server setup process was smooth, and all of my devices were recognised (although I did need to set the screen resolution to something sensible, leaving just the configuration of the operating system and services (adding roles, etc.).
With Windows Server 2008 R2 running, I decided to take a look at the power usage on the server and it seems to tick over at around 35W. That’s not as low as I would like (thanks to the Intel 945GC chipset – the CPU itself only needs about 8W) but it’s a lot better than running my Dell PowerEdge 840 all day. There are some other steps I can take too – I could potentially reduce hard disk power consumption by replacing my traditional hard drive with an SSD as the the Barracuda pulls about 9W idle and 12W when seeking (thanks to Aaron Parker for that suggestion). It may also be that I can do some work with Windows Server to reduce it’s power usage – although putting a server to sleep is probably not too clever! A brief look at the energy report from powercfg.exe -energy indicates that the USB mass storage device may be preventing processor power management from taking place – and sleep is disabled because I’m using a standard VGA driver (vgapnp.sys). Microsoft has written a white paper on improving energy efficiency and managing power consumption in Windows Server 2008 R2 and this blog post from the Windows Server Performance team looks at adjusting processor P-states. It may be some time before I reach my nirvana of a truly low-power infrastructure server, but I’ll write about it if and when I do – and 35W is still a lot better than 100W.