Saturday 15 June 2013

Home ESXi Server - Proof of concept

So I decided prior to shelling out for new hardware for an ESX host that I'd try to get ESXi running on my existing hardware (a Core 2 quad process Q6600 based system). Turned out to be easier than I expected!

I decided to go down the route of installing the ESX image onto a USB drive (using the ESX appliance OS rather than installing ESX on a full host OS). I downloaded the iso, put it on a disk, stuck a USB in the back of the machine and I was away... The install failed when it came to detecting a NIC - which is understandable given it was a Atheros onboard network controller - not exactly the sort of hardware I imagine an enterprise OS would expect to encounter.

This temporarily stumped me and I got busy on other things for a week or so... Anyway last night I decided to do some more investigation. I found that there were a surprising number of other people trying to use the same sort of hardware, and fortunately someone had put together a VIB for the driver for the Atheros network controller that was on my motherboard. With some handy instructions (which I'll find again and post up here) I was able to create a custom ISO with the injected driver and have another go.

Long story short - great success.

The install no longer failed at the point of detecting a NIC and went on to let me start the install to the USB drive - below is a picture of the install screen where you can set the relevant install device (Remember that if you are installing to a USB stick you'll need to make sure that it's set as the primary boot device in bios before you try to boot off it).


I selected the flash drive and continued - during the install I got a warning that Hardware Virtualisation is not a feature of the system or enabled in bios - it lets you continue the install though.

First time during the install it had an IO error at 74%, second attempt and it installed... I rebooted the system and booted off the flash drive, all was going well until it had a "buffer too small" error loading one of the system files. A quick google indicated that this was likely to be an error with the install media - I checked the MD5 checksum of the original ISO and that was fine, then I recorded the injected version of the iso and then went through the injection process again. Interestingly the MD5 of the new ISO was different to the old one. I'm not sure whether this is because the injection process doesn't necessarily do things in exactly the same way every time or because there was actually an issue the first time. Anyway I burnt this new ISO to a CD and tried again. I also swapped to a new USB drive as I wasn't sure whether it was possible the drive failing and causing random IO errors. Anyway - this time the install went faster (so I suspect the first USB stick was bad) and everything ran a dream - a few minutes later I was booted into ESX host :-)


As you can see here I didn't actually have the machine plugged into the network at this point - anyway - today I plugged it in, booted it up and accessed it across the network. I downloaded the vsphere client and installed it (after putting a Windows 8 VM on my Macbook Air) and what do you know - everything seems great. I've got to buy some new disks before I can go installing clients etc, but this is definitely looking like a great option.

I know that using the free version of ESXi I miss out on a lot of the enterprise features but given that I don't want to run or manage multiple ESX hosts and given I don't really have any desire to do any fancy pass-through type stuff I don't think it's going to be any major limitation for me...

Anyway - more to come :-) 

Tuesday 4 June 2013

Home ESXi server

So,

I'm currently pondering the idea of building a home ESXi server. When I first had the thought it sounded like total overkill - however the more I think about it the more I think it might be a good idea.


The primary driver is having had 3 data disks die in the last 4 years. The yearly stress of recovering data off dying disks is kinda getting to me, so some sort of RAID'd / High Availability storage is a key requirement for me... This is all very well, however it's a pain to have some other aspect of hardware kark out as well. In the last few years I've had two motherboards die - and rebuilding servers is a bit of a mission. So why not solve both of these issues with ESX. High availability disk + VM servers which can easily be brought back up on new ESX hardware (I'm not wanting high-availability servers so I don't need multiple ESX hosts, it's more about the ability to easily stand the virtual environment back up once the hardware is fixed).

I've been looking at a few sites that have articles on the topic - namely:

http://thehomeserverblog.com/esxi-lab-specs/
http://www.techexams.net/forums/virtualization/78434-bulding-esxi-home-server.html

Now to be honest some of what they are doing is more than I really need - I don't plan on virtualising user machines - only server instances, and they really aren't going to be hardware intensive enough to require some of the more advanced features of ESXi, so I'm going to keep things simple and cost effective I think.

The server's I'll want to run are:

 - File Server + iTunes Server
 - Open Directory Server
 - Web Server

Plus the ability to easily stand up VM's for development etc. So definitely not anything hardware intensive. I'm planning on using something along the lines of the following for hardware:

CPU: Midrange i7 processor
RAM: 16GB
MB: Something that has onboard LAN and SATA Raid that is supported by ESXi
HDD: Lots of standard SATA disk (2TB 7200rpm probably as that seems to be the best price point at present)
Network: the onboard LAN plus Intel NIC's (which I'll get second hand off ebay as it's about a trillion times cheaper than buying new in NZ)

I've tried installing ESXi on my current server hardware (an old desktop) and it only failed on the lack of an Intel NIC so I'm not forseeing any major issues.

Anyway - as you can probably tell I'm in the early stages of considering this - much planning still to be done.