My ramblings on the stuff that holds it all together
Running a VM from a RAM Disk
I posted earlier about some of my experiments with the FusionIO solid state storage card, SSD’s and the feature I spotted in Starwind to create a virtual disk from RAM – these are the quick results I see when running a Windows 2003 R2 virtual machine from a RAM disk.
This is done by creating a RAM disk on a Windows 2008 x64 machine running the StarWind vSAN software. the physical machine is an HP ML110 G5 with 8Gb of RAM.
In this test I allocated a 6Gb RAM disk on the vSAN host and shared it out via iSCSI to a vSphere 4 host running on an HP ML115 G5, where it shows up as a normal LUN and vSphere is unaware that it is actually physical RAM on a host elsewhere rather than a normal spinning disk (virtualization/abstraction :)).
I deployed a single Windows 2003 R2 virtual machine into the 6Gb LUN via the usual processes with thin-provisioning enabled.
The topology for this test looks like the following;
As with previous tests, and based on Eric’s work I used HD Tune Pro (trial) to get some disk access statistics; during the test the iSCSI traffic used c.50% of the bandwidth on the physical box running the Starwind software.
So far I have only done read speed testing, as write-testing requires some extra virtual disks – I’ll get this done in the coming weeks.
There is no escaping the fact that physical RAM is still expensive in quantities sufficient to meet the size of normal VM storage requirements. There are commercially available hardware SAN products that use this sort of concept like the RAMSAN and FusionIO but this is definitely the way the industry is going in future.
Thin-provisioning, linked-cloned and automated storage tiering (like EMC FAST) are going to be key to giving this level of performance whilst keeping costs low by minimising physical storage consumption until RAM/SSD prices reach the current spinning disk levels.
These results go to show how this software concept could be scaled up and combined with commodity Nehalem blades or servers which are capable of supporting several hundred Gb of RAM to build a bespoke high performance storage solution that is likely to cost less than a dedicated commercial solid-state SAN product.
In the real world It’s unlikely that you would want to take this bespoke approach unless you have some very specific requirements as the trade-off is that a bespoke solution is likely to have a higher ongoing complexity/management cost and is probably less reliable/supportable – I did it “just because I could”; your mileage may vary :)