Proxmox VEVII · Shared StorageStorage strategy
SAN vs distributed vs replicated — the decision framework
What you'll learn
- Choose the right shared-storage approach for a given requirement
- Defend a choice with explicit trade-offs
- Recognise when a hybrid multiple storage types in one cluster makes sense
- Plan migrations between storage backends
Prerequisites
Verified against Proxmox VE 9.2.4 · Proxmox Backup Server 4.2.5 · Ceph Squid / Tentacle · Debian 13 (Trixie) · Linux kernel 7.0 (PVE 9.2 default) · 2026-08-07
Why this matters in production
The wrong storage backend multiplies every other operational cost. Migrating between backends later is expensive (data movement, downtime). Choosing the right backend at the start saves months of pain.
The three approaches
| Approach | Examples | Topology | Strength | Weakness |
|---|---|---|---|---|
| SAN | NetApp, Pure, Dell PowerStore, Nimble | Shared LUN across nodes | High IOPS, mature | Single point of failure (the SAN) |
| Distributed | Ceph RBD/CephFS, MinIO | Software-defined, replicated | Tolerates node failures, scales | Operational complexity |
| Replicated | ZFS replication, storage replication | Async copies to peer nodes | Simple, works locally | Recovery is manual |
flowchart TB
subgraph SAN[Shared SAN]
N1a[pve-01] --> L[Shared LUN]
N2a[pve-02] --> L
N3a[pve-03] --> L
end
subgraph DIST[Distributed: Ceph]
N1b[pve-01 + OSDs] --> R[RADOS]
N2b[pve-02 + OSDs] --> R
N3b[pve-03 + OSDs] --> R
end
subgraph REP[Replicated: ZFS replication]
N1c[pve-01 zvol] -->|zfs send| N2c[pve-02 zvol]
end
Decision framework
| If your primary concern is… | Then choose… |
|---|---|
| Maximum IOPS with minimum operational complexity | SAN (NFS or iSCSI) |
| Surviving the loss of a node without manual intervention | Distributed (Ceph) |
| Lowest cost and simplest operations | Local ZFS + PBS backups |
| Multi-site stretch | Distributed with EVPN; or replicated with off-site PBS sync |
| Compliance with separate storage admin team | SAN (clear separation of concerns) |
| Avoid vendor lock-in | Distributed (open source) |
Hybrid storage in one cluster
A single Proxmox cluster can use multiple storage backends simultaneously. A common pattern:
- Ceph RBD for VM disks on the same nodes (distributed, replicated).
- ZFS local for fast scratch / non-critical VMs.
- NFS for ISO/template storage.
- PBS for backup target.
flowchart TB
subgraph CL[Cluster]
VM1["VM 100 (Postgres)"] --> CEPH[Ceph RBD]
VM2["VM 101 (Dev)"] --> ZFS[Local ZFS]
ISO[ISO library] --> NFS[NFS]
end
CEPH --> BACKUP[PBS]
Migrating between backends
Common migrations:
| From | To | Mechanism |
|---|---|---|
| Local ZFS | Ceph RBD | Live storage migration (qm move-disk) |
| NFS | Ceph RBD | Same |
| Ceph RBD | NFS | Same |
| Local ZFS | Local ZFS (different pool) | Same |
qm move-disk copies the disk while the VM runs. Once complete, switch the active disk.
For non-shared source storage, the VM must be stopped.
Production considerations
Common mistakes
- Choosing Ceph for 10 VMs because “Ceph is distributed.” The complexity outweighs the benefit at that scale.
- Choosing local-only storage for a cluster that needs live migration.
- Ignoring the operational complexity of the chosen backend until it is in production.
- Migrating between backends without testing the rollback.
Key takeaways
- SAN, distributed, and replicated each have a place.
- Pick based on workload requirements and team competence.
- One cluster can use multiple backends deliberately.
Knowledge check
Knowledge check · 3 questions
Q1. Which storage approach best supports live migration across all cluster nodes?
Q2. A single Proxmox cluster can use multiple storage backends simultaneously.
Q3. Which command migrates a VM disk between storage backends while the VM runs?
Passing score: 75%. Answers are checked in this browser.