When it comes to protecting your VMs (and their data), there are many methods available:
- Installing backup agents
- Copying files
- Copying/cloning the entire VMDK
- Snapshotting the entire datastore
At Actifio we have found the smartest way to protect a VM is to use VMwares own APIs to create an image of each VMDK, which allows for instant mount and therefore instant access to either the data within the VM, or to spin up an entirely new VM. Even smarter, we keep that image of the VMDK updated using changed block tracking, meaning the updates can be captured very quickly with very little data movement (while using our own snapshot and dedup technology to give you SLA managed rollback points).
When Actifio starts protecting a VM, the first thing it does is turn on Changed Block Tracking (or CBT). You can see this in the vCenter event log where the message ‘Reconfiguring Virtual Machine’ appears.
However this only works if your VM is using Hardware Version 7 or above. It is not uncommon to find VMs still running Hardware Version 4. It is a bit like having a laptop/PC/Server with an older motherboard, but in this case a virtual motherboard. We need that higher hardware version because without it, every time we protect the VMDK, we will need to move all the blocks that make up the VMDK, not just the blocks that changed since the last time we created a snapshot.
My colleague Jeff O’Connor wrote up some great information on Hardware Version upgrades which I thought I would share with you:
Virtual hardware can be thought of as a virtual motherboard, with certain capabilities and restrictions. Newer motherboards are capable of using things like newer and more CPUs or memory.
Hardware version 4 was available from ESX 3.x and above (prior to vSphere branding). With vSphere 4 hardware version 7 was released (going from hardware version 4 to 7 in one release!). However VMs running hardware version 4 are also backwards compatible with vSphere 4. To update a VM to hardware version 7, the customer must be running vSphere 4.x or above.
The conversion is fairly easy but there is about a very small chance the VM might not boot after the upgrade (usually if the VM came from a P2V conversion with SCSI drivers), which means you should always perform a VM snapshot prior to the upgrade (so you can recover it). Your VM may also lose its IP addresses, as the virtual ethernet card may appear to change after the upgrade.
A good practice is to do the following in this order:
- Take a note of your VMs IP addresses and WINs setup (if WINS is in use).
- Upgrade VMTools to the latest version on the VM. This will normally require a reboot.
- Shutdown the VM (the VM has to be shutdown to upgrade the virtual hardware version — again think of it like a motherboard replacement).
- Create a VMware snapshot from vCenter (for purposes of rollback).
- Convert the VM to HW v7 (or higher) by right selecting the VM and selecting upgrade hardware version. Confirm you want to proceed.
- Power on the VM, login and check the IP address settings are fine. For Windows machines the WINS addresses are generally dropped if the customer is using static WINS Server entries, so re-enter these if they are required.
- Restart the VM (this step is important as the hardware upgrade is the same process as a motherboard upgrade) and upon first boot new hardware is often found and plug and play kicks in.
- Once the VM is restarted, login again, check all services are started upon boot and IP addressing is still in place.
- If everything looks OK, you can then delete the VM snapshot from vCenter, which can be done online without requiring the VM to be shutdown.
You’re VM is then running hardware version 7/8/or 9 or whatever is the highest version available. There are other methods to do this, and some people skip the step of taking the snapshot, but the above method offers rollback. Even if you are on vSphere 4.x and have not upgraded the virtual hardware version, there are performance benefits for doing this on top of changed block tracking benefits.
Once you are comfortable, you could script the whole process with PowerCLI, especially if you have 100s or 1000s of VMs, snapshotting either all your VMs, or just a limited subset (the really important ones).
Below are the hardware versions which came out with the release mentioned.
HW v4 = ESX/ESXi 3.0 and above
HW v7 = ESX/ESXi 4.0 and above
HW v8 = ESXi 5.0 and above
HW v9 = ESXi 5.1 and above.
Don’t think that HW v4 means vSphere 4, this is not the case.