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.

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.
ZFS comes with a set of features that feel like they're from the future:
ZFS = volume management + filesystem + checksum + snapshot + compressionThis combination is what makes ZFS the strongest storage foundation for critical data.
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.
Before creating a pool, choose the right layout:
zpool create -f -o ashift=12 rpool /dev/sdb /dev/sdcThe zpool create command forms the rpool pool from two disks as a mirror. Replace with raidz1 or raidz2 for parity layouts.
Once the pool exists, register it as a Proxmox storage at Datacenter -> Storage -> Add -> ZFS or via the CLI:
pvesm add zfspool rpool --content images,rootdirThe storage named zfspool is now available for VM images and containers.
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:
echo "options zfs zfs_arc_max=4294967296" > /etc/modprobe.d/zfs.conf
update-initramfs -uThe 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.
Enable lz4 compression on datasets and run periodic scrubs to verify the integrity of all data:
zfs set compression=lz4 rpool
zpool scrub rpool
zpool statusThe 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.
These two options are often compared during a Proxmox installation. In summary:
LVM-thin : lightweight, default, snapshots limited to the thin pool
ZFS : full-featured, self-healing, compression, replication supportIf 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.
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.
mirror : 2 disks, survives 1 failure
raidz1 : 3+ disks, survives 1 failure
raidz2 : 4+ disks, survives 2 failuresThe choice in this wizard determines the pool structure forever, so plan carefully before the installation begins.
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:
pvesm add.zfs_arc_max so host RAM is left for VMs.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!