Afternoon Chaps,
I have a problem with my physical Server 2012 R2 2node HyperV Cluster. I have created a VM guest cluster using shared .VHDX files that reside on the physical cluster's CSV files.
Everything is working fine, everything is online and fails over when needed as expected. However once I started performance testing I realised that unless the Guest Cluster Node VM was running on the same physical hardware node that owned the CSV the
shared VHDX resides on - any IO to that shared VHDX sends it via redirected-IO across the ClusterNetwork (lowest metric network) to whichever physical hardware node owns the CSV, then that node sends the IO to the SAN using direct-IO.
If the Guest Cluster Node VM *is* running on the same physical hardware node that owns the CSV the shared VHDX resides on - then the IO is sent normally using Direct-IO.
The issue is that the difference between my DirectIO (12GB SAS) and redirected IO (1GB Network) is crippling my performance. Has anyone else seen this? I can't find *anything* in any articles or TechNet suggesting this is expected behaviour and I really
need to resolve it :(
NOTE - If anyone can test this on their own cluster/lab - you can spin up a test VM (Server 2012 or 2012R2) with two additional SCSI disks, mark one of them as a shared VHDX (you don't need to build a guest cluster, just ticking the box has the same effect)
and then test by copying a large file onto each (one drive at a time) monitoring the copy speed and your physical cluster's ClusterLAN/LiveMigrationLAN (whichever is set to handle CSV redirected IO traffic) to see the traffic go over the network. If it matches
what I am seeing then the normal SCSI .VHDX will send it via DirectIO regardless of what physical hardware node owns the CSV, while the Shared SCSI .VHDX will use RedirectedIO if the CSV owner is not the same hardware node that is running the VM.
There is no indication in the UI that this is happening and no information/warning/errors are logged. On top of that it does not even show the physical cluster's CSV in redirected mode - it is redirecting at a file level on the CSV (the shared .VHDX)
If anyone has any thoughts on how to correct this - it would be much appreciated as I really need to resolve this asap :)
Regards
Joe