TL;DR - Are there performance ramifications for leveraging ReFS Block Cloning for the VM/VHDX deployments? Will those reads all referencing the same blocks skew results in a negative way?
=====
For the sake of keeping my question simple, let's assume Single Node S2D with a single workload CSV.
If you place your GOLD.VHDX on the C:\ClusterStorage\collect volume, it takes an eternity to spawn and deploy all your VMFleet VMs, especially if your VHDX is like 100+ GB. It has to copy n number of times to C:\ClusterStorage\nodeName
However, if you place your GOLD.VHDX on C:\ClusterStorage\nodeName, the CSV you're ultimately testing, those VMs will deploy exponentially faster due to the magic of ReFS block cloning.
I feel like this is a bad idea though, because the blocks essentially only exist a single time, with pointers back to the legit physical disks. The n VMs then are potentially not "spreading the read load" out to more physical disks?
- If my assumption is true (bad idea), then we can close this Issue out and I'll leave yall alone.
- If my assumption is false (not a bad idea), then can we discuss improvements to
New-Fleet that will first copy the GOLD.VHDX "locally" to each workload CSV and then reference that copy as each VM's disk source? Because that will dramatically improve VM deployment time.
TL;DR - Are there performance ramifications for leveraging ReFS Block Cloning for the VM/VHDX deployments? Will those reads all referencing the same blocks skew results in a negative way?
=====
For the sake of keeping my question simple, let's assume Single Node S2D with a single workload CSV.
If you place your
GOLD.VHDXon theC:\ClusterStorage\collectvolume, it takes an eternity to spawn and deploy all your VMFleet VMs, especially if your VHDX is like 100+ GB. It has to copynnumber of times toC:\ClusterStorage\nodeNameHowever, if you place your
GOLD.VHDXonC:\ClusterStorage\nodeName, the CSV you're ultimately testing, those VMs will deploy exponentially faster due to the magic of ReFS block cloning.I feel like this is a bad idea though, because the blocks essentially only exist a single time, with pointers back to the legit physical disks. The
nVMs then are potentially not "spreading the read load" out to more physical disks?New-Fleetthat will first copy theGOLD.VHDX"locally" to each workload CSV and then reference that copy as each VM's disk source? Because that will dramatically improve VM deployment time.