We've covered when to flip a PERC or Smart Array controller into HBA mode in a few different guides now — for TrueNAS, for Proxmox, and in the PERC controller breakdown itself. What we haven't done is answer the question that actually comes next: once the disks are handed over raw, what do you put on top of them?
That's a genuine three-way decision — hardware RAID, ZFS, or Ceph — and each one solves a different problem. They're often discussed as if they're competing for the same job, but they're not: one protects a single server, one protects a single server with more intelligence, and one protects data across an entire cluster. Picking the wrong one for your scale either wastes hardware or leaves you exposed.
This guide breaks down how each one actually works, where each one wins, and gives a clear decision framework based on how many servers you're running and what you're protecting against.
The Core Distinction: Scope, Not Just Speed
The single most useful way to understand these three technologies is by asking what happens if the whole server dies — not just a drive.
Hardware RAID & ZFS — Single-Server Protection
Both protect against drive failure inside one server. If that server's motherboard, PSU, or CPU dies, the data is offline until the server is repaired — the array itself doesn't help.
Ceph — Cluster-Wide Protection
Data is replicated or erasure-coded across multiple nodes. If an entire server fails outright, the data is still available from the other nodes with no manual intervention.
This is the question to ask before comparing feature lists: are you protecting against a disk failing, or a server failing? RAID and ZFS answer the first question well. Only Ceph answers the second.
Hardware RAID: Simple, Proven, Limited
Hardware RAID is the technology most business servers have shipped with for decades — a dedicated controller (like a Dell PERC or HPE Smart Array) that combines physical drives into a single logical volume, handling striping, mirroring, and parity in dedicated silicon rather than the host CPU.
Strengths: Mature and universally supported by every OS and hypervisor. Predictable performance, especially RAID 10 for database workloads. Simple to configure and simple to explain to anyone who's managed a server before. Protected write cache (on higher-end controllers) delivers strong write performance for traditional workloads.
Weaknesses: No awareness of data integrity beyond the RAID level itself — it can't detect or correct silent data corruption (bit rot) the way ZFS or Ceph can. Rebuilds on large-capacity drives take a long time, during which a second failure is genuinely dangerous on RAID 5. And it's fundamentally single-server: no protection if the whole box goes down.
Best fit: a single server running traditional workloads — Windows Server, a standalone database, general virtualization — where simplicity and proven reliability matter more than advanced data-integrity features or cluster-wide resilience.
ZFS: RAID's Smarter Successor, Still Single-Server
ZFS is best understood as a combined filesystem and volume manager — it replaces the traditional RAID controller with software that has full visibility into every block it writes. The result is a system that can actually detect and repair corruption, not just drive failure.
Strengths: End-to-end checksumming catches silent corruption that hardware RAID would never notice, and self-heals it automatically when redundancy is available. Snapshots and replication are effectively free and instantaneous. Compression is often net-positive for both space and speed. It's the storage engine behind TrueNAS for exactly these reasons.
Weaknesses: RAM-hungry — ZFS uses available memory as read cache (ARC), and while Proxmox caps this by default, a rough planning rule is about 1GB of extra RAM per 1TB of data for comfortable performance. Like RAID, it's single-server: if the host dies, the pool is inaccessible until it's back online. And it needs direct, honest access to the disks — which is exactly why HBA mode, not hardware RAID, is the correct pairing.
Best fit: a single storage-focused server — NAS, backup target, or a Proxmox host with local VM storage — where data integrity, snapshots, and compression matter more than distributing risk across multiple physical machines.
Ceph: Distributed Resilience, Distributed Complexity
Ceph takes a fundamentally different approach: instead of protecting drives inside one server, it spreads data — replicated or erasure-coded — across multiple nodes in a cluster. It provides block storage (RBD), object storage (S3-compatible), and file storage (CephFS) from the same underlying system, which is why it's the default choice for Proxmox HA clusters, OpenStack, and Kubernetes persistent storage.
Strengths: No single point of failure — an entire node can go offline and the cluster keeps serving data. Self-healing and auto-rebalancing when a node returns or new capacity is added. Scales out from a minimal 3-node cluster to thousands of nodes without a redesign. This is the technology that makes Proxmox HA clusters genuinely resilient at the storage layer, not just the compute layer.
Weaknesses: The honest one first — network speed, not disk speed, is usually the bottleneck. Every write typically has to replicate across nodes before it's acknowledged, so a slow network directly caps storage performance. A dedicated, high-speed cluster network — 25GbE at minimum, more for larger deployments — isn't optional, it's a requirement. Ceph is also genuinely more complex to deploy, monitor, and troubleshoot than RAID or ZFS, and needs a minimum of 3 nodes to provide real redundancy. Running it on a single host defeats the purpose and adds overhead for no benefit.
Best fit: a genuine multi-node cluster — 3 or more servers — where the goal is surviving an entire server failure without downtime, not just a drive failure. Below that scale, Ceph adds cost and complexity without delivering its core advantage.
Side-by-Side Comparison
| Factor | Hardware RAID | ZFS | Ceph |
|---|---|---|---|
| Protection scope | Single server | Single server | Whole cluster |
| Survives a node failure | No | No | Yes |
| Silent corruption detection | No | Yes, self-healing | Yes, self-healing |
| Minimum nodes | 1 | 1 | 3 (for real redundancy) |
| RAM requirements | Low | High (~1GB per 1TB, rule of thumb) | Moderate to high per node |
| Networking requirement | None beyond normal LAN | None beyond normal LAN | Dedicated 25GbE+ recommended |
| Setup complexity | Low | Moderate | High |
| Snapshots & replication | Controller-dependent, limited | Built-in, near-instant | Built-in, cluster-aware |
| Best local performance | Strong (with write cache) | Strong, especially on NVMe | Good, but capped by network |
| Controller mode needed | Hardware RAID | HBA / IT mode (pass-through) | HBA / IT mode (pass-through) |
Which Should You Choose?
- One server, traditional workload (Windows Server, standalone database) — Hardware RAID. Simple, proven, and there's no cluster to protect against in the first place.
- One server, storage-focused (NAS, backup target, single Proxmox host) — ZFS. Data integrity, snapshots, and compression are worth the RAM cost when the server's whole job is storing data well.
- Tight budget, one or two servers — ZFS or RAID. Ceph's minimum viable scale and networking cost aren't justified below 3 nodes — you'd be paying for redundancy you can't actually achieve.
- 3+ node Proxmox HA cluster, VMs must survive a node dying — Ceph. This is precisely the scenario it was built for, and the only option here that actually delivers node-level resilience.
- Raw transaction performance is the top priority — ZFS on local NVMe, or hardware RAID with protected cache. Ceph's network hop adds latency that pure local storage doesn't have.
- Multi-tenant cloud platform, OpenStack, Kubernetes persistent storage — Ceph. Object, block, and file storage from one system, built to scale out as the platform grows.
These aren't mutually exclusive across an environment. A common real-world pattern: ZFS on a dedicated backup/NAS server for snapshots and integrity, hardware RAID on a standalone database server for simplicity, and Ceph reserved for the actual HA cluster where node failure has to be invisible to users.
If You're Building Ceph: Get the Network Right First
Every write in a replicated Ceph pool has to reach other nodes before it's acknowledged back to the client — which means Ceph performance is a networking problem as much as a storage problem. Even with fast NVMe drives in every node, a 1GbE network will bottleneck the cluster badly.
- Dedicate a separate network specifically for Ceph traffic — don't share it with VM or management traffic
- 25GbE is the realistic minimum for a small NVMe-backed cluster in 2026; larger deployments should plan for more
- Use identical drive types and sizes across nodes where practical — mismatched hardware complicates CRUSH placement and can create performance imbalances
- Budget real RAM per node — Ceph's OSD daemons and caching are not lightweight, especially as pool size grows
Common Questions
Can I run ZFS and hardware RAID together?
Not well, and it's generally not recommended. ZFS expects direct, honest access to each physical disk to manage its own redundancy and error detection. A hardware RAID layer underneath hides individual drive errors and can undermine ZFS's integrity guarantees — put the controller in HBA/IT mode instead.
Is Ceph worth it for just 2 servers?
Generally no. Ceph needs a minimum of 3 nodes to provide genuine redundancy — with 2, you don't get real protection against a node failure, but you still pay the networking and complexity cost. For 2 servers, ZFS with replication between them, or a shared NAS target, is usually a better fit.
Has the performance gap between Ceph and ZFS narrowed?
Somewhat — faster networking and more efficient Ceph code have closed some of the gap in recent years. But the architectural reality hasn't changed: ZFS on local NVMe will generally outperform Ceph for latency-sensitive workloads, because Ceph's replication always has to cross the network before a write is acknowledged.
Do I need enterprise SSDs for any of these?
Strongly recommended for all three, but especially ZFS and Ceph. Both write far more aggressively than a typical desktop workload (ZFS via its transaction groups and intent log, Ceph via replication and journaling), and consumer SSDs without power-loss protection wear out quickly and risk data loss on power failure under that load.
Final Thoughts
The choice isn't really RAID vs ZFS vs Ceph in the abstract — it's a question about what you're defending against and how many servers you have to defend it with. One server needs redundancy against a drive failure: RAID or ZFS both do that well, with ZFS adding real data-integrity guarantees at the cost of more RAM. A genuine multi-node cluster needs redundancy against a whole server disappearing, and that's a job only Ceph actually does.
Get the controller mode right first — hardware RAID for traditional RAID, HBA/IT mode for ZFS or Ceph — and the rest of the decision follows naturally from your node count and what you're actually trying to survive.
At ServerDove Trading & Services, we configure refurbished Dell PowerEdge and HPE ProLiant servers for whichever storage architecture fits your deployment — hardware RAID, HBA mode for ZFS, or Ceph-ready clusters with the networking to back it — plus enterprise SSDs and 25GbE+ networking gear. Contact us to plan the storage layer for your next cluster.



