VMFleet Overview¶
This page has moved
The main VMFleet landing page with run instructions is now at VMFleet. This page contains additional technical details.
VMFleet is the primary storage load testing tool in the Azure Local Load Testing Framework. It deploys a fleet of VMs across Azure Local cluster nodes, each running DiskSpd workloads to stress-test Storage Spaces Direct (S2D).
At a Glance¶
- VMFleet Version: 2.1.0.0
- DiskSpd Version: 2.2
- What it tests: Storage IOPS, throughput, latency under simulated workload
- How it works: Deploys lightweight Server Core VMs, each running DiskSpd to generate I/O
- Status: ✅ Fully Implemented
Quick Start¶
# Run the full VMFleet pipeline end-to-end
.\src\solutions\vmfleet\orchestrator\Invoke-VMFleetPipeline.ps1 `
-ClusterConfig "config/clusters/my-cluster.yml" `
-Profiles @("General", "Peak") `
-CredentialSource Interactive `
-GenerateReports
Pipeline Phases¶
The VMFleet orchestrator executes the following phases:
- Pre-Check — Validate cluster connectivity, S2D health, CSV availability, base VHD
- Install — Install VMFleet PowerShell module, create Collect volume
- Deploy — Create fleet VMs with configured vCPU and memory settings
- Test — Execute workload profiles (General, Peak IOPS, VDI, SQL OLTP)
- Monitor — Collect storage, network, and compute metrics in parallel
- Collect — Parse DiskSpd XML results, aggregate metrics per profile per node
- Report — Generate PDF, DOCX, and XLSX reports from collected data
- Cleanup — (Optional) Remove fleet VMs and volumes
Each phase is checkpoint-tracked via StateManager, enabling resume after failure.
Resume After Failure¶
If the pipeline fails mid-execution, resume from the last successful checkpoint:
.\src\solutions\vmfleet\orchestrator\Invoke-VMFleetPipeline.ps1 `
-ClusterConfig "config/clusters/my-cluster.yml" `
-Resume
The StateManager tracks completed phases and skips them on resume.
Running Individual Scripts¶
Every script can be executed independently:
# Each script is self-contained — reads config, validates params, logs actions
.\src\solutions\vmfleet\scripts\Start-VMFleetTest.ps1 `
-Profile "Peak" `
-DurationSeconds 600 `
-VerboseOutput
VMFleet Documentation¶
| Document | Description |
|---|---|
| Prerequisites | VMFleet-specific requirements |
| Deployment | Install and deploy fleet VMs |
| Workload Profiles | Test profiles and execution |
| Monitoring | Metric collection during tests |
| Reporting | Report generation |
| Troubleshooting | Common issues and solutions |