The Storage Challenge

I’m having some challenges in deciding how to implement my storage. Of course, I could just go to the VMware Whitelist and pick the latest and greatest RAID controller. The same card would cost more than the rest of the system all together and that’s simply not an option. The goal is to get the minimal card to solve my current need and therefor I need to get a good overview of the reasonable solutions.

  1. No RAID what-so-ever
    This method would cost nothing and be quite simple, hardware wise, to implement – Just plug in the drives to the Intel onboard SATA controller. I could create redundancy with some software routines and set up virtual disk images in each datastore. However, if any disk would go down I would have to shut down the entire system and fix the problem.
  2. Pass-through of onboard controller
    This is an interesting alternative. I could pass the entire onboard SATA controller to a single virtual machine. After that I could do software RAID in Linux on some of the drives. However, it’s not possible to just pass a subset of the SATA ports to a VM. It’s all or none ports. Therefor I won’t have any place to put the VM itself. Catch 22…
  3. Hardware RAID
    Intel’s onboard SATA controller is only capable of software RAID which is not supported by ESXi so this alternative needs a competent controller. There are also some options within this alternative.

    • RAID of the entire environment
      The ESXi would only see the storage in whatever way I set up the RAID. This way everything regarding the virtual machines that reside on a redundant drive set would be covered. This is somewhat tempting but I’m not really sure on how to supervise the RAID sets.
    • Pass on the controller to a VM
      Once again, I could pass the entire controller to a VM and then set up RAID at a software level. The positive thing with passing on a separate controller is that I still have the onboard controller to store non important stuff as ISO images and test VMs. Another appealing thing is that the content of the drives would be only the relevant stuff. The OS resides on the datastore connected to the onboard storage and only the important information would be RAIDed.

I have pretty much decided on going with the last option. Perhaps this is one way to illustrate how i intend to solve it:

  • USB Controller
    • USB Drive with the ESXi host
  • Onboard SATA controller
    • 1TB drive with VMs and ISOs
  • PCI-Express SATA controller, passed on to a VM
    • 4x1TB drives setup with software RAID

Installing ESXi 5.1 to a USB drive

I do not have any plans to install an optical drive in this server but I still need to install ESXi from an ISO image to a USB drive. This is one way to do it:

  1. Fire up your favorite virtual environment that can handle the following requirements
    • Assign 2 processor cores to a VM
    • Assign 3GB of virtual RAM to the VM
    • Assign an ESXi supported network controller to the VM
    • Enable hardware virtualization to the VM

    Here are some screen shots from VirtualBox running under Ubuntu 12.04:

    Load the ESXi ISO image to the virtual CD drive

    An overview of all settings

  2. Insert the target USB drive into the host
  3. Launch the VM and press a key to halt the ESXi installer at the following screen

    Right click in the USB icon next to the CDROM icon and select the USB drive.
  4. Finalize the ESXi installation and shutdown the virtual machine.
  5. Move the USB drive to the physical machine and verify that it boots.
    Note: The physical machine must be able to boot off a drive with a GPT. Look for a UEFI Boot settings in BIOS.

Issue #1: Intel DQ77MK and booting from USB

The first challenge I’ve come across is getting the DQ77MK motherboard to boot to a USB device. I want to have ESXi installed on a USB drive and have drives for datastore only. This has given me some nice flexibility previously.

Removing all but a single USB drive with ESXi installed on and setting the boot order in BIOS to this specific device should in my opinion work. It does not. Playing around with boot order, boot up delays (in case the USB drive takes a long time to initiate,) and other boot options such as Boot USB first, boot removable drives etc. does not help either. However, if I boot and press F10 to bring up the boot selection menu and selecting the correct device it works.

I will submit a question to Intel support. I’m actually somewhat interested in how they handle their support since I have not had the need to try it before.

I found a solution to the issue. ESXi uses GPT and “UEFI Boot” needs to be enabled to get it to work. This thread over at the Intel Community solved it for me: DQ77MK does not boot automatically from SSD drive.

New virtualization hardware in the house

I launch this blog now that I got some new hardware.

The idea is to step up the game a notch or two from the previous system. Here is an article I wrote for NordicHardware about my previous system, the one that will be upgraded now: Vi bygger lÄgeffektsserver med virtualiseringsteknik

The article is in Swedish but the main point of the article was to demonstrate how to build a low power ESXi server for home usage. The specifications of the system is:

A really cheap system consuming between 45W och 70W depending on load.

The next build will be slightly more powerful and the following components have arrived so far:

PSU is still up in the air as I’m trying to find a solid 80+ gold unit for decent money. Case will most likely be a sound dampened Fractal Design Define Mini. I will dedicate another post to some of the motivation for this hardware and also how i intend to solve the storage part. Component and storage selection are restricted by several factors in this build, which I also intend to cover in that post.