Skip to main content
RunBook Academy

Proxmox VEVII · Shared StorageStorage strategy

SAN vs distributed vs replicated — the decision framework

Advanced⏱ ~16 min

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

Not yet marked complete on this device.

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

ApproachExamplesTopologyStrengthWeakness
SANNetApp, Pure, Dell PowerStore, NimbleShared LUN across nodesHigh IOPS, matureSingle point of failure (the SAN)
DistributedCeph RBD/CephFS, MinIOSoftware-defined, replicatedTolerates node failures, scalesOperational complexity
ReplicatedZFS replication, storage replicationAsync copies to peer nodesSimple, works locallyRecovery 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 complexitySAN (NFS or iSCSI)
Surviving the loss of a node without manual interventionDistributed (Ceph)
Lowest cost and simplest operationsLocal ZFS + PBS backups
Multi-site stretchDistributed with EVPN; or replicated with off-site PBS sync
Compliance with separate storage admin teamSAN (clear separation of concerns)
Avoid vendor lock-inDistributed (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:

FromToMechanism
Local ZFSCeph RBDLive storage migration (qm move-disk)
NFSCeph RBDSame
Ceph RBDNFSSame
Local ZFSLocal 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

  1. Q1. Which storage approach best supports live migration across all cluster nodes?

  2. Q2. A single Proxmox cluster can use multiple storage backends simultaneously.

  3. Q3. Which command migrates a VM disk between storage backends while the VM runs?

Passing score: 75%. Answers are checked in this browser.