Hardware Validation by Use Case
Every StrataBench profile has workload validation (cache size, ramp time, percentiles) and hardware validation (tools, devices, NICs). Enable with:
stratabench validate --profile nvme-random-oltp --target /dev/nvme0n1 --check-hardware
stratabench run --profile afa-multi-lun --target /dev/sdb,/dev/sdc --check-hardware
--check-hardware is on by default for validate and run (skipped with --mock).
Use case matrix
| Use case |
Profile(s) |
Required tools |
Host hardware |
Guest hardware (virtual) |
| HDD sequential |
hdd-sequential-read |
fio |
Rotational block device (/dev/sd*) |
virtio/SCSI disk in VM |
| SSD random 4K |
ssd-random-4k |
fio |
SSD or NVMe |
virtio disk |
| NVMe OLTP |
nvme-random-oltp |
fio |
NVMe device, 32GB+ RAM |
vm-nvme-oltp |
| NVMe stress |
nvme-max-stress |
fio |
NVMe, 64GB+ RAM recommended |
vm-disk-stress |
| NVMe passthrough |
spdk-nvme-peak |
SPDK perf |
PCIe NVMe, hugepages |
vm-nvme-passthrough (vfio-pci) |
| AFA multi-LUN |
afa-multi-lun |
vdbench |
2+ array LUNs |
vm-afa-multi-lun (vSCSI/RDM) |
| File parallel |
file-parallel-* |
elbencho |
NFS/Lustre/CephFS mount |
vm-file-* (SSH + mount) |
| S3 PUT/GET |
s3-put/get-throughput |
warp |
MinIO/S3 endpoint, network |
vm-s3-put-throughput |
| S3 cluster |
s3-cluster-put-get |
warp |
Multi-node MinIO cluster |
agents on client nodes |
| S3 RDMA |
s3-cluster-rdma, vm-s3-rdma |
warp |
RDMA NIC (rdma link show) |
SR-IOV RDMA vNIC in guest |
| PostgreSQL |
app-postgres-tpc-c |
pgbench |
PostgreSQL server, 8GB+ RAM |
vm-app-postgres + agent |
| Kafka |
app-kafka-producer |
kafka-producer-perf-test |
Kafka broker |
vm-app-kafka + agent |
| RocksDB |
app-rocksdb-read |
db_bench |
RocksDB data path |
agent on host with DB |
What gets checked
| Rule |
When |
Severity |
tool:* |
Engine binary in PATH (fio, warp, vdbench…) |
warning |
memory |
Host RAM vs profile minimum |
warning |
nvme_present |
NVMe/SSD profiles |
warning |
hdd_present |
HDD profiles |
warning |
block_device_count |
AFA multi-LUN (2+ devices) |
warning |
rdma |
S3 RDMA profiles |
warning |
ssh |
VM profiles (guest execution) |
error |
target_device |
/dev/* target exists in inventory |
warning |
Warnings do not block the run by default. SSH missing on VM profiles is an error.
Per-use-case Dell lab checklist
Before any run
stratabench inventory collect
stratabench smart collect # physical only
stratabench validate --profile <name> --target <target> --check-hardware
HDD
| Check |
Command / criteria |
| Rotational device |
inventory list shows rotational: true |
| Direct I/O |
validate --profile hdd-sequential-read passes |
| SMART healthy |
smart list — no reallocated sector spike |
NVMe
| Check |
Command / criteria |
| Device visible |
nvme list or inventory shows NVMe |
| Firmware noted |
inventory records model + firmware |
| Dataset > cache |
validator dataset_gt_cache passes |
| SMART / wear |
smart collect — wear < 80% |
AFA
| Check |
Command / criteria |
| 2+ LUNs mapped |
ls /dev/sd* — count matches profile |
| vdbench installed |
which vdbench |
| Multi-path (optional) |
document active paths |
S3 / RDMA
| Check |
Command / criteria |
| MinIO reachable |
curl http://endpoint:9000/minio/health/live |
| Warp creds set |
WARP_ACCESS_KEY, WARP_SECRET_KEY |
| RDMA links up |
rdma link show (RDMA profiles only) |
| MTU 9000 (optional) |
jumbo frames for RDMA performance |
VM workloads
| Check |
Command / criteria |
| SSH key auth |
ssh root@guest hostname |
| Guest fio/vdbench |
tool installed inside guest |
| NVMe passthrough |
lspci in guest shows NVMe |
| Agent on guest (app) |
stratabench-agent on :7777 |
Topology + hardware
When using --clients or --targets, run hardware validation on each node:
# On each client before distributed run
stratabench inventory collect
stratabench validate --profile ssd-random-4k --target /dev/nvme0n1 --check-hardware
# Coordinator
stratabench run --profile ssd-random-4k --target /dev/nvme0n1 \
--clients 10.0.1.1:7777,10.0.1.2:7777 --check-hardware
See TOPOLOGY.md for client/server assignment patterns.