We have a Xen server where the dom0 acts as both vm host and storage host. Nothing special about the server, the storage is an internal RAID array. No failover partner or anything.
Each of the domUs have their own lvm volumes for local storage, and then share partitions like /home over NFSv4
Given that the storage is all physically local to the machine, it would seem inefficient to push this over NFS, just to enabled shared access to a volume.
Can anyone recommend or suggest an alternative way of sharing a volume that is local to the host and VMs (effectively)?
Edit: and if NFSv4 is the best approach, again given the VMs are co-located and the virtual nature of the network connectivity between dom0 and domU, is there a well-known ideal set of mount options to maximise performance (in a general usage scenario with a variety of transaction types) or is it still a case of wheeling out bonnie and running tests?
NFSv4 is as good as it gets. There was a project called XenFS which looked promising, but never reached a stable release. I has been dormant for a couple years now. I'm not sure you can find the source anymore.
As h0tw1r3 says, NFS is as good as you're going to get. You also don't want to tie yourself to anything that's going to require all the VMs to be co-located, because that seriously inhibits your ability to scale those VMs. If they start to get big, and you decide that it'd be nice to spread them out over a few physical hosts (either for capacity or redundancy), a dom0-local filesystem is going to put a severe crimp in that plan.
Inefficiency doesn't matter (except when it does), and attempts to worry about before you need to is just premature optimisation.