A database VM is five workloads sharing one box. Put each drive on the tier it needs, and most of the capacity lands on hard disk drives.
Here’s the result, up front: I moved a live SQL Server data drive from NVMe onto hard disk drives. At today’s street prices, that one change cuts the VM’s storage media cost from $263 to $133. No downtime, no maintenance window. One setting on one drive, while the database kept answering queries.
Now imagine that across a whole data center estate. Take 200 TB: if even 75% of it can move from NVMe to hard disk drives, that’s 150 TB at $650 less per terabyte, or $97,500 in raw media saved. Even if you keep a second copy on ioGuardian for better than RF3 redundancy, that’s still more than $50,000 in savings.
On-Demand · No Registration
How to Use HCI and Hard Drives to Fight Data Center Inflation
George Crump and Dave Vincent move a running VM from flash to hard drives and back. Every demo included.
Watch NowWhy it matters now: for years the default answer to “which storage?” was “more flash,” because flash got cheaper every quarter. That era is over. At late-September street prices, a 15.36 TB NVMe SSD costs $706 per terabyte and a 24 TB hard drive costs $56, and flash prices keep climbing. I don’t see that reversing. Put everything on flash, just in case has become an expensive habit.
So the real question isn’t can a database run on hard disk drives. It’s what level of performance does each part of that database actually need, and what are you willing to pay for it? Nobody can answer that for your workload but you, and you’ll get there by experimenting. What VergeOS gives you is the ability to put each workload on the right tier, and move it again whenever the numbers, or the business, tell you to.
Key Takeaways
- Flash prices are rising with no relief in sight, so “all flash, just in case” is now an expensive default.
- A database VM is several workloads, and each one should get the level of performance it needs, not more.
- The right tier is something you find by experimenting. On VergeOS, Preferred Tier is set per VM drive and changes move live, so every experiment is reversible and placement can change whenever business needs do.
- In one example, moving a 200 GB SQL Server data drive to hard disk drives cut the VM’s media cost roughly in half.
A Database Is Several Workloads Wearing One VM
Take the example VM for the math: SQL Server, five drives, 510 GB total. Look at what each drive actually does and the “databases need flash” rule starts to fall apart.
| Drive | Size | What it does all day | Where it belongs |
|---|---|---|---|
| OS | 80 GB | Boot, patches, logs | NVMe |
| Transaction log | 40 GB | Small sequential writes; every commit waits on it | NVMe |
| tempdb | 40 GB | Bursty random I/O from sorts, joins, temp tables | NVMe |
| Data files | 200 GB | Checkpoint writes, reads of cold pages | It depends (often HDD) |
| Local backups | 150 GB | Large sequential streams | HDD |
The transaction log is the drive that decides how the app feels. Every commit waits on it, so its latency shows up directly in response time. tempdb is the other flash-hungry one.
The data drive is the one people get wrong. SQL Server pulls pages into its buffer pool in RAM and serves repeat reads from there. If the active working set fits in memory, the data drive mostly sees checkpoint flushes and the occasional cold page. It isn’t idle, but it’s nowhere near the monster everyone pictures. And backups? Big sequential streams are the one job spinning disks have always been great at.
Why Most HCI Platforms Say No to Hard Disk Drives
Most HCI platforms treat storage as one cluster-wide pool run by policy, and that’s where the no comes from. VMware’s current direction, vSAN ESA, requires all-NVMe hardware, so HDD isn’t even on the menu. Hybrid designs put a flash cache in front of disk and, by default, let an algorithm decide what stays hot. Some let you pin specific disks to flash, but the starting assumption is that the cache will figure it out. That cache-first design is a big part of why hybrid storage failed the first time.
When the cache guesses wrong, the database eats full HDD latency at a moment nobody picked. So vendors play it safe and spec all-flash for anything that smells like a database. That means paying flash prices for backup files and cold data pages that a spinning disk would serve just fine.
Moving the Data Drive to HDD, Live
VergeOS builds storage into the same code base as compute and networking, and its built-in vSAN sorts media into six tiers. Three of them matter here:
- Tier 0 holds metadata on enterprise NVMe, so block lookups never wait on a spinning disk, even when the data itself lives on HDD.
- Tier 1 is performance NVMe, where latency-sensitive drives live.
- Tiers 4 and 5 are high-capacity hard drives.
Placement is a per-drive setting called Preferred Tier. In the example, the OS, log, and tempdb drives stay on Tier 1 NVMe, and the backup drive already lives on Tier 4. Moving the data drive is one change:
- Open the VM and select the data drive.
- Change its Preferred Tier from 1 to 4 and save.
- That’s it. VergeOS starts a live, online background migration, and the VM keeps serving queries while the blocks move.
And placement isn’t a one-time decision. Business needs change, so tiers can too. Quarter-end close coming up? Promote the finance database’s data drive to Tier 1 for the crunch, then drop it back to Tier 4 when it’s over. An app launch, an audit, a seasonal spike: same idea. The move runs live in the background, so storage follows the business instead of the other way around.
I ran exactly this kind of move on a live SQL workload and recorded the whole thing. Here’s the honest part about what to measure. Commit latency is the wrong number to brag about, because the transaction log never left NVMe. The numbers that tell you whether the data drive is happy on HDD are read latency on that drive and PAGEIOLATCH waits in SQL Server. Those are the numbers to watch when you try this on your own database, and What Trips People Up below covers what can push them the wrong way.
The ROI on One Database
Same street prices as our last post: $706 per terabyte for a 15.36 TB NVMe SSD, $56 per terabyte for a 24 TB hard drive. On flash, the 200 GB data drive costs $141.20 in raw media. On HDD, it costs $11.20. That’s 92% less for the same bytes.
One Preferred Tier change saved $130 and cut the VM’s media cost roughly in half (49.5%), with 69% of its capacity now on hard disk drives.
A $130 saving is small. That’s the point. This is one modest VM. Every terabyte you move from flash to HDD saves $650 in raw media, and a redundancy scheme that keeps a second copy doubles it. Move 20 TB of cold data files and backups across a cluster and that’s $13,000 in raw media, or $26,000 with the second copy counted. VergeOS licenses per server, so that money stays in your budget instead of feeding a capacity meter.
What Trips People Up
- A working set bigger than RAM. Heavy OLTP that can’t fit its hot data in the buffer pool reads from the data drive constantly. That drive stays on Tier 1, full stop.
- Maintenance jobs read everything. Index rebuilds, DBCC CHECKDB, and statistics updates scan the data drive end to end. On HDD they take longer, so test your maintenance window, not just your daytime queries.
- Cold starts. After a restart or failover the buffer pool is empty, and the first wave of queries comes off disk. Expect a slower warm-up on HDD.
- Checkpoints are light, but random. Random writes are a spinning disk’s weak spot. Watch write latency on the data drive during checkpoints, not just reads.
- Guessing instead of experimenting. This is the big one. Nobody, me included, can tell you the right tier for your database from a blog post. The move is live and reversible, so treat it as an experiment: move the data drive to Tier 4, watch read latency and wait stats for a week, and move it back if the numbers disagree with you.
The best candidates for HDD: reporting databases, historical and archive databases, dev and test copies, and apps with a small hot set.
HCI Storage Placement Compared
| All-flash HCI | Hybrid cache HCI | VergeOS | |
|---|---|---|---|
| Role of HDD | None | Capacity behind a flash cache | Dedicated tiers (4 and 5) |
| Who decides where data lives | Cluster policy | Caching algorithm by default; some allow pinning | Administrator, per VM drive |
| Metadata location | Flash | Varies by design | Tier 0 NVMe |
| Changing placement | Not applicable | Policy change | Live background migration, no downtime |
Key Terms
Preferred Tier
A per-drive VergeOS setting that tells the vSAN which storage tier should hold that drive’s data. If the chosen tier doesn’t exist, VergeOS uses the nearest available tier.
Buffer pool
The memory SQL Server uses to cache data pages. It absorbs most repeat reads before they ever reach the data drive.
Live tier migration
Moving a drive’s data to a new tier in the background while the VM keeps running.
What This Adds Up To
A database isn’t a flash workload. It’s a handful of workloads, and each one deserves the level of performance it actually needs, at a price that makes sense. Flash isn’t getting cheaper, so that tradeoff will matter more with every refresh cycle. You’ll have to experiment to find the right balance for your environment, and VergeOS makes that experiment cheap: change a drive’s Preferred Tier, measure, and change it again whenever the business needs something different. Try it Monday, undo it Friday.
George Crump and I did this live: we moved a running VM from flash to hard drives and back, then walked through the refresh math for a real cluster. The full presentation is online now, with every demo included and no registration required. Watch How to Use HCI and Hard Drives to Fight Data Center Inflation.
Frequently Asked Questions
Can SQL Server run on hard disk drives in production?
Yes, for the right drives. Keep the transaction log and tempdb on NVMe. Data files for databases whose working set fits in memory, and backup files, can perform well on HDD. Test before you commit.
How much does moving a database to hard disk drives save?
At September 2026 street prices, each terabyte moved from NVMe to HDD saves about $650 in raw media. In the example above, one 200 GB data drive cut the VM’s media cost from $263 to $133.
Does changing a drive’s Preferred Tier require downtime?
No. VergeOS runs the move as a live, online background migration while the VM keeps running.
How do I pick the right tier for each drive?
Experiment. Start with the drives least sensitive to latency, like backups and cold data files, move them to HDD, and watch latency and wait stats. Because VergeOS moves data live, you can move a drive back if performance doesn’t meet your needs.
Is a drive’s tier placement permanent?
No. A drive can move between tiers at any time, live, as business needs change. Promote it to NVMe for a busy period and move it back to HDD afterward.