Hypervisor on my laptop (Mobile ESXi lab)

It’s possible to build a basic View 4.0 environment using VMs under VMware Workstation and a lot of people have already discussed the use of VMware Workstation or Player to run ESX in a VM.  I wasn’t happy with either of these solutions mostly because i couldn’t use all of the RAM in my laptop and performance of nested VMs (in order to get PCoIP) isn’t very good.

Update: I have blogged about vSphere 5 under VMware hosted virtualization, for VCP training purposes.

My choice is to run ESXi (part time) on my main laptop and use my shiny new netbook as the client.  These two machines can go in my cabin baggage, along with the other essentials for a five day trip to teach a VMware course.

Running ESX natively on the laptop gives me the best virtualisation platform and full View feature support.  Unfortunately it does mean I don’t get to use the large high resolution display in my main laptop while it’s being ESXi, so it can’t be the full time use of the laptop.  I needed a way to dual boot my laptop with ESXi or Windows 7.

For windows 7 I have an Intel SSD replacing the original disk in the laptop.  To boot ESXi I have a 4GB SD card.  Having sorted boot media I needed a place to store larger things, the VMFS datastore for ESXi and a bulk store location for the Windows 7 personality.  I found a cradle that can replace the SATA CDROM with a SATA hard disk, putting a 500GB 7200rpm disk in this allows me enough storage for both uses.

What you need

  1. A laptop with: a 64 bit CPU, hardware CPU virtualisation support, a supported SATA adapter, a supported network adapter, a second hard disk, lots of RAM
  2. A second laptop to run the vSphere client and be your graphical machine.  It needs to have a decent screen resolution (the vSphere Client at 1024×600 get old quite fast)
  3. An Ethernet Crossover cable to link the two laptops.  ESXi has no wireless support so it has to be the wired network.  You could use an Ethernet switch but a crossover cable takes less space in my suitcase.
  4. ESXi install boot CD

What I have

My main laptop is a 15 month old HP 6730b, dual core T9400 with 8GB of RAM.  If I were buying now I’d be looking for an i7, the hard part is being sure the NIC and SATA adapter are supported by ESXi.  My netbook is an HP Mini 311, dual core Atom and an 11.6″ inch  1366×768 screen.

Build Process

  1. Backup the main OS, however you want to do it just make sure that if you toast the OS disk by mistake you can get it back.  I used Easeus ToDo backup.
  2. Make sure the boot SD card (or USB stick) is installed and boot on the ESXi install CD
  3. Install ESXi to the SD card (or USB stick) Take great care not to overwrite any other disk. Reboot after removing the CD and making the ESXi location the boot source (my laptop BIOS won’t take it as a default, have to F9 every boot.)
  4. Manually set an IP address on the ESXi server when it comes up
  5. Connect the crossover cable and statically assign an IP address (same subnet as ESXi but different IP address of course) to the second laptop
  6. Use the vSphere client on the second laptop to manage the first laptop
  7. Create a Datastore on the second hard disk, possibly not using all of the space to allow some to be used for an NTFS partition.
  8. Begin playing

Extra Credit options

  1. Place OS install CD ISO files on the datastore
  2. Create a Domain Controller VM and set it up to have DHCP for the subnet, also DNS.
  3. Create a Virtual Centre VM and have it manage the ESXi server that is hosting it.
  4. Set both DC and VC VMs to autostart when the ESXi box starts.
  5. Build the remainder of a View environment and play
  6. Build ESX on ESX VMs to test beta releases of vSphere, this is on my to do list.

What are the compromises?

  • Two PCs are required.  More gear to buy and maintain (or more toys if you look at it that way)
  • ESXi rather than ESX classic. I wanted to use only part of the second hard disk for ESX storage, part for Windows 7.  To achieve this I had to install ESX to another location, ESXi gave me a smaller footprint for the somewhere else.
  • SD card based boot.  If you were happy to dedicate the second disk to ESX then either ESX or ESXi could have been used and no SD or USB device is required for boot.
  • Laptops.  I travel a lot, so I needed portability.  You could do the same thing with two desktop PCs or a laptop and a desktop.  A desktop with a fast 3.5” hard disk would perform better than the 2.5” disk I use.
  • Relatively small disk.  I chose a 500GB disk because I could get one that does 7200rpm larger capacity meant 5400rpm.  I know that at this scale performance is going to be limited by either RAM or the speed of the disk behind the VMFS Datastore.  I’d already maxed out RAM for the laptop so I wanted a fast disk inside.  A laptop with a eSATA port and an eSATA 3.5” external disk would have helped too, but been more to pack.

Overall I like this setup.  I’d prefer a netbook with a magically bigger display that didn’t make the netbook bigger.  The ESXi setup is good and performs well as a test environment.

A few pictures

I couldn’t see how to work them into the main post.

Performance

With five VMs running 5.5GB of memory is in use, still capacity for a few more VMs.

Processors

Two cores at 2.5GHz, takes me back a few years to when that was a good server virtualisation host.  Now it’s a mid range laptop.

Datastores

The VMFS datastore on the second disk, 200GB of which less than 70GB is in use.  Again plenty of space for a few more VMs.

Devices

The two SATA disks, the 74.53 GB disk is the Intel SSD and the 465.76 GB disk is the Seagate 7200RPM disk which contains both a VMFS datastore and an NTFS partition.

© 2010 – 2011, Alastair. All rights reserved.

About Alastair

I am a professional geek, working in IT Infrastructure. Mostly I help to communicate and educate around the use of current technology and the direction of future technologies.
This entry was posted in General. Bookmark the permalink.