Free and open source · Linux and FreeBSD

ZFS management, made easy

ZFS Assistant makes pools, datasets, snapshots and backups easy to manage, with both a desktop application and a command line tool. Simple to start with, and nothing ZFS offers is out of reach.

Open source under the GPL v3 or later, developed in the open on GitLab.

The Overview page for a pool named tank: health Good (ONLINE), survives 1 disk failure, 40% of 1,000 GiB used, last scrub 9 days ago with no errors, a photos snapshot policy, and buttons to scrub, trim, back up and schedule a scrub.

Why ZFS Assistant

  • Easy to start, complete when you need it

    Simplified management, with each property explained before you change it. Advanced sections for those who want greater control.

  • No surprises

    Show command optionally previews the exact zfs and zpool commands before anything runs. Dangerous actions say what they will destroy, and ask first.

  • Window and terminal agree

    The desktop application and the CLI do the same things with the same words, so you can click on your laptop and script on your server.

Features

Everything ZFS can do, in one place

From the first pool to an off-site backup and the day you need it back. Each page explains what it is about to do, in plain words.

Overview and health

Know your pools are healthy

The Overview page shows health, protection, space, the last scrub, policies and backups for every pool. It tells you how many more disk failures a pool survives, not just whether it is online.

  • A tray icon shows pool health and recent jobs
  • Desktop notifications for new problems, failed jobs and overdue backups
  • Each problem comes with the action that fixes it, such as Scrub now
zfsa status
zfsa status
tank    Good (ONLINE)
  Protection   Survives 2 disk failures
  Space        18.2 TiB used, 25.4 TiB free, 412.0 GiB held by snapshots, 43.6 TiB total (42%)
  ZFS version  OpenZFS 2.1 features; upgrading adds those of OpenZFS 2.2
  Last scrub   12 days ago, no errors
  Snapshots    Policies: nas, received
  Backups      nas → offsite: copying, 42%; nas → truenas: last copy 13 hours ago
  ! Features of OpenZFS 2.2 are available for this pool     zfsa pool upgrade tank

Pools and datasets

Build and run pools with confidence

ZFS Assistant suggests a layout for the disks you pick, and says which disks it will erase, with model and serial, before it touches them.

  • Create, import, export, upgrade and destroy pools
  • Add, replace, attach, detach and remove devices; take checkpoints
  • Pool history and the list of damaged files
  • Create, mount, rename and destroy datasets and volumes
  • Each property explained, with the effect of risky changes shown first
  • Grant and revoke delegated permissions, load and change encryption keys
zfsa pool create
zfsa pool create tank2 ata-WDC_WD80EFZZ-1 ata-WDC_WD80EFZZ-2
Create the pool tank2 as a mirror of 2 disks: 7.3 TiB usable, survives 1 disk failure.
These disks will be erased:
  ata-WDC_WD80EFZZ-1  WD Red Plus 8 TB  (serial WD-CA1)
  ata-WDC_WD80EFZZ-2  WD Red Plus 8 TB  (serial WD-CA2)
To confirm, type the name, tank2: tank2
Created tank2.

Snapshots and restore

Go back in time, the safe way

Pick what to bring back and ZFS Assistant explains each choice before you make it. The safe options keep your current data; the one that can't be undone says so.

  • Take and delete snapshots, and hold the ones that matter
  • Browse a snapshot and see what changed
  • Restore single files and folders, or the whole dataset as a clone
  • Replace a dataset and keep the current data, or roll back
The Restore dialog for tank/photos with four choices: restore single files, restore as a new dataset, replace tank/photos while keeping the current data, and roll back, which destroys newer snapshots.

Automatic snapshots

Automated snapshots, managed retention

A policy takes snapshots of the datasets you check and deletes old ones by your rules. Held snapshots, clone origins and the snapshot a backup still needs are always kept.

  • Snapshots every 15 minutes or on any schedule you choose
  • Week, month and year retention templates, explained in sentences
  • A pruning preview before you save
  • Scheduled scrubs and trims too
A snapshot policy named photos for tank/photos, taking a snapshot every 15 minutes with the 1 month template: keep the last 4, one per hour for 24 hours, one per day for 7 days and one per week for 4 weeks, with a pruning preview below.

Backups

Keep a copy somewhere else

Snapshots protect against mistakes, not against a failed pool, theft or fire. Add a remote and every snapshot is copied there.

  • Copy a policy’s snapshots to another pool or another computer over SSH
  • Protected mode: a restricted key that can’t open a shell, optionally append-only
  • Incremental, resumable copies and encrypted datasets are sent still encrypted
  • Browse a remote’s backups and restore from them
The Backups page before any remote is added: Keep a copy somewhere else, explaining that a backup copies a policy's snapshots to another computer or pool, with Back up a policy and Add remote buttons.

Recovery

A plan for the worst day

The running system can't be replaced while it is in use. ZFS Assistant writes out exactly how to restore it from a USB stick, so you can save the steps before you need them.

  • Step-by-step instructions for the dataset you selected
  • Uses zfsa --local from live media, or plain zpool and zfs commands
  • Keeps the data from before the restore until you are sure
Instructions for restoring rpool/ROOT/default from live media: import the pool under /mnt without mounting, unlock the dataset if encrypted, replace it with the snapshot while keeping the current data, then export the pool, with the equivalent zpool and zfs commands below.

Everything it does

The short list, at a glance.

  • Monitoring

    • A tray icon that monitors pool health and job statuses
    • Notifications of poor health
    • Pool overviews and status
  • Pools and datasets

    • Create, import and destroy pools
    • View and set pool and dataset properties
    • Take checkpoints
    • View pool history
    • Create, mount, modify and destroy datasets
    • Grant and revoke dataset/pool permissions
  • Snapshots

    • Take and delete snapshots
    • Mark snapshots as held
    • Restore, clone and rollback snapshots
    • Restore files and directories from snapshots
  • Schedules

    • Create policies for scheduled snapshot creation, pruning and retention
  • Backups

    • Add remote targets for snapshots
    • Send snapshots to remotes and optionally prune them
  • Command line

    • A CLI with the same functions as the GUI

Command line

Prefer the terminal? So does zfsa.

zfsa does everything the graphical application does, with the same words and the same checks. Use it on a server without a desktop, over SSH, or in scripts.

  • --dry-run on every command that destroys anything
  • --json output and documented exit codes for scripts
  • --local works as root without D-Bus, for live media
  • A manual page for every command
zfsa
zfsa snapshot create tank/photos --name before-cleanup
Took snapshot tank/photos@before-cleanup.

zfsa list tank -r
NAME                  USED    AVAIL  REFER   MOUNTPOINT             SNAPSHOTS  POLICY
tank                  18.2T   25.4T  208K    /tank                  0          -
tank/backups          1.2T    25.4T  192K    /tank/backups          12         received
tank/documents        310G    25.4T  298G    /tank/documents        60         nas
tank/media            9.8T    25.4T  9.7T    /tank/media            30         nas
tank/photos           6.1T    25.4T  5.9T    /tank/photos           61         nas

zfsa policy create photos tank/photos --keep month --every 15m
zfsa backup sync photos:offsite --wait

Open source

Free software, from the first line to the last

Run it anywhere, look inside, and help shape where it goes next.

  • Yours to use, study, change and share

    ZFS Assistant is licensed under the GNU GPL v3 or later. Every part of it, the window, zfsa and the helper, is free software.

  • Built in the open

    The code and the issue tracker are public on GitLab. You can read exactly what the helper does as root before you install it.

  • Made better together

    Bug reports, ideas, code and translations are all welcome. The contributing guide explains how to get started.

Get ZFS Assistant 0.7.0

Two packages: zfs-assistant for the desktop, and zfs-assistant-cli, which it depends on, for zfsa and the helper. Servers can install the CLI package alone. Needs OpenZFS 2.1 or newer, D-Bus and polkit.

  • Debian and UbuntuDebian 13, Ubuntu 24.04 and 26.04 (22.04: CLI only)Package
  • Arch LinuxCurrentPackage
  • FedoraFedora 43Package
  • openSUSE TumbleweedCurrentPackage
  • openSUSE LeapLeap 16.0Package
  • FreeBSDPortsBuild recipe
  • NixOSPackages and a NixOS moduleBuild recipe

Latest news