Learn Proxmox VE - ZFS on Linux (Advanced Filesystem & Storage Pool)
Episode 7 of 21

Learn Proxmox VE - ZFS on Linux (Advanced Filesystem & Storage Pool)

This episode covers why ZFS is highly recommended for Proxmox, how to create and manage ZFS pools with various layouts, and tuning and maintenance such as ARC cache, compression, and scrubs.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Introduction

Among the many storage choices in Proxmox, ZFS is the one professionals favor most. Not without reason: ZFS combines volume management, filesystem, checksumming, snapshots, and compression in one coherent system. Proxmox even offers installation directly on ZFS from the installer wizard.

Episode 7 covers why ZFS is recommended, how to create and manage ZFS pools with various layouts, and then daily tuning and maintenance. By the end of the episode, you'll be able to make smart decisions about when and how to use ZFS.

Key Features

ZFS comes with a set of features that feel like they're from the future:

  • Copy-on-Write (CoW): data is never overwritten directly — new blocks are written first, so old data is always available for recovery.
  • Built-in compression: lz4 compression with almost no overhead.
  • Data integrity: checksums on every block, corruption is detected and can be repaired automatically.
  • Native snapshots: instant snapshots without adding complexity from another layer.
  • RAID-Z self-healing: disk damage can be detected and recovered from parity.
ZFS in one sentence
ZFS = volume management + filesystem + checksum + snapshot + compression

This combination is what makes ZFS the strongest storage foundation for critical data.

ZFS as a VM Storage Backend

In Proxmox, ZFS acts as a storage pool for VM images in a unique way: each VM disk becomes a ZFS dataset or a ZVOL volume. VM snapshots leverage ZFS snapshots directly, and features like replication (episode 12) depend on these ZFS snapshots.

Creating & Managing a ZFS Pool

Pool Layouts: Mirror, RAID-Z1, RAID-Z2

Before creating a pool, choose the right layout:

  • Mirror (RAID1): data is written to two disks at once. One disk can die without data loss.
  • RAID-Z1 (RAID5): one parity disk — survives one disk failure.
  • RAID-Z2 (RAID6): two parity disks — survives two disk failures, recommended for large-capacity disks.
Create a ZFS mirror pool
zpool create -f -o ashift=12 rpool /dev/sdb /dev/sdc

The zpool create command forms the rpool pool from two disks as a mirror. Replace with raidz1 or raidz2 for parity layouts.

Creating a ZFS Storage in Proxmox

Once the pool exists, register it as a Proxmox storage at Datacenter -> Storage -> Add -> ZFS or via the CLI:

Register the pool as a storage
pvesm add zfspool rpool --content images,rootdir

The storage named zfspool is now available for VM images and containers.

ZFS Tuning & Maintenance

Managing the ARC Cache

ZFS uses RAM as a cache called the ARC. The aggressive default value can exhaust host RAM — for Proxmox, limit it so there's room left for VMs:

Limit the ARC cache
echo "options zfs zfs_arc_max=4294967296" > /etc/modprobe.d/zfs.conf
update-initramfs -u

The zfs_arc_max=4294967296 setting limits the ARC to about 4 GB. Adjust it to your total RAM — a common rule is 1 GB of ARC per 4 GB of RAM for VM workloads.

Compression and Scrubs

Enable lz4 compression on datasets and run periodic scrubs to verify the integrity of all data:

Enable compression and run a scrub
zfs set compression=lz4 rpool
zpool scrub rpool
zpool status

The zpool scrub command reads every block, verifies checksums, and repairs corruption when possible. Run it at least once a month and check the results via zpool status.

Info

ZFS capacity planning matters: ZFS recommends leaving about 20 percent free space so performance and snapshot features stay optimal.

ZFS vs LVM-Thin

These two options are often compared during a Proxmox installation. In summary:

  • LVM-thin: simple, lightweight, the default for single disks and small homelabs.
  • ZFS: full-featured, checksumming, compression, and native snapshots — ideal for critical data and multiple disks.
Quick comparison
LVM-thin : lightweight, default, snapshots limited to the thin pool
ZFS      : full-featured, self-healing, compression, replication support

If your hardware has just one disk, LVM-thin is sufficient. If you have several disks or critical data, investing in ZFS is far more valuable. Many administrators eventually move to ZFS as their infrastructure grows.

Starting ZFS at Your Next Installation

The Proxmox installation wizard offers the ZFS (RAID) option right on the storage selection screen. Choose a mirror or RAID-Z layout, select the disks, and Proxmox sets everything up — including a ZFS boot environment that supports rollback.

ZFS layouts in the installation wizard
mirror : 2 disks, survives 1 failure
raidz1 : 3+ disks, survives 1 failure
raidz2 : 4+ disks, survives 2 failures

The choice in this wizard determines the pool structure forever, so plan carefully before the installation begins.

Closing

Episode 7 took you to mastery of ZFS: understanding the CoW, compression, checksumming, and snapshot features, creating pools with mirror or RAID-Z layouts, registering them as Proxmox storage, and maintaining them with ARC tuning and periodic scrubs.

The key takeaways:

  • ZFS unifies volumes, filesystem, checksum, snapshot, and compression.
  • Layouts: mirror survives one disk, RAID-Z1 survives one, RAID-Z2 survives two.
  • Register the ZFS pool as Proxmox storage with pvesm add.
  • Limit the ARC with zfs_arc_max so host RAM is left for VMs.
  • Enable lz4 compression and run scrubs periodically.
  • Leave about 20 percent free space in the pool.

In the next episode, episode 8, we will cover shared storage and Ceph — connecting Proxmox to a NAS via NFS and iSCSI, then understanding Ceph as a hyper-converged distributed storage with OSDs, monitors, and placement groups. Your ZFS is strong; now it's time for data to be shared between nodes!