A Complete Guide to Proxmox Storage Options for Virtual Machines
Choosing the right storage type in Proxmox VE directly impacts reliability, performance and overall efficiency. Proxmox supports a wide range of storage types, and selecting the optimal option can be challenging at first. This guide covers Proxmox storage types, their advantages, use cases and practical recommendations for different environments.
What Is Proxmox Storage?
Proxmox storage is a core component of the Proxmox VE hypervisor. It is used to store virtual disks of virtual machines, enabling hardware-assisted virtualization and portability. Proxmox storage allows you to manage VM files and migrate them between local datastores on a single host or between multiple hosts.
Key Factors to Consider When Choosing Proxmox Storage
When choosing Proxmox storage, take into account the requirements for specific virtual machines. Different VMs have different needs regarding the following parameters.
- Performance. Production VMs, VMs with heavy databases and other workloads with high I/O requirements and low latency demands must run on high-performance storage. For best results, use local SSD-based storage. Other local storage types include LVM, ZFS and local directories.
- Reliability. Production and other critical VMs require reliable storage with redundancy and the ability to back up or replicate data effectively. Use redundant storage for critical VMs to avoid a single point of failure.
- Affordability. Proxmox allows you to use affordable storage types when enterprise-class options are not available or needed. However, always prioritize data protection and business requirements.
- Ease of management. Some storage types require a complex setup that may be justified for VMs with high requirements. VMs used for testing and non-critical operations can run on simpler storage configurations.
- VM disk types. Virtual machines can store their virtual disks as files (the native Proxmox format is QCOW2) or logical volumes, depending on the storage type and configuration.
- Snapshots. The ability to instantly capture the state of a VM disk is essential for backups and testing. Different snapshot mechanisms are available depending on the storage type. ZFS and LVM-Thin offer block-level snapshot capabilities that outperform file-based alternatives.
- Provisioning type. There are two provisioning types: thin and thick provisioning.
- Thin provisioning allows you to save storage space because virtual disks consume only as much space as the data written inside the VM, not the maximum provisioned size. Virtual disks grow as data is written. A related concept is over-provisioning. With this approach, you should monitor free space on datastores carefully; if available space runs out, virtual machines may crash until you free up space and resolve the issue.
- Thick provisioning requires allocating all disk space upfront. Even if a VM disk uses 10% of its provisioned space, the corresponding file or volume consumes 100% of the allocated capacity on the underlying storage. Thick provisioning guarantees sufficient disk space at creation time and beyond, but may result in wasting capacity on the datastore.
When Proxmox storage is configured to store virtual disk files, only the QCOW2 format supports thin provisioning.
- Storage location. Proxmox storage can be local or network-based. Network storage is essential for VM migration, storing installation ISO images, VM templates and VMs in a cluster (with High Availability and Live Migration). Proxmox local storage provides better performance, but VM migration between hosts takes more time.
Overview of Proxmox Storage Types
Proxmox VE supports a wide range of storage types, and almost all of them can store VM disks. The following sections cover each type, its features, advantages and use cases.
Directory
A directory is the simplest type of Proxmox local storage, easy to configure and available on every Proxmox host, even with basic hardware. You need a hard disk drive (HDD) or solid state drive (SSD) with a supported file system to configure a datastore on a directory. For example, an ext4 partition with a directory can serve as storage for virtual disk files, sufficient for non-critical VMs such as test, education or backup workloads.
Directory storage can also be layered on more complex underlying storage, such as hardware RAID, LVM or iSCSI. The directory itself does not provide redundancy, but it inherits redundancy from the underlying storage when available, which makes it suitable for more important VMs. Directory storage supports thin provisioning for virtual disks in the QCOW2 format.
LVM
LVM (Logical Volume Manager) is a native Linux storage type that is highly scalable and can use multiple block devices (physical volumes) to create a logical volume. You can add more block devices to an existing volume to increase capacity even without downtime. Proxmox LVM storage supports snapshots only at the LVM level (a native Linux feature). Redundancy can be configured on the underlying storage or through LVM mirroring (less common).
LVM-Thin
LVM-Thin is the advanced version of Proxmox LVM storage with additional capabilities. It supports thin provisioning for VM disks, as well as snapshots and clones, enabling faster VM deployment. LVM-Thin is an effective option, especially with hardware RAID when you need storage without ZFS overhead.
ZFS
ZFS (Zettabyte File System) is an advanced Proxmox storage option that provides redundancy, high performance and a rich feature set. It supports thin provisioning, Copy-On-Write, block-level snapshots and VM clones. ZFS includes native software RAID and can create mirror (RAID1), RAID-Z and RAID-Z2 arrays.
Native compression (lz4, zstd), integrated replication across Proxmox nodes, checksumming and self-healing for data integrity make ZFS reliable for critical VMs.
ZFS requires more RAM and is more CPU-intensive compared to LVM and other lighter storage types. It supports block (zVol) and file (ZFS filesystem) configurations. ZFS is also a viable option on servers where hardware RAID controllers are not available or are cost-prohibitive. This balance of features makes ZFS one of the most versatile Proxmox storage types for VM disks.
SMB/NFS
SMB and NFS are affordable network-based Proxmox shared storage types that use file shares configured on remote hosts. SMB is the native file sharing protocol in Windows; NFS serves the same role in Linux. Both operate at the file level and are relatively straightforward to configure, making them practical shared storage solutions.
Redundancy is inherited from the dedicated SMB or NFS server (Linux server, Windows Server, FreeNAS/TrueNAS or enterprise NAS). Thin provisioning is supported for QCOW2 virtual disk files.
iSCSI
iSCSI (Internet Small Computer Systems Interface) is a protocol that allows you to connect block storage over the network and work with it similarly to local SCSI storage. Proxmox iSCSI storage can be configured by attaching an iSCSI LUN as an iSCSI target. The storage appears as a raw block device on the Proxmox host.
Redundancy and provisioning (thin or thick) are inherited from the storage array where the iSCSI target is configured. Enterprise SAN systems can serve as Proxmox iSCSI storage.
ZFS over iSCSI
This Proxmox storage type uses iSCSI block storage connected over the network to configure a local ZFS pool on the Proxmox host. Redundancy is configured on the iSCSI target (server) side, while ZFS acts as a single-disk pool on the iSCSI LUN. Because ZFS sees only one block device (the LUN), its multi-disk self-healing capabilities do not apply.
ZFS checksumming still protects data integrity between the Proxmox host and the iSCSI target. If the SAN where the iSCSI target is configured sends corrupted data, ZFS can detect it. Snapshot and cloning features remain available locally. However, this configuration does not enable High Availability in a standard Proxmox cluster because ZFS is only active on the node that mounted the LUN.
This approach increases configuration complexity. For an HA Proxmox cluster, consider NFS or Ceph RBD instead. In a non-cluster setup, using iSCSI LUNs directly with LVM or LVM-Thin is simpler.
RBD (Ceph RBD)
Ceph RBD (RADOS Block Device) is a hyper-converged Proxmox cluster storage designed for scalable environments that require shared storage. Ceph block storage is more complex to deploy than ZFS and other Proxmox storage types.
RBD provides block storage, treating virtual disks as raw, thin-provisioned volumes. This is the recommended method for storing VM disks in Proxmox VE when enterprise-grade cluster storage is needed. Ceph RBD is optimized for high-I/O VM disks with low latency, particularly for random read/write operations. It supports efficient, near-instant block-level snapshots and cloning. A minimum of 3 nodes is required; 5 or more are recommended.
The main features are thin provisioning, true High Availability and highly distributed redundancy (replication) across the cluster nodes.
CephFS
CephFS provides a standard, POSIX-compliant filesystem interface (similar to NFS or a local ext4 drive) layered on top of the Ceph cluster. While Ceph RBD is block storage, CephFS is file storage, allowing you to view, read and write data in files and directories.
NOTE: POSIX (Portable Operating System Interface) is a set of standards derived from UNIX-like systems that enables file system portability across different operating systems.
CephFS supports shared access and multiple Proxmox nodes can access the same file system simultaneously. It can store virtual disk files (QCOW2, RAW), though performance is slightly lower than Ceph RBD due to file system overhead. CephFS requires an additional component, the Metadata Server (MDS), to manage the file structure, adding management complexity compared to RBD.
BTRFS
BTRFS (B-Tree File System) is a modern Copy-On-Write file system natively supported by the Linux kernel. It has been available as an option in Proxmox since version 7.0 for the root file system. BTRFS supports snapshots, software RAID and self-healing via checksums. This storage type remains a technology preview in Proxmox and lacks the deep integration of other native options. For production workloads, more established storage types are recommended.
ESXi
The ESXi storage option connects datastores located on ESXi hosts to a Proxmox host over the network. It is designed for VM migration from ESXi VMFS datastores to Proxmox VE and is not intended for storing Proxmox VMs on VMFS datastores.
The comparison table of Proxmox storage types:
|
Type |
Directory |
LVM |
LVM-Thin |
ZFS |
NFS |
SMB |
iSCSI |
Ceph RBD |
|
Data Type |
File (QCOW2, raw), local |
Block (LV), local/shared |
Block (LV), local |
Block (zVol), local |
File (QCOW 2, raw), shared |
File (QCOW, raw), shared |
Raw block (LUN), shared |
Block (RBD) |
|
Thin Provisioning |
Yes (for qcow2 files) |
No |
Yes |
Yes (native) |
Yes (for QCOW2 files) |
Yes (for QCOW2 files) |
Depends on SAN, NAS or array |
Yes (native) |
|
Snapshots |
Yes (QCOW2) |
Yes |
Good (LV-Thin snapshots) |
Excellent (fast, CoW) |
Yes (QCOW2) |
Yes (QCOW2) |
Depends on SAN/NAS array |
Yes (native) |
|
High Availability |
No |
No |
No |
No (local only) |
Yes |
No |
Yes (requires cluster filesystem) |
Yes (required for VM HA) |
|
Data Integrity |
None (relies on underlying hardware or FS) |
None (relies on hardware) |
None (relies on hardware) |
Excellent (checksumming) |
None (relies on underlying FS) |
None (relies on underlying FS) |
None (relies on SAN/Array) |
Excellent (replication, checksumming) |
|
Performance |
Variable |
High |
High |
Very high |
Moderate (variable) |
Moderate (variable) |
High (depends on network) |
Very high |
|
Complexity |
Ultra low |
Medium |
Medium |
Medium |
Low |
Low |
Medium |
High |
Comparing Proxmox Storage Options
The following sections compare common Proxmox storage options to identify key differences and optimal use cases.
ZFS vs LVM: Performance and reliability
ZFS and LVM are two fundamental Proxmox storage types that deliver high performance as block storage. However, they operate differently and provide different feature sets. ZFS is a combined file system and volume manager focused on data integrity, while LVM is a lightweight volume manager focused on flexibility and low overhead.
ZFS prioritizes data safety and advanced features. It can detect and automatically correct corrupted data using checksums (LVM lacks this capability). While sometimes perceived as resource-heavy, ZFS can be very fast, particularly for reads, due to its efficient Adaptive Replacement Cache (ARC) in system RAM. Built-in RAID functionality provides data redundancy and higher reliability.
LVM is a native Linux volume manager that prioritizes simplicity and speed. It is generally faster in raw I/O benchmarks and places less load on CPU and RAM. Redundancy is achieved through hardware RAID as the underlying storage, which also enables administrators to focus on volume management using familiar Linux tools.
Choose ZFS if data integrity is critical (VMs with databases and other essential server components), if you have sufficient CPU and memory resources and if you want native snapshots, compression and replication in a single tool.
Choose LVM-Thin if you prefer hardware RAID, your Proxmox host has limited RAM and you need an effective solution with minimal overhead that is easy to administer.
Ceph vs NFS: Scalability and management
NFS is a native file sharing protocol in Linux with the advantages of simple configuration and wide compatibility. Configuring Proxmox NFS storage requires a separate NFS server outside the Proxmox environment, but the initial setup is straightforward. Scalability is limited by the capacity and throughput of a single NFS server.
Ceph (RBD) is distributed block storage, unlike NFS, which operates at the file level. Its scalability is linear since you can expand capacity by adding more Proxmox nodes or larger disks to existing nodes. Data is replicated across cluster nodes (3x by default) to avoid a single point of failure. The initial setup is complex, but the entire configuration can be performed directly on Proxmox hosts without external components. CephFS is another Ceph option that operates at the file level.
NFS is well-suited for backups, ISO files, VM templates and VMs with QCOW2 virtual disks that do not require high I/O performance. Ceph is designed for mission-critical VMs with demanding performance requirements. Use Proxmox Ceph storage when maximum IOPS, redundancy and High Availability are needed.
Decision scenarios for clusters, labs and production
Different Proxmox storage types are optimal for different scenarios.
For small production clusters, effective storage options include:
- ZFS with Proxmox replication
- NFS with redundancy (RAID) on NAS or NFS server
For enterprise clusters with more than 3 nodes, storage must support true High Availability. The recommended options are:
- Ceph RBD — distributed block storage with data replicated across all nodes
- iSCSI and Fibre Channel (SAN) — external block storage connected over the network; LVM-Thin can be configured on top of iSCSI LUNs
For lab and test environments, affordable and practical storage types include:
- Directory on ext4, LVM-Thin and other available types
- NFS shares — convenient when a NAS device is available
- LVM-Thin — scalable with low overhead, sufficient for labs and testing
Storage with thin provisioning is recommended for lab and test scenarios.
How to Choose and Manage Proxmox Storage Effectively
The practical recommendations below can help you select the right storage and manage it effectively.
Evaluate your environment and performance needs
Estimate the performance level required for your workloads and evaluate your existing hardware. Based on the results, determine whether the current hardware is sufficient or additional resources are needed to meet the requirements for your Proxmox virtual environments. Define your storage goals, such as performance, redundancy and scalability.
Select the right storage type
Choose the storage type that matches your requirements for VM workloads, feature needs (performance, redundancy) and management complexity. For the highest performance, block storage is generally preferred. When performance requirements are less demanding, file-based storage is the practical choice.
Optimize performance and reliability
Choose Proxmox storage types that support thin provisioning and enable this feature in the configuration. Enable TRIM/Discard for thin storage. If SSD devices are used, enable SSD emulation. Ensure TRIM is regularly run in guest operating systems.
Use snapshots effectively. Block-level storage benefits from block-level snapshots for higher efficiency. Regularly delete old and unnecessary snapshots to maintain performance and reclaim disk space.
Separate critical and non-critical workloads on different storage. Storing ISO images, VM templates and non-critical VMs on slower storage is a standard practice that improves overall performance.
Monitor storage utilization and health
Monitor storage space usage closely, especially with thin-provisioned VM disks. Overprovisioning creates a risk of exhausting the datastore capacity. When free space runs out, VMs will crash and may require recovery.
Monitor disk health on Proxmox hosts, remote storage servers, NAS and SAN devices. If suspicious SMART attributes are detected, consider replacing the affected drive. A disk failure on non-redundant storage can result in data loss. Regular health checks and timely disk replacement help maximize reliability.
Ensure data protection and business continuity
Even the most reliable storage does not guarantee complete data protection. Software glitches, human errors, accidental deletions, ransomware attacks and natural disasters remain risks regardless of storage redundancy. Regular backups are essential to protect your data and avoid data loss and downtime. Combining redundant storage with a consistent backup strategy is the foundation of a reliable datacenter.
Conclusion
The wide range of Proxmox storage options is a significant advantage, but choosing and configuring the right type requires careful planning. Define your requirements for the virtual environment, assess your hardware and select optimal storage for each scenario. Proxmox supports running multiple storage types on the same host, giving you flexibility to match storage to workload needs. Back up your data regularly to prevent data loss, regardless of which storage type you use.