VHD on a flash drive, Snapshot on hard disk.

This may be common knowledge for most people out there but I bet there are also many that don't know how to take advantage of this. When I was preparing my demos for PDC I ordered an external hard drive, to store many VMs, and an extremely fast 32Gb flash drive to run my VMs from.

I tried running my complete VM from the flash drive and the performance was awful… I was sooo disappointed. Well, little did I know re: the right setup to make things run snappy (well I did know I just didn’t see the issue at the time or had the naive hope that the flash drive would also have fast writes)... An evident fact that I nevertheless disregarded was that all the reads should come from the flash drive and all the writes needed to go to a hard disk (flash drives have extremely fast reads but lousy writes..still). Thanks to a tip from some folks in our evangelism group I was able to set things properly and what a difference.

The trick was to put the “base” VM in the flash drive and the differencing disk in the hard drive; this in Hyper-V terms means putting your hard drive in the flash drive, configuring your virtual machine settings so the snapshot directory points to a hard drive location (I used a pretty fast external hard drive) and taking an offline snapshot (e.g. when the VM is turned-off) ….voila! You will see a 2x to 3x improvement in VM performance.

Comments

  • Anonymous
    November 09, 2008
    The comment has been removed
  • Anonymous
    January 06, 2009
    The comment has been removed
  • Anonymous
    January 06, 2009
    Joseph, Note that my post refers to Virtual Hard Drives not to applications in general.  With a virtual machine you can create snapshots and that is where the trick lies. If your objective is to speed up things you are probably better off by adding more RAM to your machine or use Windows Vista Ready Boost http://en.wikipedia.org/wiki/Readyboost