Installing VMware ESXi on Mordor

The first step in my Mordor 1.0 –> Mordor 2.0 project is installing VMware ESXi on the server, which I describe in detail in this post.

As I mentioned in the project page, Mordor: My Home Server, after having a dedicated unRAID server up and running for the last year or so, I wanted to better utilize all this hardware by turning it into a mean-VM-machine.

The game plan:

  1. Upgrade Mordor CPU to something more VM-server-worthy.
  2. Install VMware ESXi Hypervisor 5.1.0 on a USB flash drive.

Sounds simple, but the devil lies in the details…

Of course, before diving into tweaking and messing around with Mordor, I made a backup of unRAID, removed the unRAID USB flash drive from Mordor, and disconnected all the NAS data HDs.

CPU Upgrade

If you take a look in the previous post about the dedicated unRAID server, you might notice that I used Intel G850 CPU, which is nice and just fine for running just unRAID, but not sufficient for a VM-machine.

So an opportunity showed itself recently, when I purchased a small desktop PC (someday to be used as a dedicated HTPC, but until then it’s a general-purpose desktop). The default spec of the HTPC consisted of some basic Intel i3 CPU, but had an optional upgrade to Intel i5-3550 (Ivy Bridge!) increase the cost only marginally, and I figured a dedicated HTPC could do with the simpler G850, so I went for the upgrade, thinking I would swap CPU’s between the server and the HTPC (both are socket LGA 1155, so what could go wrong?).

Let the swapping commence:

  1. Take apart the HTPC computer:
    1. Open the case.

    2. Remove the DVD bay.

    3. Unscrew the CPU fan thingies.

    4. Remove the CPU fan.

    5. Open the CPU cage.

    6. Remove the CPU.

  2. Take apart Mordor:

    1. Open the case.

    2. Remove the fins securing the fans to the heat-sink of the Noctua NH-U12P SE2.

    3. Remove the fans.

    4. Unscrew the heat-sink base from the mother board (WARNING: later I realized that that was a mistake! I should have removed the heat-sink without removing the base!).

    5. Remove the heat-sink (and base.. 🙁 ).

    6. Remove the CPU (no pic here, it’s the same as before).

  3. Reassemble the HTPC computer:

    1. Install the G850 CPU.

    2. Install the fan and heat-sink.

    3. Power up.
    4. Watch as the system detects the changed CPU, boots into Windows, and reinstalls various drivers to match the changed hardware.
  4. Reassemble Mordor with the new CPU:

    1. Install the CPU in its socket:

    2. Fix the mistake I did when removing the heat sink…

      I removed the heat-sink along with its base (AKA the “mounting system”), so when I tried installing it back I couldn’t get it in correctly. After several attempts, I looked up the instruction manual online and realized I should have removed the heat-sink from the mounting system.
      So, with the entire thing out, I removed the heat-sink from the mounting system, installed the mounting system separately, and then installed the heat-sink on the mounting system.

    3. After that I was able to put the fans back on, and secure them in using the fins.
    4. Power up Mordor.

      1. Shit. It doesn’t boot. The Mother Board beeps in pattern of 5 short beeps. Don’t know what 5 short beeps means…

      2. My theory: The i5-3550 is newer than Mordor’s Mother Board (ASUS P8Z68-V Pro), so maybe the Mother Board doesn’t support it out-of-the-box (or at all?).

      3. Check ASUS support online and see the i5-3550 is officially supported starting BIOS version 3203.
      4. But what version do I have? If I can’t boot, I can’t check my version…
      5. Little sanity test – version 3203 was released on Feb 27 2012, and the server was purchased on Sep 2011… Errr. Why didn’t I check this before?!
      6. So…
  5. RESWAP CPU’s to check and update BIOS 🙁

    1. Boot Mordor with the G850, and discover it’s running BIOS version 0501:
    2. So download the latest BIOS image from the ASUS support site (version 3402), extract the ROM file from the ZIP, save it to a USB flash drive, and plug the flash drive to Mordor.
    3. Boot Mordor into BIOS setup, and launch the EZ Flash Utility:
    4. Backup the current BIOS image (just in case…):
    5. Select the 3402 ROM file and load it.
    6. Behold the updated BIOS! (after several rounds of rebooting)

    7. Now I can change back from G850:
      to the i5-3550:
    8. Enable virtualization:
    9. Hurray! 🙂
Checking BIOS version compatibility before upgrading the CPU could save hours…

OK, that was harder than it should have been…

Hope the next part goes smoother!

Installing VMware ESXi 5.1.0 Hypervisor

Now that Mordor has new shiny hardware, and virtualization-ready CPU, it’s time to install the host software.

I am aware that there are plenty of virtualization solution around other than ESXi (e.g. Xen Server, Windows Hyper-V just to name 2), and I must admit I didn’t fully research all possible options before going with VMware ESXi.

The main reason I decided to go for it is the availability of a very detailed and thorough “testimonial” from the unRAID Server Community user Johnm about his virtualized unRAID server (ATLAS).

My steps:

  1. Prerequisite: Make sure I have enough USB flash drives available for everything (e.g. unRAID boot device, ESXi boot device, ESXi installation media).
  2. Download the installation ISO of vSphere Hypervisor from the VMware website.
  3. Create installation media from the ISO (e.g. burn it to CD). I used UNetBootin to create a bootable USB flash drive from the ISO (why waste a CD? 🙂 ).
  4. Boot the server from the ESXi installation flash drive:
  5. Boot into the ESXi installer:
  6. The installer loads and does stuff:
  7. But then it fails miserably, crying about No Network Adapters:
  8. WTF 🙁

    1. OK, I know the server has a network adapter, as I’ve been using it for the last year…

    2. I know it’s an onboard NIC. The ASUS P8Z68-V Pro has a Intel 82579 network adapter.

    3. But this NIC is not supported by ESXi 5, according to the VMware I/O Compatibility Guide.
    4. Tried some PCI NICs I found scattered around the house – no luck.
    5. Looking for a cheap NIC to buy ASAP, but can’t find NICs in common-vendor catalogs (KSP, Ivory, Bug, ..) that appear on the compatibility guide 🙁
    6. With some help from a friend (h/t erang), located an Intel NIC (EXPI9301CTBLK) sold by WellCom, that has the Intel 82574L chipset, which appears on the compatibility guide!
    7. So I ordered one, and waited two days for the delivery.
    8. The NIC is PCI-E, so I installed it in a randomly selected free PCI-E slot (PCIe_2).
    9. But I got the same error during ESXi installation…
    10. So I tried booting random stuff (from my multi-OS-USB-Bootable-Flash-Drive), and noted they detected the onboard NIC, but not the new one.
    11. So I tried moving the new NIC to PCIe_1, and voilà – all well.
  9. Now I could go through the entire installation process of ESXi, with the SanDisk Cruzer Blade 4GB as the target device.

  10. After completing host installation I set the home router DHCP to assign a static IP address to the Mordor MAC address:

  11. On a desktop PC, install vSphere Client, and login to ESXi server.

    1. There’s not much that can be done from the host console.

    2. Most management of the host machine is done via the vSphere client.

  12. Configure ESXi server licensing (even for the free version):

    1. In vSphere, navigate to the Configuration tab of the ESXi server, select Licensed Features, open the Assign License dialog by clicking the Edit… link:
    2. Select Assign a new license key to this host and enter the free license key received when registering to download the hypervisor:
    3. Confirm and savor your licensed status:
  13. Here’s a screenshot of the vSphere summary page after installation is complete, license assigned, and before setting up datastores and virtual machines:

  14. Set up datastores:

    1. Shutdown the ESXi server (from vSphere client), and connect the intended ESXi datastore drives (not the NAS drives!). I plan to use, for now at least, my 64GB Patriot SSD, and my 250GB Maxtor mechanical drive.

    2. Power up and verify the drives are detected by ESXi:

      1. In vSphere, navigate to the Configuration tab of the ESXi server, select Storage, and activate the Devices view.

      2. There should be as many entries in the Devices list as physical drives connected.

      3. Initially, I had trouble with this:

        1. The ASUS P8Z68-V Pro mother board has 2 onboard SATA controllers – a 6-port Intel controller (Cougar Point 6 port), and a 2-port Marvell Technology Group Ltd. 88SE9172 controller.

        2. Unfortunately, I could not get ESXi 5.1.0 to successfully detect drives on the Marvell controller (which is a shame, as both ports are 6Gb/s), so I had to figure this out, and revert to using only the Intel Cougar 6 controller (which has 4 3Gb/s ports and 2 6Gbp/s ports).

        3. This also caused issues later on, when I wanted to use VT-d DirectPass I/O passthrough to allocate the NAS drives to the unRAID VM, but I will not go into it here and now.
    3. Once the datastore drives are detected, proceed to configure them as datastore drives, by launching the Add Storage wizard by clicking the Add Storage… link when in the Datastore view.
  15. That’s it. The ESXi server is ready for virtual machines!

Summary

This wraps up this already quite long post about just installing VMware ESXi on Mordor, and getting it ready for VMs.

The post covered all the way from bare-metal hardware (and hardware upgrade adventures), through ESXi installation, up to a fully configured ESXi server with datastore disks ready for virtual machines.

From here you can go back to the Mordor project page, or move on to read about setting up unRAID as a VM on Mordor ESXi.

3 Comments

Leave a Reply