Blog

New Home Server Setup

As I mentioned briefly in a previous post, my home server is in desperate need of an update. Last weekend I took the plunge and bought the hardware necessary to build a replacement.

I don’t need anything especially powerful – the chief function of this device is as network-attached storage – but I do want room to grow and do things with this new server that weren’t possible with the hacked pogoplug device I was using previously.

image

I bought a Celeron-powered Intel NUC, a 750gb harddrive, 8gb of RAM and an 8gb USB drive. My intent was to use the 8gb drive as the boot device, keeping the harddrive entirely free for storage purposes.

I chose the Intel NUC primarily because of its small size and low power consumption (it uses a particularly small amount of electricity with the Celeron processor in the model I opted for). I’m a big fan of this platform though, and when the time comes to replace the media-centre PC that lives underneath the TV in our living room I will probably buy another one of these. That said, the platform is not not without its problems. Read on, to learn how I set mine up.

Hardware Installation

First things first is hardware installation, and this was especially simple. You remove four screws from the base of the computer and the lid slides off. Inside you’ll find a metal chassis for the 2.5” HDD, and you lift that out to revel the motherboard.

image

In my model of NUC there’s a single SODIMM slot for the RAM, so I slotted that in. Next up is the HDD itself. The chassis includes brackets to hold the drive in place and the power and data connectors are already positioned. The drive just slots in, and you insert a couple of screws to hold it in place.

image

And that’s really all there is to it! You put the cover back on, and tighten the four screws on the base of the unit. Done.

BIOS Update

The first thing to do is update the system’s BIOS, and this really is an essential step. This thing comes with Intel’s visual BIOS, and the version it ships with has some issues.

image

Updating isn’t difficult: Head on over to Intel’s website, download the latest firmware and put it on a USB drive, boot into the BIOS and hit F7.

Even with the latest version installed, the BIOS is where this thing falls down, in my opinion. If you’re planning on installing Windows 7 or 8 on this thing then you probably won’t run into any problems. My plan was to install an alternate OS though, and I ran into a whole bunch of issues. I believe this was because of bugs in the BIOS and its implementation of EFI, but I don’t know enough to say this for sure.

Software Installation

My plan was to install vSphere Hypervisor and use this thing to host a couple of virtual servers. vSphere has a hardware compatibility list and none of my hardware is on it, but I’d done some reading and learned that I could slipstream drivers for the HDD and network card into the install. Nevertheless, I never did manage to install vSphere – the install just froze every time and I couldn’t get through it no matter what I tried.

The next hypervisor I tried was Proxmox VE. The install completed just fine, but I couldn’t get the server to boot. While the problems I had with vSphere may well have been in relation to my use of unsupported hardware, I firmly believe my problems installing Proxmox were related to the BIOS, or at least an incompatibility between the EFI implementation in Proxmox’s version of the Linux kernel and the BIOS’ EFI implementation. I never did manage to get this working either, except for briefly with a cludgy workaround involving booting from a live-CD and entering the relevant commands to make GRUB boot the OS installed on the HDD instead.

After a day of frustration and failed attempts to install an OS, I moved on to my third VM hypervisor, oVirt. With vSphere’s proprietary solution the OS and the hypervisor are closely intertwined. It’s possible to install Proxmox on top of an existing Debian install, but it’s not the recommended way of doing things and the process seems complex. oVirt, by contrast, seems to have been designed to be installed on top of an installation of CentOS. An all-in-one install image is offered, but after the previous day’s failures I didn’t even bother with this – I did a (successful!) minimal install of CentOS and then used the yum package manager to add oVirt on top.

With the hypervisor up and running, I used the web-interface to install Ubuntu Server into one VM and Windows Server 2008 into another. I plan on adding two more virtual machines, one Linux and one Windows, for testing and playing around.

image

Blog

Home Server Refresh

I get paid every other Thursday, or 26 times a year. That mostly means I get paid twice a month, but twice a year there’s a month where I get paid three times, and this is one of those months.

Since a big chunk of our expenses are monthly, getting paid three times in a month means I have some extra cash left over to play with, and this month I’m going to use it to replace our home server.

Above is our existing home server. It’s a pogoplug device that I’ve hacked to run debian linux. It’s primary function is as network attached storage for all the other devices in the house, and the box to its right is a 2tb USB hard-drive. It also runs a LAMP stack for development, and some torrent software so it can handle downloading duties without any of the other computers in the house needing be kept on.

It only has 256mb of RAM though, and just occasionally if it’s under heavy load things fall down. The torrent daemon is usually the first victim: sometimes I go to check on the status of a download only to find that the downloading process has run out of resources and shut itself down.

My requirements for a replacement are that it handle all the tasks the existing server does – without the problems caused by the limited memory, uses electricity sparingly, and also gives me room to grow and try new things that I haven’t even thought of yet.

My plan is to replace it with a machine I build based on an Intel NUC.

This thing is a barebones machine (it doesn’t include any RAM or storage in the basic package), but it could be useful for many scenarios (I think it would make a great HTPC, for example) including mine.

I’m going to max it out with 8gb of RAM, and this 32-fold increase over what I have now should allow for a whole host of new possibilities.

I’m going to take advantage of the extra resources by attempting to install vSphere Hypervisor on it and split it into a number of virtual servers. One will be linux-based to replicate the functionality of the existing server, one Windows-based VM, and maybe two extra VMs (one linux, one Windows) so I can separate my playing around from mission-critical server duties.

I’ll be posting more as I work my way through the process.