OpenZFS is a high-performance, open-source file system and volume manager engineered for exceptional data integrity, scalability, and advanced storage features. Originally developed by Sun Microsystems for the Solaris OS, it is now maintained by the OpenZFS Project and serves as the industry standard for modern data storage.
- Self-Healing Data: Automatically detects and corrects data corruption in real-timeβno manual fsck required.
- Data Compression & Deduplication: Save space and improve performance with built-in compression algorithms and intelligent data deduplication.
- Copy-on-Write & Snapshots: Create efficient, instant snapshots and clones without data duplication.
- RAID-Z & Pooling: Replace traditional RAID with more robust, flexible volume management using virtual devices.
- Cross-Platform Support: Runs on FreeBSD, Linux, macOS, and other UNIX-like systems.
- Max File Size: Up to 18.44 exabytes (thatβs 18.4 million TB!)
- Max Volume Size: Up to 256 trillion yobibytes (~340 undecillion TB)
- From Homelab to Datacenters: Whether you're backing up a Homelab or running a Datacenter, OpenZFS is built to handle itβreliably and efficiently.
A curated list of high-quality resources includes the best tutorials, tools, cheat sheets, benchmarks, and community resources for OpenZFSβideal for Linux sysadmins, homelab enthusiasts, developers, and enterprise storage architects. Also good for learning, managing, and optimizing OpenZFS.
From πͺπͺ with β€οΈ.
We're community-driven and appreciate your support! Help us build and maintain OpenZFS test hardware by: This project has no sponsors but we accepting donations to purchase hardware for OpenZFS test rig.
You can support us by:
- β Starring this GitHub repository
- π Sharing it with your network
- β Buying us a coffee
- π Donating hardware via our Amazon Wishlist
- π€ Contribution in this repo
We would like to compare performance with same set of hardware components and all the money from "Buy Me a Coffee" will be spent on hardware. Please find more details about in ZFS Performance Test scenario
- Awesome OpenZFS
- Key Features of OpenZFS
- About
- Support us
- π Table of Contents
- Legend
- π Official Resources
- π Tutorials
- π οΈ ZFS tools
- ZFS Cheat Sheets
- Root on ZFS (Linux)
- How to Use OpenZFS on Windows (ZFS on Windows)
- How to Use OpenZFS on macOS (ZFS on Mac)
- How to Use OpenZFS on Raspberry Pi (ZFS on Raspberry Pi)
- How to Use OpenZFS with Kubernetes for Persistent Storage (ZFS on K8S)
- How to Use OpenZFS with Docker for Persistent Storage (ZFS on Docker)
- Other Awesome ZFS
- π§° ZFS troubleshooting
- ZFS vs. other Filesystems
- Books and Presentations
- Videos
- Test scenarios
- License
- Abandoned π
- Monetized π°
- Beta version
β οΈ - Something wrong π
- Higly recommended π
RAIDZ documentation is a variation on RAID-5 that allows for better distribution of parity and eliminates the RAID-5 βwrite holeβ. Data and parity is striped across all disks within a raidz group. RAIDZ is effective for large block sizes and sequential workloads.
dRAID documentation is a variant of RAIDZ that provides integrated distributed hot spares which allows for faster resilvering while retaining the benefits of raidz.
Open ZFS focused on RAID5-like RAIDZ and dRAID. Meanwhile it also support other RAID types like RAID0 and RAID1.
- π ZFS 101
- OpenZFS Topology FAQ: Whatβs a zpool? Whatβs a vdev?
- ZFS Guide for starters and advanced users
- What is ZFS? Why are People Crazy About it?
- 10 Reasons Why ZFS Rocks
- ZFS walkthrough
- ZFS CLI reference
- Aaronβs ZFS Guide: Zpool Best Practices and Caveats
- OpenZFS - the final word in file systems
- Secure External Backup with ZFS Native Encryptionp
- Sending and Receiving ZFS Data
- How to use snapshots, clones and replication in ZFS on Linux
- π ZFS Snapshot Tools
- Efficient ZFS Replication with Snapshots
- Backup storage for thousands of virtual machines using free tools
- Managing and Tracking Storage Performance β OpenZFS Storage Bottlenecks
- 5 Reasons Why Your ZFS Storage Benchmarks Are Wrong
- FreeBSD vs. Linux β Which Operating System to Use for OpenZFS
- ZFS performance results
- ZFS performance considerations
- ZFS RAID vs. Linux mdraid
- A quick-start guide to OpenZFS native encryption
- ZFS handbook - Encryption
- OpenZFS on OS X encryption support
- Tutorial on how to backup encrypted ZFS data on untrusted storage without the need of unlocking it.
- How to install LUKS encrypted Server and enable remote unlocking tutorial
- ZFS RAID types
- Understanding ZFS RAID Levels: Types, Modes, and Configurations
- ZFS RAIDZ vs. traditional RAID
- π ZFS versus RAID
- OpenZFS Capacity Calculator
- ZFS raidz calculator
- ZFS Capacity Calculator
- ZFS / RAIDZ Capacity Calculator (beta)
- π zdb β display ZFS storage pool debugging and consistency information
- π fsck.zfs β dummy ZFS filesystem checker
- π ZED β ZFS Event Daemon
- π zfs_prepare_disk
- π Zyggy - Simple GUI for ZFS administration
- π° Poolsman - Web UI for OpenZFS
- Cockpit ZFS Manager
- π ZFS Commander
β οΈ ZfDash ZFS Management GUI / WEBUI- Terminal UI for inspecting and restoring file history on ZFS snapshots
- ZFS administration tool for Webmin
- ZFS pool monitoring and notification daemon
- Prometheus and ZFS
- Prometheus ZFS exporter
- Zabbix ZFS monitor
- Zabbix template and user parameters to monitor zfs on linux
- Nagios/Icinga plugin to monitor ZFS Pools
- π Nagios plugin to check ZFS pool in the Linux environment
- collectd plugin for ZFS
- bzfs - Backup command line tool
- httm - Interactive, file-level Time Machine-like tool for ZFS
- pyznapv - ZFS snapshot tool
- sanoid - Policy-driven snapshot management and replication tool
- zap - Management of zfs snapshots
- zfs_autobackup - ZFS autobackup is used to periodicly backup ZFS filesystems to other locations
- zfs-autosnapshot - Shell script that takes snapshots
- zfs-auto-snapshot - ZFS Automatic Snapshot Service
- zfs-backup - ZFS backup via zfs send/recv over SSH
- zfs-backup-blob - Backup-tools for ZFS to blob-storage backups
- zfs-backup-manager - Automatic ZFS Backup Management Tool
- zfs_mgmt - Managing zfs snapshots
- zfsnap - Rolling ZFS snapshots
- zfsnap - Rolling ZFS snapshots
- zfs-periodic - Scripts to take zfs snapshots with periodic on FreeBSD
- zfs-prune-snapshots - Remove snapshots from one or more zpools that match given criteria
- zfs-rclone - Script to periodically backup ZFS datasets using rclone
- zfs-remote-mirror - Setting up a remote ZFS mirror
- zfs-replicate - Shell script to manage ZFS snapshot replication locally, or between hosts.
- zfs-snapshot-mgmt - Script for automating ZFS snapshot creation for FreeBSD
- zfstools
- zfs-tool - Tool to help with various zfs tasks, e.g. cleanup snapshots
- zfs-tools - ZFS backup tools
- znapzend - High performance open source ZFS backup with mbuffer and ssh support
- zrep - ZFS replication and failover
- zrepl - ZFS backup & replication solution
- zxfer - Script for managing ZFS snapshot replication
- Simple bash script to rebalance pool data between all mirrors when adding vdevs to a pool
- π "zpool iostats" for humans. Find the slow parts of ZFS pool
- Script to check ZFS replication status
- ZSys - daemon and client for zfs systems
- ZFS Boot Environment manager
- HomeLab setup with ZFS, Docker & Ansible
- ansible-zfs
- ZTop
- π ZFS statistics tool
- Script to load ZFS encryption keys
- zfs-health-check
- shavee - Program to automatically decrypt and mount ZFS datasets using Yubikey HMAC as 2FA or any File on USB/SFTP/HTTPS drive
- A simple script for showing progress bar for ZFS scrub operations
- ZFS Cheat Sheet #1
- π ZFS Cheat Sheet #2
- π ZFS Cheat Sheet #3
- ZFS Cheatsheet + Backups tutorial
- π ZFS tuning cheat sheet
- ZFS RAIDZ Expansion Is Awesome but Has a Small Caveat
Linux kernel have no official ZFS support. This is workaround.
- ZFS Bootloader for root-on-ZFS systems
- Alpine installer with ZFS as root
- Arch Linux - ZFSβfirst installer
- Arch Linux - Root on ZFS
- Debian Bookworm - Root on ZFS
- Fedora Linux - Root on ZFS
- Gentoo Linux - Root on ZFS
- NixOS Linux - Root on ZFS
- openSUSE Linux - Root on ZFS
- Rocky Linux Root on ZFS
- Slackware Linux Root on ZFS
- Ubuntu Linux Root on ZFS
- OpenZFS on OS X
- π An extensive ZFS setup on MacOS
- π ZFS on macOS instructions and scripts
- ZFS OSX Menu Bar widget
-
Sync ZFS backups to an offsite location natively in Kubernetes
-
Automated K8S controller that removes orphaned ZFSVolume CRDs in OpenEBS ZFS environments
- Docker volume plugin for creating persistent volumes as a dedicated zfs dataset
- ZFS snapshotter plugin for containerd
- π iXsystems - ZFS Vdev Reliability
- π iXsystems - ZFS Adaptive Replacement Cache
- π iXsystems - ZFS Copy-on-Write
- π iXsystems - ZFS Snapshots
- π iXsystems - ZFS ZIL and SLOG
- OpenZFS dRAID Presentation
- Cockpit+ZFS Manager plugin
- Top Tools to Recover Data from ZFS Drives. How to Recover Data from ZFS File System
- The BEST Linux filesystem encryption in 2020 ext4 vs btrfs vs zfs vs luks vs gocryptfs comparison
- Explaining ZFS LOG and L2ARC Cache: Do You Need One and How Do They Work?
- Tuesday Tech Tip - ZFS Best Practices
- ZFS Basics - Pools and VDEVs - Testing, Configuration, and Expansion
- ZFS Boot Menu - I put that stuff on everything
- ZFS 101: Leveraging Datasets and Zvols for Better Data Management
- OpenZFS novel algorithms: snapshots, space allocation, RAID-Z - Matt Ahrens
- Lecture on OpenZFS read and write code paths - Matt Ahrens
- OpenZFS Basics by Matt Ahrens and George Wilson
- Software Tools to Read a ZFS Disk in Windows / How to Open a ZFS Disk in Windows
- Project ZeroFault: OpenZFS-Level Safeguards Against Pool Faults
- Understanding ZFS in the Real World: Mistakes Made, Lessons Learned & Future Plans
- Best Practice Architecture for Open-Source Storage using ZFS
- OpenZFS at scale: learning, challenges, and awesome customers by Sam Atkinson
This code is released under the GNU General Public License v3.0. See LICENSE.

