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.
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.
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.
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.
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.
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.
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.
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.