The High Availability guide covered earlier in this series mentioned Ceph as one option for shared storage across a cluster, without going deep into the setup itself. Ceph storage in Proxmox provides genuinely distributed, redundant storage spread across multiple cluster nodes, forming the shared storage foundation that makes live migration and HA failover actually practical without a separate dedicated storage server.
What Is Ceph?
Ceph is a distributed storage system that pools storage capacity across multiple nodes into a single, redundant storage cluster, with data automatically replicated across different physical nodes according to rules you define. Unlike a traditional NAS acting as a single shared storage server, Ceph’s storage is truly distributed — no single node holds the only copy of any given piece of data, and the cluster continues functioning even if individual nodes fail.
Why Ceph Specifically for Proxmox Clusters
Proxmox includes native Ceph integration, letting you manage the entire Ceph deployment directly through the same web interface used for everything else, without needing to separately learn and manage Ceph’s own tooling independently. This tight integration is a major reason Ceph is the most commonly recommended shared storage option for real multi-node Proxmox clusters pursuing High Availability.
Requirements for a Proxmox Ceph Deployment
- At least 3 nodes – Ceph, like the quorum requirements covered in the earlier HA guide, needs enough nodes to maintain proper redundancy and avoid split-brain scenarios
- Dedicated storage per node – separate drives specifically dedicated to Ceph on each node, distinct from your boot drive and any local-only VM storage
- A fast, low-latency network between nodes – Ceph’s replication traffic between nodes benefits significantly from a dedicated, fast network link; the network bonding or 10GbE options covered in earlier guides become really relevant here rather than optional extras
Installing Ceph on Your Cluster
From the Proxmox web interface:
- Select any node and go to Ceph.
- Click Install Ceph, following the wizard which handles package installation across the cluster.
- Repeat this installation step on each node in your cluster (Proxmox’s wizard streamlines this but still requires running on each node individually).
Creating Monitors and Managers
Ceph requires monitor (MON) and manager (MGR) daemons for cluster coordination, ideally distributed across multiple nodes for redundancy:
- Go to Ceph → Monitor.
- Click Create to add a monitor on each node you want participating in cluster coordination (typically all nodes in a small cluster).
Adding OSDs (Object Storage Daemons)
OSDs are the actual storage-serving components, each corresponding to a physical drive dedicated to Ceph:
- Go to Ceph → OSD.
- Click Create: OSD.
- Select the dedicated drive on that node.
- Repeat across each node’s dedicated Ceph storage drives.
Creating a Storage Pool
Once OSDs are running across your nodes, create a pool defining how data is actually distributed and replicated:
- Go to Ceph → Pools.
- Click Create.
- Set the Size (number of replicas — typically 3 for real redundancy) and Min Size (minimum replicas required for the pool to remain writable during a node failure).
Using the Ceph Pool as VM Storage
Once created, the Ceph pool appears as a standard storage option when creating or migrating VMs, exactly like any other Proxmox storage backend — VMs stored here automatically benefit from Ceph’s replication and distributed redundancy, with their disk data actually available regardless of which specific node the VM itself is currently running on.
How This Enables Live Migration and HA
With VM storage on a Ceph pool rather than node-local storage, live migration () becomes considerably faster and simpler, since only the VM’s memory state needs transferring — the disk data is already accessible from every node via Ceph. This same shared accessibility is exactly what HA failover () depends on to restart a VM on a different node after an unexpected failure.
Monitoring Ceph Health
The Proxmox web interface provides Ceph health status directly under the Ceph section, showing overall cluster health, OSD status, and any warnings requiring attention — worth checking regularly, or integrating into the Grafana/Prometheus monitoring for more comprehensive, historical visibility.
Resource and Complexity Considerations
Ceph is particularly more resource-intensive and operationally complex than simpler shared storage options (NFS, or ZFS replication), and represents real overkill for smaller or simpler homelab clusters. It earns its complexity specifically for clusters pursuing real HA with multiple nodes, where the distributed redundancy and tight Proxmox integration significantly outweigh the added operational overhead.
Final Thoughts
Setting up Ceph storage in Proxmox provides the truly distributed, redundant shared storage foundation that makes live migration and High Availability practical without a separate dedicated NAS or storage server acting as a single point of failure. For a homelab cluster that’s grown to three or more nodes and is really pursuing the HA capabilities , Ceph is the natural, tightly-integrated storage layer tying the entire cluster together.

Leave a Reply