Featured Post

YouTube and link library for S2D.dk

2020/05/02

S2D and DiskSpd

Azure Stack HCI / Storage Spaces Direct (S2D) and Performance test with DiskSpd

*** Disclaimer ***
s2d.dk is not responsible for any errors, or for the results obtained from the use of this information on s2d.dk. All information in this site is provided as "draft notes" and "as is", with no guarantee of completeness, accuracy, timeliness or of the results obtained from the use of this information. Always test in a lab setup, before use any of the information in production environment.
For any reference links to other websites we encourages you to read the privacy statements of the third-party websites.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
***

Azure Stack HCI / Storage Spaces Direct (S2D) and Performance test with DiskSpd Shows how to copy and run DiskSpd in all VMs at the same time... Easy way to test your Storage Performance for Microsoft Storage Spaces Direct (S2D) Cluster




Links for download DiskSpd, VMFleet and Command help on GitHub


You can use watch-cluster.ps1 from VMFleet to see the IOPS from the VMs impact...

watch-cluster
Copy the Scripts from the link below and save as watch-cluster.ps1 in "C:\Temp\watch-cluster.ps1"
Then run is with the option "-sets *"
.\watch-cluster.ps1 -sets *

















Link:
https://github.com/Microsoft/diskspd/blob/master/Frameworks/VMFleet/watch-cluster.ps1
Script:

*** Note: Before you run the test with DiskSpd set the CSV cache to 0. DiskSpd create synthetic workloads on Windows Server 2019 Clusters or later (including Storage Spaces Direct S2D). The Read only cache causes performance slowness with synthetic workloads, however with real workloads it increases performance.


# ****************************************************************************************************
# Copy the files to the VMs
# ****************************************************************************************************
$clusterName = "S2D10"
$Servers=(Get-ClusterNode -Cluster $ClusterName).Name
$VMs=(Get-VM -ComputerName $Servers).Name
$VMs
$source = "\\TFTP01\data\CopyFileToVMs\*.*"
$destination = "C$\Temp\"
foreach ($computer in $VMs) {
if ((Test-Path -Path \\$computer\$destination)) {
Copy-Item $source -Destination \\$computer\$destination -Recurse
} else {
"\\$computer\$destination is not reachable or does not exist"
}
}
# ****************************************************************************************************
# Run DiskSpd.exe in all VMs for 120s 
# ****************************************************************************************************
Invoke-Command -ComputerName $VMs -AsJob -ScriptBlock {c:\temp\diskspd.exe -d120 -r -w0 -t4 -o8 -b8k -Su -L -c10G c:\temp\io.dat > c:\temp\ResultsDiskSpd-Sb.txt}

# ****************************************************************************************************