Has anyone experimented with running a virtual RAID0 inside a VM? For example, two virtual disks in a software RAID0 configuration, rather than a single virtual disk.
Specifically, I'm wondering if read performance would increase, or if the overhead of having two virtual disks would negate the effect?
I wouldn't expect any improvement unless your virtual disks were on physically separate media/spindles on the host system -- Having two virtual disks in RAID0 that are mapped to one physical disk on the host will probably just slow things down as the physical drive will have to seek back and forth between the virtual disk images in order to accommodate the striping.
Even with physically separated underlying datastores I think the VM overhead will trump any performance gain.
Typically I don't build RAIDs in my VM systems -- The underlying host has RAID for redundancy (with the RAID level (1/5/6) chosen based on the performance I need from that VM environment), and the individual VMs just ride on top of that with what they see as one single big (virtual) disk.
Your mileage may vary, and there are probably good cases for presenting two virtual disks to some VMs, but I'm pretty confident in saying that performance isn't one of them.
There may be some minor, fractional percentage point improvements in high I/O applications through parallelizing the I/O elevator over multiple virtual LUNs, but that's going to be pretty small. The performance gains are not enough to overcome the effort of setting it up in the first place. Not worth it.
Presenting multiple virtual-disks based on different storage arrays actually will improve performance, for the same reasons doing so on physical does. If the presented-storage is also RAIDed appropriately, the chief risk of R0 is largely negated; you'd need an entire array failure to lose storage instead of a single disk failure.