Thursday, 7 July 2011

PortForwardPodcast VMWare Notes

Recently I was invited on to the excellent PortForwardPodcast to talk about VMWare and how it works for small businesses.  Please check out their site for several other excellent podcasts.  I've copied my notes for the show below so if you came here following that podcast you might find a bit more detail below.  Or check my other posts on this site as I have made notes several times on VMWare as I have been learning to use it and deploying it.

VMWare is a hyper-visor which basically means it enables you to run virtual computers inside a real computer.  So you can have one powerful machine running 3-4 different windows or Linux installs, all working, on the network, doing whatever they do at the same time.  At the high end you can get dozens of virtual servers on one physical server - just depends on how busy the virtual servers are.
What is VMWare ESX/ESXi and Embedded?
There are a couple of different versions of ESX which confused the heck out of me when I started because I thought ESX was ESX...
  • VMWare ESX is the VMWare hyper-visor which installs on top of a Windows install, the same way as any other application.  This is being discontinued - the current release (ESX 4.1) is the last one.
  • VMWare ESXi is a complete OS - it is installed on bare metal which gives it a much more efficient footprint (install CD is 300MB) and better access to underlying hardware.  This is the main version from now on.
  • VMWare ESX embedded is basically ESXi installed to a usb flash memory stick inside the server chasis.  I have received a server setup like this from Dell and it just had a standard 1GB memory stick plugged straight into the motherboard.  I have also installed to a memory stick ESXi 4.1 myself with no issues.
What is possible with the free version
Free is always a good place to start.  VMWare do demo’s of the whole VSphere product but also give the basic hyper-visor away for free.  This is where I started messing about a few years ago.
  • The free ESX is called "VMWare vSphere Hypervisor" - under the "Products" menu on main page.  When you download it they give you a licence key which you need or you get a demo that times out after 30 days or something.
  • I think you can run as many ESXi servers as you want but each are isolated and only show real time performance so no use if you want to see what happened half an hour ago or track performance over a few days.  You can run as many virtual machines as you want (or your hardware can support).  
  • You can backup virtual machines but it is manual and depending how you do it may well involve downtime.  Or you could just backup over the network using an old school backup program.
  • You can convert (supported) physical servers to run in VMWare using the VMWare converter (live - cold clone only if you have a licence) or install from scratch
  • You can take a snapshot of the VM just before doing something like applying updates - it it does not work just rollback the snapshot and you can try again.
What are the benefits of using VMWare Essentials?
VMWare sell a basic upgrade to the free version for a fairly cheap price, but if you want more than the basic features it can quickly become very expensive.
  • Essentials costs £380 ($495)
    • Thin provisioning hard drives
    • VStorage API for data protection (this allows other backup software to link in)
    • VSphere management system (gives good reporting history for various aspects of the servers, ability to move VM's between servers when off etc)
  • Essentials plus £2,660 ($3,495)
    • Above plus high availability
    • VMotion (move a running VM between servers - must remain on same storage device)
    • Data Recovery (Allows backup of VM's to disk)
  • Essentials limitations
    • Max 3 physical servers with max 2 CPU per server (6 cores per cpu so 36 cores total if you max it out).  So this only works for you if you can fit everything in 3 servers...
    • No storage VMotion so can't move a running VM between different storage devices
Hardware required
  • Check the hardware compatibility guide!
  • 64 bit!!!  Hardware for both, server needs 64bit windows software too.
  • For storage you can (and I currently do) just use the hard disks in the actual servers.  You could also use a SAN (Storage Area Network) - basically a fast networked hard drive.
  • ESX(i)
    • Decent amount of RAM (min 2GB but VMWare uses a GB or so overhead - worth getting as much as you can)
    • Plenty of HDD space - fast if you are planning to run a lot of VM's or data intensive VM's.  If server supports it you could get a few fast disks and raid them then get one large cheap disk for less important VM's
    • CPU speed not a critical issue, too small and things will run a bit slow but still work.
    • Fast network interfaces - you can put different network interfaces on separate networks, good idea to split your management network for security and also to stop backups over network from hitting main network performance.
  • VSphere server (its a bit resource hungry!)
    • Dual core 64 bit 2GHz+ CPU
    • 3GB Ram
    • 3GB HDD space + extra couple of GB to decompress SQL server Express
    • 64 bit XP Pro, 2003 server or 2008 server - not Windows 7
Using VMWare
So you install VMWare ESXiIP address and set a management password.  Use a web browser on another computer to visit that IP address and it will point you to the VSphere client.  This client is what you use to manage the ESX install, create virtual machines, use the virtual machines, monitor performance etc.  To install an OS you create a virtual machine then boot from the install CD and from there it is exactly as a normal install except it is inside a window on your computer...  Install cd can be an ISO you copy to the ESX datastore, a CD in the actual servers drive or a CD in your desktops CD drive mapped over the network.
Then you get lots of benefits of the virtual setup - several machines can run on one box which costs less than the several smaller boxes you had before.  You can backup a virtual machine, copy to another ESX server and it will boot fine because all the hardware is virtual - so you can upgrade really easily.  Restoring whole servers is a lot easier - no installing base server, patching to the same level, installing applications, restoring data, etc.  Just restore the VM and turn it on.  It can still take time to copy the files to the server that will host the VM but it takes a lot of the unknowns out of the equation.
Backup options
  • Free - just use the datastore manager and download the files.
    • VMWare has a very bad network stack, 5-10MB/s is about the most you will get downloading and uploading files to the datastore
    • You will need to turn the virtual machines off to do this (note - see my nasty hack!)
    • You could turn the VM off, clone it, turn it back on and backup the clone....
    • Can't be automated with free ESX as they do not give access to the API.....
    • gotcha: if you use thin disks, create a 200GB VM which only uses 20GB on the datastore it will convert it and the datastore will be copying 200GB over the network.
  • Veeam
    • Veeam also has essentials and essentials plus but you do not need to match to VMWare version
    • Veeam cost me £1,650 at end of 2010 with free upgrade from Essentials to Plus, unfortunately they do not publish prices so you need to get a quote from a reseller.
    • Essentials has these features
      • Backup and replication of live VM's
      • Changed block tracking
      • Synthetic full backups - very useful to always have a "full" backup without copying all the data every time
      • De duplication (for VM's in the same job)
    • Essentials plus adds these features:
      • U-AIR object level recovery (basically restarts the VM in an isolated environment that you have access to so you can backup/restore from any system using its own tools)
      • Exchange, Active Directory and SQL server wizards for individual objects (emails, tables, records etc)
  • Many other paid for options - Backup exec has VMWare agents you can buy for example.
Managing logins
  • Free version has local login accounts only per ESXi server - Essentials adds AD integration using vSphere server so domain admins have access to the management of ESX server.  The virtual machines you can manage any way you would a physical machine.
Problems with VMWare
  • Servers start to take over!  They breed!  Especially with Linux which has no licencing issues.  With Windows you need to make sure you have enough licences as it is so easy to clone a VM...
  • Its a slippery slope - free to start, fairly cheap to get essentials but then the hardware requirements start to increase as you use it.  Ability to do backups of whole VM’s makes disaster recovery easy but then your backup tapes or online backup solution start to get too full and you need to upgrade those.

Feel free to comment either here or on the PortForwardPodcast site if you have any questions or corrections (hopefully less of the later!)


  1. Here is a direct link to the podcast mentioned in this article:

    As for the article itself, great writeup of ESXi! Compared to XenServer, this software provides quite the offering. If you ever decide to try XenServer let me know. Maybe we can do another podcast about your experience!?


  2. Hi Ben,
    Sure, I may well look into Xen soon. From the sounds of things I'll be joining quite a few people doing the same: