Proxmox Storage: ZFS, Ceph & LVM - Which Filesystem?
Timo Wevelsiep•Updated: 29.06.2026Editorial note: Versions, commands and prices may change. Please verify critical steps independently before production use. This guide does not replace individual consulting.
The right storage choice in Proxmox VE depends mainly on whether you run a single server or a cluster. In short: for a single node, ZFS is the best all-round choice (snapshots, compression, checksums, software RAID), and LVM-thin is the lean alternative for setups with little RAM. For a cluster with high availability across three or more nodes, Ceph is the standard because it distributes and shares storage across all nodes. Directory and NFS round things out for ISOs, templates and backups. This article explains the options, their strengths and weaknesses, and gives honest recommendations.
Which filesystem for Proxmox?
Proxmox VE supports several storage types that fall into two broad classes: local storage (available on a single node only) and shared storage (shared across multiple nodes). The decision follows simple logic:
- One server, no high availability: ZFS or LVM-thin.
- Cluster with real HA and shared storage: Ceph (distributed) or external shared storage (NFS, iSCSI).
- Holding ISOs, container templates and backups: Directory or NFS.
The key point: there is no single best filesystem. The question is always which behaviour you need and which hardware you have.
What is ZFS?
ZFS is a combined filesystem and volume manager, and the most feature-rich local storage in Proxmox. It has been the recommended choice for new single-node installations for years. The most important properties:
- Snapshots and clones: Consistent point-in-time copies of VMs and containers in seconds, without doubling storage use. Ideal before updates and for fast clones.
- Replication: ZFS can replicate datasets to another node on an interval via
zfs send/receive. This is the basis for ZFS-based near-HA in Proxmox. - Compression: Enabled by default with
lz4. It often saves space and can even improve performance through fewer physical writes. - Data integrity: ZFS keeps a checksum for every block. That lets it detect silent data corruption (bit-rot) and repair it automatically in redundant pools (mirror, RAIDZ) through self-healing.
- Built-in software RAID: Mirror, RAIDZ1/2/3 without a separate RAID controller.
The trade-off is its RAM appetite: ZFS uses free memory as a read cache (ARC). Since Proxmox VE 8.1, the ARC is capped by default at 10 percent of host RAM, up to 16 GiB, and the cache returns memory to VMs on demand. As a planning rule of thumb, budget roughly 1 GB of extra RAM per 1 TB of data. Two practical rules: ZFS belongs directly on the disks (HBA / IT mode), not behind a hardware RAID controller, and ECC RAM is recommended for maximum integrity.
What is Ceph?
Ceph is a distributed object store integrated into Proxmox VE as hyper-converged shared storage. Instead of keeping data locally on one server, Ceph distributes it, replicated, across all nodes in the cluster. If a node fails, the data remains available on the others. That is exactly what makes Ceph the standard foundation for high availability and HA clusters with Proxmox.
The requirements are considerably higher than for local storage, though:
- At least three nodes. Only from three nodes onward can Ceph distribute data redundantly in a meaningful way. Three is the minimum of fault tolerance; four to five nodes are more robust.
- A fast, dedicated network. At least 10 GbE exclusively for Ceph is recommended; for new installations Proxmox advises 25 GbE or more. Latency and bandwidth directly determine storage performance.
- Multiple drives per node. Each disk becomes an OSD (object storage daemon); more OSDs mean more performance and redundancy.
Ceph is powerful but not a set-and-forget system. A Ceph deployment that is too small or poorly networked is a common cause of performance and stability problems.
What are LVM and LVM-thin?
LVM (Logical Volume Manager) is the classic, proven block storage layer of Linux. Two variants matter in Proxmox:
- LVM (thick): Reserves a volume's full capacity immediately. Robust and simple, but without thin provisioning.
- LVM-thin: Allocates only the blocks actually written (thin provisioning) and supports snapshots and clones. This is the usual choice for VM and container disks and the default on LVM-based installations.
LVM-thin is the lean alternative to ZFS: minimal RAM needs, very robust, predictable performance. What it lacks are checksums against bit-rot and built-in self-healing. Both LVM variants are local and cannot be shared across nodes. New since Proxmox VE 9: classic and shared LVM (for example over iSCSI or Fibre Channel) can create snapshots through qcow2-based volume chains. As of Proxmox VE 9.2 (June 2026) this feature is still a technology preview, however, and not released for critical production data.
Directory and NFS
Directory is file-based storage on an ordinary filesystem. It is always available (the default local storage) and suits ISO images, container templates and backups. VM disks are stored here as qcow2 files, which also support snapshots but can be slower on network storage.
NFS is file-based shared storage: an external NAS or file server that presents the same path to all nodes. NFS enables live migration without a local copy and is a simple shared-storage option when Ceph is not wanted. However, it is a central single point of failure unless the NFS server itself is built redundantly.
Comparison table: ZFS vs Ceph vs LVM vs Directory/NFS
| ZFS | Ceph | LVM-thin | Directory / NFS | |
|---|---|---|---|---|
| Type | Filesystem + volume manager | Distributed object store | Block storage | File storage |
| Shared (cluster) | No (local) | Yes | No (local) | NFS: yes, Directory: no |
| Snapshots | Yes (native) | Yes | Yes | Yes (qcow2) |
| Checksums / self-healing | Yes | Yes | No | No |
| Compression | Yes | Yes | No | Only via qcow2 |
| Software RAID | Yes (mirror, RAIDZ) | Yes (distributed) | No | No |
| RAM needs | High (ARC) | Medium to high | Low | Low |
| Minimum nodes | 1 | 3+ | 1 | 1 (NFS external) |
| Network | uncritical | 10 GbE+ (25 GbE recommended) | uncritical | depends on NAS |
| Fits | single-node all-round | HA cluster | lean single-node | ISOs, templates, backups |
When to use what? Honest recommendations
- Single server, you want comfort and safety: ZFS. Snapshots, compression and checksums pay off daily and before updates. Budget the RAM and use an HBA instead of hardware RAID.
- Single server, little RAM or maximum simplicity: LVM-thin. Robust, frugal, predictable - without the ZFS comfort.
- Cluster of three or more nodes with real HA: Ceph, provided the network keeps up (10 GbE+). Plan for four to five nodes rather than the bare minimum.
- Two-node cluster or small budget with near-HA: ZFS replication. Simpler than Ceph, with the understanding that failover loses the changes since the last replication.
- ISOs, templates, backups: Directory locally or NFS for shared access.
One final, important point: no storage layout replaces a backup. ZFS replication and Ceph mirror mistakes and ransomware too. A separate, ideally offsite backup, for example with encrypted Proxmox backups on a Hetzner Storage Box, remains mandatory.
Operations and support
The storage architecture is the decision with the longest-lasting consequences in a Proxmox setup: it determines performance, data safety, HA capability and later scalability. A mis-sized Ceph deployment or ZFS without RAM planning can only be corrected later with effort. If you are planning the right storage strategy for your environment, optimising an existing setup, or want to hand over operations, we handle design, build and operations. See our page on Proxmox & Private Cloud.
You'd rather not run Proxmox yourself? WZ-IT handles setup, operations and maintenance – GDPR-compliant from Germany.
Frequently Asked Questions
Answers to the most important questions
There is no single best filesystem, only the right choice for your setup. For a single server, ZFS is the best all-round option because it brings snapshots, compression, checksums against bit-rot and software RAID. If you do not need ZFS or have little RAM, LVM-thin is lean and robust. For a cluster with high availability across three or more nodes, Ceph is the standard because it distributes and shares storage across all nodes. Directory and NFS complement this for ISOs, templates and backups.
ZFS uses free RAM as a read cache (ARC) but runs fine with less. Since Proxmox VE 8.1, the ARC is capped by default at 10 percent of host RAM, up to a maximum of 16 GiB, and it returns memory to VMs on demand. A common planning rule of thumb is around 1 GB of extra RAM per 1 TB of data. On servers with very little RAM or hardware without ECC memory, LVM-thin is often the simpler choice.
Ceph needs at least three nodes to distribute data redundantly. Three nodes are the bare minimum of fault tolerance, however. For robust production use, four to five nodes and a dedicated fast storage network (at least 10 GbE, with 25 GbE recommended for new installations) are the safer choice. Below three nodes, Ceph is not an option.
Classic LVM (thick) reserves a volume's full capacity immediately. LVM-thin (thin provisioning) only allocates the blocks actually written and supports efficient snapshots and clones. That makes LVM-thin the usual choice for VM and container disks and the default on LVM-based Proxmox installations. Both are local and cannot be shared across multiple nodes.
LVM-thin has supported snapshots for a long time. With Proxmox VE 9, classic and shared LVM (for example over iSCSI or Fibre Channel) can also create snapshots through qcow2-based volume chains, though as of Proxmox VE 9.2 (June 2026) this is still a technology preview. Snapshot functionality is therefore no longer limited to ZFS and LVM-thin in principle.
No. ZFS manages the disks directly and needs raw access to every drive to handle checksums, self-healing and software RAID correctly. A hardware RAID controller hides the disks and can undermine ZFS protection mechanisms. Use an HBA or IT-mode controller that passes the disks through unchanged.
Ceph is synchronous shared storage and is up to date immediately after a node failure (RPO near zero), but it needs three or more nodes and a fast network. ZFS replication works asynchronously on an interval, works with just two nodes and is simpler, but loses the changes made since the last replication on failover. Use Ceph for maximum data freshness, ZFS replication for lean setups with a tolerated data loss window.
More on Proxmox
- What is Proxmox?
- LXC vs KVM
- Proxmox vs Docker
- Storage: ZFS, Ceph & LVM
- How much does Proxmox cost?
- Proxmox vs VMware
- Migrate from VMware to Proxmox
- Drawbacks & suitability
- Install Proxmox
- Set up Proxmox on Hetzner
- Hardware & sizing
- Upgrade Proxmox VE 8 to 9
- Remove the subscription notice
- Proxmox troubleshooting (coming soon)
- Build an HA cluster with Proxmox
- Cluster networking on Hetzner (vSwitch)
- Cluster networking on OVH (vRack)
- Cluster networking on IONOS (VLAN)
- What is Proxmox Backup Server?
- Proxmox Backup Server offsite (pull architecture)
- Encrypted backups with Hetzner Storage Box
- What is Datacenter Manager?
- What is Mail Gateway?
- Rent a server & hosting







